LLVMMCJITCompilerOptions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 30 Aug 2016 16:57:29 +0100
changeset 78 7a4c769a9fea
parent 60 146527d8dd66
permissions -rw-r--r--
llvm_c_ext: Improved `LLVMSetMetadata2()` to support also function values ...in addition to instruction values. This is handy to attach data to functions, such as debugging information. Added Smalltalk API for setting metadata nodes on instructions and functions.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     1
"
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     2
    Copyright (C) 2015-now Jan Vrany
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     3
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     4
    This code is not an open-source (yet). You may use this code
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     5
    for your own experiments and projects, given that:
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     6
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     7
    * all modification to the code will be sent to the
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     8
      original author for inclusion in future releases
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     9
    * this is not used in any commercial software
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    10
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    11
    This license is provisional and may (will) change in
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    12
    a future.
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    13
"
12
f98e97fd02ef Package renamed from jv:libllvms to jv:llvm_s
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    14
"{ Package: 'jv:llvm_s' }"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
"{ NameSpace: Smalltalk }"
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    18
Object subclass:#LLVMMCJITCompilerOptions
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    19
	instanceVariableNames:'bytes mm'
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	classVariableNames:''
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	poolDictionaries:''
13
fa967c0e1827 Renamed class categories to begin with LLVM-S
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    22
	category:'LLVM-S-Core'
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
14
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    25
!LLVMMCJITCompilerOptions class methodsFor:'documentation'!
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    26
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    27
copyright
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    28
"
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    29
    Copyright (C) 2015-now Jan Vrany
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    30
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    31
    This code is not an open-source (yet). You may use this code
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    32
    for your own experiments and projects, given that:
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    33
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    34
    * all modification to the code will be sent to the
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    35
      original author for inclusion in future releases
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    36
    * this is not used in any commercial software
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    37
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    38
    This license is provisional and may (will) change in
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    39
    a future.
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    40
"
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    41
! !
c7dea3fcc5a7 Added short README, license.txt and updated copyright information
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    42
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
!LLVMMCJITCompilerOptions class methodsFor:'accessing'!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
56
6640504efbdc Added support for creatiing an LLVMExecutionEngine with custom memory manager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    45
new
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    46
    ^ self basicNew initialize
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
56
6640504efbdc Added support for creatiing an LLVMExecutionEngine with custom memory manager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
    48
    "Created: / 08-02-2016 / 13:53:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    49
    "Modified: / 21-04-2016 / 11:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
sizeof
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    "Returns size of undelaying structure in bytes"
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    ^24
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
! !
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
!LLVMMCJITCompilerOptions methodsFor:'accessing'!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
CodeModel
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    61
    "Returns ;; Line: 3682
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
(enum LLVMCodeModel
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    63
        (value (LLVMCodeModelDefault) 0)
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    64
        (value (LLVMCodeModelJITDefault) 1)
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    65
        (value (LLVMCodeModelSmall) 2)
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    66
        (value (LLVMCodeModelKernel) 3)
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    67
        (value (LLVMCodeModelMedium) 4)
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    68
        (value (LLVMCodeModelLarge) 5) )"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    70
    ^bytes doubleWordAt:1 + 4
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    71
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    72
    "Modified: / 21-04-2016 / 11:46:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
CodeModel: value
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    77
    bytes doubleWordAt:1 + 4 put:value
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    78
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    79
    "Modified: / 21-04-2016 / 11:46:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
EnableFastISel
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    83
    "Returns ;; Line: 1141
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
(typedef 
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    85
        LLVMBool
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    86
                bool)"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    88
    ^bytes at:1 + 12
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    89
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    90
    "Modified: / 21-04-2016 / 11:46:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
EnableFastISel: value
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    95
    bytes at:1 + 12 put:value
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    96
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
    97
    "Modified: / 21-04-2016 / 11:46:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
MCJMM
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   101
    "Returns ;; Line: 3675
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
(typedef 
56
6640504efbdc Added support for creatiing an LLVMExecutionEngine with custom memory manager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   103
        LLVMMCJITMemoryManagerRef
6640504efbdc Added support for creatiing an LLVMExecutionEngine with custom memory manager.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 33
diff changeset
   104
                (pointer-to ;; Line: 4082
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
;; Class: LLVMOpaqueMCJITMemoryManager
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
))"
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   107
    ^ mm
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   109
    "Modified: / 21-04-2016 / 11:45:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
MCJMM: value
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   113
    mm := value.
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   114
    bytes pointerAt:1 + 16 put:value
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   116
    "Modified: / 21-04-2016 / 11:45:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
NoFramePointerElim
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   120
    "Returns ;; Line: 1141
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
(typedef 
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   122
        LLVMBool
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   123
                bool)"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   125
    ^bytes at:1 + 8
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   126
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   127
    "Modified: / 21-04-2016 / 11:46:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
NoFramePointerElim: value
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   132
    bytes at:1 + 8 put:value
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   133
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   134
    "Modified: / 21-04-2016 / 11:46:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
OptLevel
33
feabf14b6c1d Initial support for generating (DWARF) debug info.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
   138
    "Returns unsigned int"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   140
    ^bytes longAt:1 + 0
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   141
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   142
    "Modified: / 21-04-2016 / 11:46:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
!
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
OptLevel: value
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   147
    bytes longAt:1 + 0 put:value
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   148
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   149
    "Modified: / 21-04-2016 / 11:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
! !
38af781b75ab First shot.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
60
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   152
!LLVMMCJITCompilerOptions methodsFor:'converting'!
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   153
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   154
asExternalBytes
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   155
    ^ bytes
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   156
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   157
    "Created: / 21-04-2016 / 11:45:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   158
!
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   159
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   160
getBytes
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   161
    ^ bytes
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   162
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   163
    "Created: / 21-04-2016 / 11:33:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   164
! !
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   165
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   166
!LLVMMCJITCompilerOptions methodsFor:'initialization'!
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   167
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   168
initialize
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   169
    bytes := ExternalBytes new: self class sizeof.
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   170
    LLVM InitializeMCJITCompilerOptions: bytes _: self class sizeof.
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   171
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   172
    "Modified: / 21-04-2016 / 11:33:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   173
! !
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   174
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   175
!LLVMMCJITCompilerOptions class methodsFor:'documentation'!
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   176
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   177
version_HG
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   178
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   179
    ^ '$Changeset: <not expanded> $'
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   180
! !
146527d8dd66 Fixed finalization of MCJIT memory manager / execution engine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   181