LLVMMCJITCompilerOptions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 17 Sep 2015 17:17:56 +0100
changeset 42 23ae490859cd
parent 33 feabf14b6c1d
child 56 6640504efbdc
permissions -rw-r--r--
Fixed LLVMExamples>>example7_factorial_with_debug_info Pass DIFile instead of DICompileUnit to #createTypeFunctionIn:parameterTypes: Fixed #createParameterVariable: - parameters are numbered starting with 1.

"
    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 }"

LLVMObject subclass:#LLVMMCJITCompilerOptions
	instanceVariableNames:''
	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'!

libraryName

    OperatingSystem isUNIXlike ifTrue:[^nil].

    OperatingSystem isMSWINDOWSlike ifTrue:[^nil].

    self error:'Library name for host OS is not known'
!

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) )"

    ^self doubleWordAt:1 + 4
!

CodeModel: value

    self doubleWordAt:1 + 4 put:value
!

EnableFastISel
    "Returns ;; Line: 1141
(typedef 
	LLVMBool
		bool)"

    ^self at:1 + 12
!

EnableFastISel: value

    self at:1 + 12 put:value
!

MCJMM
    "Returns ;; Line: 3675
(typedef 
	LLVMMCJITMemoryManagerRef
		(pointer-to ;; Line: 4082
;; Class: LLVMOpaqueMCJITMemoryManager
))"

    ^self at:1 + 16
!

MCJMM: value

    self at:1 + 16 put:value
!

NoFramePointerElim
    "Returns ;; Line: 1141
(typedef 
	LLVMBool
		bool)"

    ^self at:1 + 8
!

NoFramePointerElim: value

    self at:1 + 8 put:value
!

OptLevel
    "Returns unsigned int"

    ^self longAt:1 + 0
!

OptLevel: value

    self longAt:1 + 0 put:value
! !