Implemented LLVMType>>sizeInBits/sizeInBytes for all data types
...i.e., also for structures, vectors and arrays.
"
Copyright (C) 2015-now Jan Vrany
This code is not an open-source (yet). You may use this code
for your own experiments and projects, given that:
* all modification to the code will be sent to the
original author for inclusion in future releases
* this is not used in any commercial software
This license is provisional and may (will) change in
a future.
"
"{ Package: 'jv:llvm_s' }"
"{ NameSpace: Smalltalk }"
Object subclass:#LLVMMCJITCompilerOptions
instanceVariableNames:'bytes mm'
classVariableNames:''
poolDictionaries:''
category:'LLVM-S-Core'
!
!LLVMMCJITCompilerOptions class methodsFor:'documentation'!
copyright
"
Copyright (C) 2015-now Jan Vrany
This code is not an open-source (yet). You may use this code
for your own experiments and projects, given that:
* all modification to the code will be sent to the
original author for inclusion in future releases
* this is not used in any commercial software
This license is provisional and may (will) change in
a future.
"
! !
!LLVMMCJITCompilerOptions class methodsFor:'accessing'!
new
^ self basicNew initialize
"Created: / 08-02-2016 / 13:53:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 21-04-2016 / 11:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
sizeof
"Returns size of undelaying structure in bytes"
^24
! !
!LLVMMCJITCompilerOptions methodsFor:'accessing'!
CodeModel
"Returns ;; Line: 3682
(enum LLVMCodeModel
(value (LLVMCodeModelDefault) 0)
(value (LLVMCodeModelJITDefault) 1)
(value (LLVMCodeModelSmall) 2)
(value (LLVMCodeModelKernel) 3)
(value (LLVMCodeModelMedium) 4)
(value (LLVMCodeModelLarge) 5) )"
^bytes doubleWordAt:1 + 4
"Modified: / 21-04-2016 / 11:46:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
CodeModel: value
bytes doubleWordAt:1 + 4 put:value
"Modified: / 21-04-2016 / 11:46:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
EnableFastISel
"Returns ;; Line: 1141
(typedef
LLVMBool
bool)"
^bytes at:1 + 12
"Modified: / 21-04-2016 / 11:46:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
EnableFastISel: value
bytes at:1 + 12 put:value
"Modified: / 21-04-2016 / 11:46:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
MCJMM
"Returns ;; Line: 3675
(typedef
LLVMMCJITMemoryManagerRef
(pointer-to ;; Line: 4082
;; Class: LLVMOpaqueMCJITMemoryManager
))"
^ mm
"Modified: / 21-04-2016 / 11:45:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
MCJMM: value
mm := value.
bytes pointerAt:1 + 16 put:value
"Modified: / 21-04-2016 / 11:45:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
NoFramePointerElim
"Returns ;; Line: 1141
(typedef
LLVMBool
bool)"
^bytes at:1 + 8
"Modified: / 21-04-2016 / 11:46:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
NoFramePointerElim: value
bytes at:1 + 8 put:value
"Modified: / 21-04-2016 / 11:46:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
OptLevel
"Returns unsigned int"
^bytes longAt:1 + 0
"Modified: / 21-04-2016 / 11:46:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
OptLevel: value
bytes longAt:1 + 0 put:value
"Modified: / 21-04-2016 / 11:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!LLVMMCJITCompilerOptions methodsFor:'converting'!
asExternalBytes
^ bytes
"Created: / 21-04-2016 / 11:45:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
getBytes
^ bytes
"Created: / 21-04-2016 / 11:33:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!LLVMMCJITCompilerOptions methodsFor:'initialization'!
initialize
bytes := ExternalBytes new: self class sizeof.
LLVM InitializeMCJITCompilerOptions: bytes _: self class sizeof.
"Modified: / 21-04-2016 / 11:33:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!LLVMMCJITCompilerOptions class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !