LLVMMCJITCompilerOptions.st
changeset 60 146527d8dd66
parent 56 6640504efbdc
--- a/LLVMMCJITCompilerOptions.st	Thu Apr 21 08:42:39 2016 +0100
+++ b/LLVMMCJITCompilerOptions.st	Thu Apr 21 09:50:02 2016 +0100
@@ -15,8 +15,8 @@
 
 "{ NameSpace: Smalltalk }"
 
-ExternalBytes variableByteSubclass:#LLVMMCJITCompilerOptions
-	instanceVariableNames:''
+Object subclass:#LLVMMCJITCompilerOptions
+	instanceVariableNames:'bytes mm'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'LLVM-S-Core'
@@ -43,19 +43,10 @@
 !LLVMMCJITCompilerOptions class methodsFor:'accessing'!
 
 new
-    ^ self new: self sizeof
+    ^ self basicNew initialize
 
     "Created: / 08-02-2016 / 13:53:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-new: size
-    | options |
-    self assert: size == self sizeof.
-    options := super new: size.
-    LLVM InitializeMCJITCompilerOptions: options _: size.
-    ^ options
-
-    "Created: / 08-02-2016 / 13:53:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 21-04-2016 / 11:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 sizeof
@@ -69,33 +60,41 @@
 CodeModel
     "Returns ;; Line: 3682
 (enum LLVMCodeModel
-	(value (LLVMCodeModelDefault) 0)
-	(value (LLVMCodeModelJITDefault) 1)
-	(value (LLVMCodeModelSmall) 2)
-	(value (LLVMCodeModelKernel) 3)
-	(value (LLVMCodeModelMedium) 4)
-	(value (LLVMCodeModelLarge) 5) )"
+        (value (LLVMCodeModelDefault) 0)
+        (value (LLVMCodeModelJITDefault) 1)
+        (value (LLVMCodeModelSmall) 2)
+        (value (LLVMCodeModelKernel) 3)
+        (value (LLVMCodeModelMedium) 4)
+        (value (LLVMCodeModelLarge) 5) )"
 
-    ^self doubleWordAt:1 + 4
+    ^bytes doubleWordAt:1 + 4
+
+    "Modified: / 21-04-2016 / 11:46:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 CodeModel: value
 
-    self doubleWordAt:1 + 4 put: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)"
+        LLVMBool
+                bool)"
 
-    ^self at:1 + 12
+    ^bytes at:1 + 12
+
+    "Modified: / 21-04-2016 / 11:46:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 EnableFastISel: value
 
-    self at:1 + 12 put:value
+    bytes at:1 + 12 put:value
+
+    "Modified: / 21-04-2016 / 11:46:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 MCJMM
@@ -105,40 +104,78 @@
                 (pointer-to ;; Line: 4082
 ;; Class: LLVMOpaqueMCJITMemoryManager
 ))"
+    ^ mm
 
-    ^self pointerAt:1 + 16
-
-    "Modified: / 08-02-2016 / 13:57:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 21-04-2016 / 11:45:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 MCJMM: value
-    self pointerAt:1 + 16 put:value
+    mm := value.
+    bytes pointerAt:1 + 16 put:value
 
-    "Modified: / 08-02-2016 / 13:57:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 21-04-2016 / 11:45:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 NoFramePointerElim
     "Returns ;; Line: 1141
 (typedef 
-	LLVMBool
-		bool)"
+        LLVMBool
+                bool)"
 
-    ^self at:1 + 8
+    ^bytes at:1 + 8
+
+    "Modified: / 21-04-2016 / 11:46:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 NoFramePointerElim: value
 
-    self at:1 + 8 put: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"
 
-    ^self longAt:1 + 0
+    ^bytes longAt:1 + 0
+
+    "Modified: / 21-04-2016 / 11:46:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 OptLevel: value
 
-    self longAt:1 + 0 put: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> $'
+! !
+