Initial work on LLVM-based C1 compiler
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 12 Feb 2016 11:51:14 +0000
changeset 17 54798ae989cc
parent 16 6575d09a52b5
child 18 81ed8ce0852f
child 19 51a3540a2a10
Initial work on LLVM-based C1 compiler
CompiledCodeObjectSection.st
Make.proto
VMOffsets.st
asm/AJAssembler.st
asm/AJCallArgument.st
asm/AJCallCleanup.st
asm/AJCallInfo.st
asm/AJCdeclCallInfo.st
asm/AJConstants.st
asm/AJGeneratedCode.st
asm/AJInstruction.st
asm/AJInstructionDecoration.st
asm/AJJumpInstruction.st
asm/AJJumpLabel.st
asm/AJLineStream.st
asm/AJReleaseTemps.st
asm/AJRoutineEpilogue.st
asm/AJRoutineStackManager.st
asm/AJStackInstruction.st
asm/AJx64Instruction.st
asm/AJx64InstructionDescription.st
asm/AJx64JumpInstruction.st
asm/AJx86Instruction.st
asm/AJx86InstructionDescription.st
asm/AJx86JumpInstruction.st
asm/Make.proto
asm/bc.mak
asm/libInit.cc
bc.mak
bmake.bat
c1/DragonFly__C1Compiler.st
c1/DragonFly__C1CompilerTests.st
c1/DragonFly__C1LLVMMCJITMemoryManager.st
c1/DragonFly__C1LLVMMTypes.st
c1/Make.proto
c1/Make.spec
c1/abbrev.stc
c1/bc.mak
c1/bmake.bat
c1/jv_dragonfly_c1.st
c1/libInit.cc
c1/mingwmake.bat
c1/vcmake.bat
jv_dragonfly.st
libInit.cc
mingwmake.bat
udis86sx/Make.proto
udis86sx/bc.mak
udis86sx/bmake.bat
udis86sx/libInit.cc
udis86sx/mingwmake.bat
udis86sx/vcmake.bat
vcmake.bat
--- a/CompiledCodeObjectSection.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/CompiledCodeObjectSection.st	Fri Feb 12 11:51:14 2016 +0000
@@ -265,11 +265,11 @@
     ^ (self newInspector2Tab)
         label:'Assembly';
         priority:36;
-        text:[ String streamContents: [ :s | UDIS86 disassemble: self pc: self address on: s ] ];
+        text:[ String streamContents: [ :s | (Smalltalk at: #UDIS86) disassemble: self pc: self address on: s ] ];
         yourself
 
     "Created: / 11-12-2015 / 14:11:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 11-12-2015 / 21:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-04-2016 / 21:19:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !CompiledCodeObjectSection methodsFor:'printing & storing'!
--- a/Make.proto	Sun Feb 07 10:16:55 2016 +0000
+++ b/Make.proto	Fri Feb 12 11:51:14 2016 +0000
@@ -21,7 +21,7 @@
 INCLUDE_TOP=$(TOP)/..
 
 # subdirectories where targets are to be made:
-SUBDIRS= udis86sx
+SUBDIRS= udis86sx c1
 
 
 # subdirectories where Makefiles are to be made:
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/dragonfly/udis86sx -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp
 
 
 # if you need any additional defines for embedded C code,
@@ -101,7 +101,7 @@
 
 # build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
-	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
@@ -121,12 +121,12 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)CompiledCodeObject.$(O) CompiledCodeObject.$(H): CompiledCodeObject.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)CompiledCodeObjectSectionFormat.$(O) CompiledCodeObjectSectionFormat.$(H): CompiledCodeObjectSectionFormat.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)VMOffsets.$(O) VMOffsets.$(H): VMOffsets.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)jv_dragonfly.$(O) jv_dragonfly.$(H): jv_dragonfly.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
-$(OUTDIR)CompiledCodeObjectSection.$(O) CompiledCodeObjectSection.$(H): CompiledCodeObjectSection.st $(INCLUDE_TOP)/jv/dragonfly/CompiledCodeObjectSectionFormat.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
-$(OUTDIR)VMData.$(O) VMData.$(H): VMData.st $(INCLUDE_TOP)/jv/dragonfly/VMOffsets.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
+$(OUTDIR)CompiledCodeObject.$(O) CompiledCodeObject.$(C) CompiledCodeObject.$(H): CompiledCodeObject.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)CompiledCodeObjectSectionFormat.$(O) CompiledCodeObjectSectionFormat.$(C) CompiledCodeObjectSectionFormat.$(H): CompiledCodeObjectSectionFormat.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
+$(OUTDIR)VMOffsets.$(O) VMOffsets.$(C) VMOffsets.$(H): VMOffsets.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
+$(OUTDIR)jv_dragonfly.$(O) jv_dragonfly.$(C) jv_dragonfly.$(H): jv_dragonfly.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)CompiledCodeObjectSection.$(O) CompiledCodeObjectSection.$(C) CompiledCodeObjectSection.$(H): CompiledCodeObjectSection.st $(INCLUDE_TOP)/jv/dragonfly/CompiledCodeObjectSectionFormat.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
+$(OUTDIR)VMData.$(O) VMData.$(C) VMData.$(H): VMData.st $(INCLUDE_TOP)/jv/dragonfly/VMOffsets.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
 $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/VMOffsets.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/VMOffsets.st	Fri Feb 12 11:51:14 2016 +0000
@@ -34,14 +34,30 @@
 		OFFS_jmp_SEND7 OFFS_jmp_SEND8 OFFS_jmp_SEND9 OFFS_jmp_SEND10
 		OFFS_jmp_SEND11 OFFS_jmp_SEND12 OFFS_jmp_SEND13 OFFS_jmp_SEND14
 		OFFS_jmp_SEND15 OFFS_jmp_SENDN OFFS_jmp__ySTACK_HANDLER__
-		OFFS_jmp__ySTACK_HANDLER_U__ OFFS_jmp__ySTACK_HANDLER_N__'
+		OFFS_jmp__ySTACK_HANDLER_U__ OFFS_jmp__ySTACK_HANDLER_N__
+		OBJFUNCArgIndexReceiver OBJFUNCArgIndexSelector
+		OBJFUNCArgIndexSearchClass OBJFUNCArgIndexILC
+		OBJFUNCArgIndexArgBase OBJFUNCArgIndexArg1'
 	poolDictionaries:''
 	category:'System-Compiler-Interface'
 !
 
+
 !VMOffsets class methodsFor:'class initialization'!
 
 initialize
+   self initializeC.
+   OBJFUNCArgIndexReceiver := 1.
+   OBJFUNCArgIndexSelector := 2.
+   OBJFUNCArgIndexSearchClass := 3.
+   OBJFUNCArgIndexILC := 4.
+   OBJFUNCArgIndexArgBase := OBJFUNCArgIndexILC.
+   OBJFUNCArgIndexArg1 := OBJFUNCArgIndexArgBase + 1.
+
+    "Modified: / 20-04-2016 / 20:00:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+initializeC
 %{
     @global(VMOffsets:SIZEOF_CONTEXTHEADER) = __MKINT(SIZEOF_CONTEXTHEADER);
     @global(VMOffsets:SIZEOF_CONPRIVATE) = __MKINT(SIZEOF_CONPRIVATE);
@@ -148,5 +164,12 @@
     "Created: / 25-01-2016 / 14:20:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!VMOffsets class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
 
 VMOffsets initialize!
--- a/asm/AJAssembler.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJAssembler.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,6 +9,3 @@
 	category:'AsmJit-Core'
 !
 
-AJAssembler comment:''
-!
-
--- a/asm/AJCallArgument.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJCallArgument.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-StackManagement'
 !
 
-AJCallArgument comment:''
-!
-
 !AJCallArgument methodsFor:'accessing'!
 
 instructionName
--- a/asm/AJCallCleanup.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJCallCleanup.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-StackManagement'
 !
 
-AJCallCleanup comment:''
-!
-
 !AJCallCleanup methodsFor:'accessing'!
 
 name
--- a/asm/AJCallInfo.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJCallInfo.st	Fri Feb 12 11:51:14 2016 +0000
@@ -10,9 +10,6 @@
 	category:'AsmJit-StackManagement'
 !
 
-AJCallInfo comment:''
-!
-
 !AJCallInfo class methodsFor:'instance creation'!
 
 new
--- a/asm/AJCdeclCallInfo.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJCdeclCallInfo.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-StackManagement'
 !
 
-AJCdeclCallInfo comment:''
-!
-
 !AJCdeclCallInfo methodsFor:'accessing'!
 
 defaultArgumentSize
--- a/asm/AJConstants.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJConstants.st	Fri Feb 12 11:51:14 2016 +0000
@@ -24,9 +24,6 @@
 	category:'AsmJit-Core'
 !
 
-AJConstants comment:''
-!
-
 !AJConstants class methodsFor:'initialization'!
 
 initOpCodes
--- a/asm/AJGeneratedCode.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJGeneratedCode.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-Core'
 !
 
-AJGeneratedCode comment:''
-!
-
 !AJGeneratedCode class methodsFor:'instance creation'!
 
 fromInstructions: instructions
--- a/asm/AJInstruction.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJInstruction.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-Instructions'
 !
 
-AJInstruction comment:''
-!
-
 !AJInstruction class methodsFor:'instance creation'!
 
 new
--- a/asm/AJInstructionDecoration.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJInstructionDecoration.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-Instructions'
 !
 
-AJInstructionDecoration comment:''
-!
-
 !AJInstructionDecoration methodsFor:'accessing'!
 
 end
--- a/asm/AJJumpInstruction.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJJumpInstruction.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-Instructions'
 !
 
-AJJumpInstruction comment:''
-!
-
 !AJJumpInstruction methodsFor:'accessing'!
 
 codeSize
--- a/asm/AJJumpLabel.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJJumpLabel.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,8 +9,6 @@
 	category:'AsmJit-Instructions'
 !
 
-AJJumpLabel comment:''
-!
 
 !AJJumpLabel methodsFor:'accessing'!
 
@@ -64,3 +62,10 @@
     anObject jumpLabel: self
 ! !
 
+!AJJumpLabel class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/asm/AJLineStream.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJLineStream.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-Extension'
 !
 
-AJLineStream comment:''
-!
-
 !AJLineStream class methodsFor:'instance creation'!
 
 on: aWriteStream 
--- a/asm/AJReleaseTemps.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJReleaseTemps.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-StackManagement'
 !
 
-AJReleaseTemps comment:''
-!
-
 !AJReleaseTemps methodsFor:'accessing'!
 
 count
--- a/asm/AJRoutineEpilogue.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJRoutineEpilogue.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,6 +9,3 @@
 	category:'AsmJit-Instructions'
 !
 
-AJRoutineEpilogue comment:''
-!
-
--- a/asm/AJRoutineStackManager.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJRoutineStackManager.st	Fri Feb 12 11:51:14 2016 +0000
@@ -10,9 +10,6 @@
 	category:'AsmJit-StackManagement'
 !
 
-AJRoutineStackManager comment:''
-!
-
 !AJRoutineStackManager class methodsFor:'instance creation'!
 
 new
--- a/asm/AJStackInstruction.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJStackInstruction.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-StackManagement'
 !
 
-AJStackInstruction comment:''
-!
-
 !AJStackInstruction methodsFor:'accessing'!
 
 callInfo
--- a/asm/AJx64Instruction.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJx64Instruction.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-x86-Instructions'
 !
 
-AJx64Instruction comment:''
-!
-
 !AJx64Instruction methodsFor:'accessing'!
 
 instructionDesciptions
--- a/asm/AJx64InstructionDescription.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJx64InstructionDescription.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-x86-Instructions'
 !
 
-AJx64InstructionDescription comment:''
-!
-
 !AJx64InstructionDescription methodsFor:'code emitting'!
 
 emitalu: emitter operand1: op1 operand2: op2 operand3: op3
--- a/asm/AJx64JumpInstruction.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJx64JumpInstruction.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-x86-Instructions'
 !
 
-AJx64JumpInstruction comment:''
-!
-
 !AJx64JumpInstruction methodsFor:'accessing'!
 
 instructionDesciptions
--- a/asm/AJx86Instruction.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJx86Instruction.st	Fri Feb 12 11:51:14 2016 +0000
@@ -11,9 +11,6 @@
 	category:'AsmJit-x86-Instructions'
 !
 
-AJx86Instruction comment:''
-!
-
 !AJx86Instruction methodsFor:'accessing'!
 
 description
--- a/asm/AJx86InstructionDescription.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJx86InstructionDescription.st	Fri Feb 12 11:51:14 2016 +0000
@@ -17,9 +17,6 @@
 "
 !
 
-AJx86InstructionDescription comment:''
-!
-
 !AJx86InstructionDescription class methodsFor:'initialization'!
 
 at: instructionName
--- a/asm/AJx86JumpInstruction.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/AJx86JumpInstruction.st	Fri Feb 12 11:51:14 2016 +0000
@@ -9,9 +9,6 @@
 	category:'AsmJit-x86-Instructions'
 !
 
-AJx86JumpInstruction comment:''
-!
-
 
 !AJx86JumpInstruction methodsFor:'accessing'!
 
--- a/asm/Make.proto	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/Make.proto	Fri Feb 12 11:51:14 2016 +0000
@@ -101,7 +101,7 @@
 
 # build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
-	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
@@ -121,47 +121,47 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)AJAssembler.$(O) AJAssembler.$(H): AJAssembler.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJCallInfo.$(O) AJCallInfo.$(H): AJCallInfo.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJConstants.$(O) AJConstants.$(H): AJConstants.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)AJGeneratedCode.$(O) AJGeneratedCode.$(H): AJGeneratedCode.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJInstruction.$(O) AJInstruction.$(H): AJInstruction.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJLineStream.$(O) AJLineStream.$(H): AJLineStream.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJRoutineStackManager.$(O) AJRoutineStackManager.$(H): AJRoutineStackManager.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)jv_dragonfly_asm.$(O) jv_dragonfly_asm.$(H): jv_dragonfly_asm.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
-$(OUTDIR)AJAlignmentInstruction.$(O) AJAlignmentInstruction.$(H): AJAlignmentInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJCdeclCallInfo.$(O) AJCdeclCallInfo.$(H): AJCdeclCallInfo.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJCallInfo.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJData.$(O) AJData.$(H): AJData.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJInstructionDecoration.$(O) AJInstructionDecoration.$(H): AJInstructionDecoration.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJJumpInstruction.$(O) AJJumpInstruction.$(H): AJJumpInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJJumpLabel.$(O) AJJumpLabel.$(H): AJJumpLabel.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJOperand.$(O) AJOperand.$(H): AJOperand.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJReleaseTemps.$(O) AJReleaseTemps.$(H): AJReleaseTemps.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJReserveTemp.$(O) AJReserveTemp.$(H): AJReserveTemp.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJRoutineEpilogue.$(O) AJRoutineEpilogue.$(H): AJRoutineEpilogue.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJRoutinePrologue.$(O) AJRoutinePrologue.$(H): AJRoutinePrologue.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJStackInstruction.$(O) AJStackInstruction.$(H): AJStackInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJStdCallCallInfo.$(O) AJStdCallCallInfo.$(H): AJStdCallCallInfo.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJCallInfo.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86Instruction.$(O) AJx86Instruction.$(H): AJx86Instruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86Registers.$(O) AJx86Registers.$(H): AJx86Registers.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
-$(OUTDIR)AJBaseReg.$(O) AJBaseReg.$(H): AJBaseReg.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJCallArgument.$(O) AJCallArgument.$(H): AJCallArgument.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJStackInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJCallCleanup.$(O) AJCallCleanup.$(H): AJCallCleanup.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJStackInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJImmediate.$(O) AJImmediate.$(H): AJImmediate.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJMem.$(O) AJMem.$(H): AJMem.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64Instruction.$(O) AJx64Instruction.$(H): AJx64Instruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Instruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86Assembler.$(O) AJx86Assembler.$(H): AJx86Assembler.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJAssembler.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86InstructionDescription.$(O) AJx86InstructionDescription.$(H): AJx86InstructionDescription.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86JumpInstruction.$(O) AJx86JumpInstruction.$(H): AJx86JumpInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJJumpInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJMMRegister.$(O) AJMMRegister.$(H): AJMMRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJRegister.$(O) AJRegister.$(H): AJRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64Assembler.$(O) AJx64Assembler.$(H): AJx64Assembler.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJAssembler.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Assembler.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64InstructionDescription.$(O) AJx64InstructionDescription.$(H): AJx64InstructionDescription.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86InstructionDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64JumpInstruction.$(O) AJx64JumpInstruction.$(H): AJx64JumpInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJJumpInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86JumpInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx87Register.$(O) AJx87Register.$(H): AJx87Register.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJxMMRegister.$(O) AJxMMRegister.$(H): AJxMMRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86GPRegister.$(O) AJx86GPRegister.$(H): AJx86GPRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJRegister.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64RipRegister.$(O) AJx64RipRegister.$(H): AJx64RipRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJRegister.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86GPRegister.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJAssembler.$(O) AJAssembler.$(C) AJAssembler.$(H): AJAssembler.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJCallInfo.$(O) AJCallInfo.$(C) AJCallInfo.$(H): AJCallInfo.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJConstants.$(O) AJConstants.$(C) AJConstants.$(H): AJConstants.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
+$(OUTDIR)AJGeneratedCode.$(O) AJGeneratedCode.$(C) AJGeneratedCode.$(H): AJGeneratedCode.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJInstruction.$(O) AJInstruction.$(C) AJInstruction.$(H): AJInstruction.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJLineStream.$(O) AJLineStream.$(C) AJLineStream.$(H): AJLineStream.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJRoutineStackManager.$(O) AJRoutineStackManager.$(C) AJRoutineStackManager.$(H): AJRoutineStackManager.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)jv_dragonfly_asm.$(O) jv_dragonfly_asm.$(C) jv_dragonfly_asm.$(H): jv_dragonfly_asm.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)AJAlignmentInstruction.$(O) AJAlignmentInstruction.$(C) AJAlignmentInstruction.$(H): AJAlignmentInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJCdeclCallInfo.$(O) AJCdeclCallInfo.$(C) AJCdeclCallInfo.$(H): AJCdeclCallInfo.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJCallInfo.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJData.$(O) AJData.$(C) AJData.$(H): AJData.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJInstructionDecoration.$(O) AJInstructionDecoration.$(C) AJInstructionDecoration.$(H): AJInstructionDecoration.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJJumpInstruction.$(O) AJJumpInstruction.$(C) AJJumpInstruction.$(H): AJJumpInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJJumpLabel.$(O) AJJumpLabel.$(C) AJJumpLabel.$(H): AJJumpLabel.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJOperand.$(O) AJOperand.$(C) AJOperand.$(H): AJOperand.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJReleaseTemps.$(O) AJReleaseTemps.$(C) AJReleaseTemps.$(H): AJReleaseTemps.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJReserveTemp.$(O) AJReserveTemp.$(C) AJReserveTemp.$(H): AJReserveTemp.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJRoutineEpilogue.$(O) AJRoutineEpilogue.$(C) AJRoutineEpilogue.$(H): AJRoutineEpilogue.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJRoutinePrologue.$(O) AJRoutinePrologue.$(C) AJRoutinePrologue.$(H): AJRoutinePrologue.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJStackInstruction.$(O) AJStackInstruction.$(C) AJStackInstruction.$(H): AJStackInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJStdCallCallInfo.$(O) AJStdCallCallInfo.$(C) AJStdCallCallInfo.$(H): AJStdCallCallInfo.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJCallInfo.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86Instruction.$(O) AJx86Instruction.$(C) AJx86Instruction.$(H): AJx86Instruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86Registers.$(O) AJx86Registers.$(C) AJx86Registers.$(H): AJx86Registers.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
+$(OUTDIR)AJBaseReg.$(O) AJBaseReg.$(C) AJBaseReg.$(H): AJBaseReg.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJCallArgument.$(O) AJCallArgument.$(C) AJCallArgument.$(H): AJCallArgument.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJStackInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJCallCleanup.$(O) AJCallCleanup.$(C) AJCallCleanup.$(H): AJCallCleanup.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJStackInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJImmediate.$(O) AJImmediate.$(C) AJImmediate.$(H): AJImmediate.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJMem.$(O) AJMem.$(C) AJMem.$(H): AJMem.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64Instruction.$(O) AJx64Instruction.$(C) AJx64Instruction.$(H): AJx64Instruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Instruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86Assembler.$(O) AJx86Assembler.$(C) AJx86Assembler.$(H): AJx86Assembler.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJAssembler.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86InstructionDescription.$(O) AJx86InstructionDescription.$(C) AJx86InstructionDescription.$(H): AJx86InstructionDescription.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86JumpInstruction.$(O) AJx86JumpInstruction.$(C) AJx86JumpInstruction.$(H): AJx86JumpInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJJumpInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJMMRegister.$(O) AJMMRegister.$(C) AJMMRegister.$(H): AJMMRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJRegister.$(O) AJRegister.$(C) AJRegister.$(H): AJRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64Assembler.$(O) AJx64Assembler.$(C) AJx64Assembler.$(H): AJx64Assembler.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJAssembler.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Assembler.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64InstructionDescription.$(O) AJx64InstructionDescription.$(C) AJx64InstructionDescription.$(H): AJx64InstructionDescription.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86InstructionDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64JumpInstruction.$(O) AJx64JumpInstruction.$(C) AJx64JumpInstruction.$(H): AJx64JumpInstruction.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJJumpInstruction.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86JumpInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx87Register.$(O) AJx87Register.$(C) AJx87Register.$(H): AJx87Register.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJxMMRegister.$(O) AJxMMRegister.$(C) AJxMMRegister.$(H): AJxMMRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86GPRegister.$(O) AJx86GPRegister.$(C) AJx86GPRegister.$(H): AJx86GPRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJRegister.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64RipRegister.$(O) AJx64RipRegister.$(C) AJx64RipRegister.$(H): AJx64RipRegister.st $(INCLUDE_TOP)/jv/dragonfly/asm/AJBaseReg.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJOperand.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJRegister.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86GPRegister.$(H) $(INCLUDE_TOP)/jv/dragonfly/asm/AJx86Registers.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/Boolean.$(H) $(INCLUDE_TOP)/stx/libbasic/False.$(H) $(INCLUDE_TOP)/stx/libbasic/Integer.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/PeekableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/PositionableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/Stream.$(H) $(INCLUDE_TOP)/stx/libbasic/True.$(H) $(INCLUDE_TOP)/stx/libbasic/WriteStream.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/asm/bc.mak	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/bc.mak	Fri Feb 12 11:51:14 2016 +0000
@@ -68,47 +68,47 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)AJAssembler.$(O) AJAssembler.$(H): AJAssembler.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJCallInfo.$(O) AJCallInfo.$(H): AJCallInfo.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJConstants.$(O) AJConstants.$(H): AJConstants.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)AJGeneratedCode.$(O) AJGeneratedCode.$(H): AJGeneratedCode.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJInstruction.$(O) AJInstruction.$(H): AJInstruction.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJLineStream.$(O) AJLineStream.$(H): AJLineStream.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJRoutineStackManager.$(O) AJRoutineStackManager.$(H): AJRoutineStackManager.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)jv_dragonfly_asm.$(O) jv_dragonfly_asm.$(H): jv_dragonfly_asm.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
-$(OUTDIR)AJAlignmentInstruction.$(O) AJAlignmentInstruction.$(H): AJAlignmentInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJCdeclCallInfo.$(O) AJCdeclCallInfo.$(H): AJCdeclCallInfo.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJCallInfo.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJData.$(O) AJData.$(H): AJData.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJInstructionDecoration.$(O) AJInstructionDecoration.$(H): AJInstructionDecoration.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJJumpInstruction.$(O) AJJumpInstruction.$(H): AJJumpInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJJumpLabel.$(O) AJJumpLabel.$(H): AJJumpLabel.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJOperand.$(O) AJOperand.$(H): AJOperand.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJReleaseTemps.$(O) AJReleaseTemps.$(H): AJReleaseTemps.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJReserveTemp.$(O) AJReserveTemp.$(H): AJReserveTemp.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJRoutineEpilogue.$(O) AJRoutineEpilogue.$(H): AJRoutineEpilogue.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJRoutinePrologue.$(O) AJRoutinePrologue.$(H): AJRoutinePrologue.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJStackInstruction.$(O) AJStackInstruction.$(H): AJStackInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJStdCallCallInfo.$(O) AJStdCallCallInfo.$(H): AJStdCallCallInfo.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJCallInfo.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86Instruction.$(O) AJx86Instruction.$(H): AJx86Instruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86Registers.$(O) AJx86Registers.$(H): AJx86Registers.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)AJBaseReg.$(O) AJBaseReg.$(H): AJBaseReg.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJCallArgument.$(O) AJCallArgument.$(H): AJCallArgument.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJStackInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJCallCleanup.$(O) AJCallCleanup.$(H): AJCallCleanup.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJStackInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJImmediate.$(O) AJImmediate.$(H): AJImmediate.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJMem.$(O) AJMem.$(H): AJMem.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64Instruction.$(O) AJx64Instruction.$(H): AJx64Instruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Instruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86Assembler.$(O) AJx86Assembler.$(H): AJx86Assembler.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJAssembler.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86InstructionDescription.$(O) AJx86InstructionDescription.$(H): AJx86InstructionDescription.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86JumpInstruction.$(O) AJx86JumpInstruction.$(H): AJx86JumpInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJJumpInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJMMRegister.$(O) AJMMRegister.$(H): AJMMRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJRegister.$(O) AJRegister.$(H): AJRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64Assembler.$(O) AJx64Assembler.$(H): AJx64Assembler.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJAssembler.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Assembler.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64InstructionDescription.$(O) AJx64InstructionDescription.$(H): AJx64InstructionDescription.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86InstructionDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64JumpInstruction.$(O) AJx64JumpInstruction.$(H): AJx64JumpInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJJumpInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86JumpInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx87Register.$(O) AJx87Register.$(H): AJx87Register.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJxMMRegister.$(O) AJxMMRegister.$(H): AJxMMRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx86GPRegister.$(O) AJx86GPRegister.$(H): AJx86GPRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJRegister.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)AJx64RipRegister.$(O) AJx64RipRegister.$(H): AJx64RipRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJRegister.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86GPRegister.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJAssembler.$(O) AJAssembler.$(C) AJAssembler.$(H): AJAssembler.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJCallInfo.$(O) AJCallInfo.$(C) AJCallInfo.$(H): AJCallInfo.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJConstants.$(O) AJConstants.$(C) AJConstants.$(H): AJConstants.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
+$(OUTDIR)AJGeneratedCode.$(O) AJGeneratedCode.$(C) AJGeneratedCode.$(H): AJGeneratedCode.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJInstruction.$(O) AJInstruction.$(C) AJInstruction.$(H): AJInstruction.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJLineStream.$(O) AJLineStream.$(C) AJLineStream.$(H): AJLineStream.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJRoutineStackManager.$(O) AJRoutineStackManager.$(C) AJRoutineStackManager.$(H): AJRoutineStackManager.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)jv_dragonfly_asm.$(O) jv_dragonfly_asm.$(C) jv_dragonfly_asm.$(H): jv_dragonfly_asm.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)AJAlignmentInstruction.$(O) AJAlignmentInstruction.$(C) AJAlignmentInstruction.$(H): AJAlignmentInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJCdeclCallInfo.$(O) AJCdeclCallInfo.$(C) AJCdeclCallInfo.$(H): AJCdeclCallInfo.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJCallInfo.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJData.$(O) AJData.$(C) AJData.$(H): AJData.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJInstructionDecoration.$(O) AJInstructionDecoration.$(C) AJInstructionDecoration.$(H): AJInstructionDecoration.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJJumpInstruction.$(O) AJJumpInstruction.$(C) AJJumpInstruction.$(H): AJJumpInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJJumpLabel.$(O) AJJumpLabel.$(C) AJJumpLabel.$(H): AJJumpLabel.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJOperand.$(O) AJOperand.$(C) AJOperand.$(H): AJOperand.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJReleaseTemps.$(O) AJReleaseTemps.$(C) AJReleaseTemps.$(H): AJReleaseTemps.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJReserveTemp.$(O) AJReserveTemp.$(C) AJReserveTemp.$(H): AJReserveTemp.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJRoutineEpilogue.$(O) AJRoutineEpilogue.$(C) AJRoutineEpilogue.$(H): AJRoutineEpilogue.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJRoutinePrologue.$(O) AJRoutinePrologue.$(C) AJRoutinePrologue.$(H): AJRoutinePrologue.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJStackInstruction.$(O) AJStackInstruction.$(C) AJStackInstruction.$(H): AJStackInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJStdCallCallInfo.$(O) AJStdCallCallInfo.$(C) AJStdCallCallInfo.$(H): AJStdCallCallInfo.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJCallInfo.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86Instruction.$(O) AJx86Instruction.$(C) AJx86Instruction.$(H): AJx86Instruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86Registers.$(O) AJx86Registers.$(C) AJx86Registers.$(H): AJx86Registers.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
+$(OUTDIR)AJBaseReg.$(O) AJBaseReg.$(C) AJBaseReg.$(H): AJBaseReg.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJCallArgument.$(O) AJCallArgument.$(C) AJCallArgument.$(H): AJCallArgument.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJStackInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJCallCleanup.$(O) AJCallCleanup.$(C) AJCallCleanup.$(H): AJCallCleanup.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJStackInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJImmediate.$(O) AJImmediate.$(C) AJImmediate.$(H): AJImmediate.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJMem.$(O) AJMem.$(C) AJMem.$(H): AJMem.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64Instruction.$(O) AJx64Instruction.$(C) AJx64Instruction.$(H): AJx64Instruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Instruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86Assembler.$(O) AJx86Assembler.$(C) AJx86Assembler.$(H): AJx86Assembler.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJAssembler.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86InstructionDescription.$(O) AJx86InstructionDescription.$(C) AJx86InstructionDescription.$(H): AJx86InstructionDescription.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86JumpInstruction.$(O) AJx86JumpInstruction.$(C) AJx86JumpInstruction.$(H): AJx86JumpInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJJumpInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJMMRegister.$(O) AJMMRegister.$(C) AJMMRegister.$(H): AJMMRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJRegister.$(O) AJRegister.$(C) AJRegister.$(H): AJRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64Assembler.$(O) AJx64Assembler.$(C) AJx64Assembler.$(H): AJx64Assembler.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJAssembler.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Assembler.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64InstructionDescription.$(O) AJx64InstructionDescription.$(C) AJx64InstructionDescription.$(H): AJx64InstructionDescription.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86InstructionDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64JumpInstruction.$(O) AJx64JumpInstruction.$(C) AJx64JumpInstruction.$(H): AJx64JumpInstruction.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJJumpInstruction.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86JumpInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx87Register.$(O) AJx87Register.$(C) AJx87Register.$(H): AJx87Register.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJConstants.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJxMMRegister.$(O) AJxMMRegister.$(C) AJxMMRegister.$(H): AJxMMRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx86GPRegister.$(O) AJx86GPRegister.$(C) AJx86GPRegister.$(H): AJx86GPRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJRegister.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)AJx64RipRegister.$(O) AJx64RipRegister.$(C) AJx64RipRegister.$(H): AJx64RipRegister.st $(INCLUDE_TOP)\jv\dragonfly\asm\AJBaseReg.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJOperand.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJRegister.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86GPRegister.$(H) $(INCLUDE_TOP)\jv\dragonfly\asm\AJx86Registers.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\ArithmeticValue.$(H) $(INCLUDE_TOP)\stx\libbasic\Boolean.$(H) $(INCLUDE_TOP)\stx\libbasic\False.$(H) $(INCLUDE_TOP)\stx\libbasic\Integer.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Number.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\PeekableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PositionableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\Stream.$(H) $(INCLUDE_TOP)\stx\libbasic\True.$(H) $(INCLUDE_TOP)\stx\libbasic\WriteStream.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/asm/libInit.cc	Sun Feb 07 10:16:55 2016 +0000
+++ b/asm/libInit.cc	Fri Feb 12 11:51:14 2016 +0000
@@ -16,59 +16,102 @@
 DLL_EXPORT void _libjv_dragonfly_asm_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-void _libjv_dragonfly_asm_InitDefinition(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libjv_dragonfly_asm__DFN", _libjv_dragonfly_asm_InitDefinition, "jv:dragonfly/asm");
-_jv_137dragonfly_137asm_Init(pass,__pRT__,snd);
+extern void _AJAssembler_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJCallInfo_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJConstants_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJGeneratedCode_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJInstruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJLineStream_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJRoutineStackManager_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _jv_137dragonfly_137asm_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJAlignmentInstruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJCdeclCallInfo_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJData_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJInstructionDecoration_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJJumpInstruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJJumpLabel_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJOperand_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJReleaseTemps_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJReserveTemp_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJRoutineEpilogue_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJRoutinePrologue_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJStackInstruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJStdCallCallInfo_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx86Instruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx86Registers_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJBaseReg_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJCallArgument_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJCallCleanup_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJImmediate_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJMem_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx64Instruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx86Assembler_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx86InstructionDescription_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx86JumpInstruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJMMRegister_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJRegister_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx64Assembler_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx64InstructionDescription_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx64JumpInstruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx87Register_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJxMMRegister_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx86GPRegister_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _AJx64RipRegister_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 
-__END_PACKAGE__();
+
+void _libjv_dragonfly_asm_InitDefinition(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("libjv_dragonfly_asm__DFN", _libjv_dragonfly_asm_InitDefinition, "jv:dragonfly/asm");
+    _jv_137dragonfly_137asm_Init(pass,__pRT__,snd);
+
+  __END_PACKAGE__();
 }
 
-void _libjv_dragonfly_asm_Init(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libjv_dragonfly_asm", _libjv_dragonfly_asm_Init, "jv:dragonfly/asm");
-_AJAssembler_Init(pass,__pRT__,snd);
-_AJCallInfo_Init(pass,__pRT__,snd);
-_AJConstants_Init(pass,__pRT__,snd);
-_AJGeneratedCode_Init(pass,__pRT__,snd);
-_AJInstruction_Init(pass,__pRT__,snd);
-_AJLineStream_Init(pass,__pRT__,snd);
-_AJRoutineStackManager_Init(pass,__pRT__,snd);
-_jv_137dragonfly_137asm_Init(pass,__pRT__,snd);
-_AJAlignmentInstruction_Init(pass,__pRT__,snd);
-_AJCdeclCallInfo_Init(pass,__pRT__,snd);
-_AJData_Init(pass,__pRT__,snd);
-_AJInstructionDecoration_Init(pass,__pRT__,snd);
-_AJJumpInstruction_Init(pass,__pRT__,snd);
-_AJJumpLabel_Init(pass,__pRT__,snd);
-_AJOperand_Init(pass,__pRT__,snd);
-_AJReleaseTemps_Init(pass,__pRT__,snd);
-_AJReserveTemp_Init(pass,__pRT__,snd);
-_AJRoutineEpilogue_Init(pass,__pRT__,snd);
-_AJRoutinePrologue_Init(pass,__pRT__,snd);
-_AJStackInstruction_Init(pass,__pRT__,snd);
-_AJStdCallCallInfo_Init(pass,__pRT__,snd);
-_AJx86Instruction_Init(pass,__pRT__,snd);
-_AJx86Registers_Init(pass,__pRT__,snd);
-_AJBaseReg_Init(pass,__pRT__,snd);
-_AJCallArgument_Init(pass,__pRT__,snd);
-_AJCallCleanup_Init(pass,__pRT__,snd);
-_AJImmediate_Init(pass,__pRT__,snd);
-_AJMem_Init(pass,__pRT__,snd);
-_AJx64Instruction_Init(pass,__pRT__,snd);
-_AJx86Assembler_Init(pass,__pRT__,snd);
-_AJx86InstructionDescription_Init(pass,__pRT__,snd);
-_AJx86JumpInstruction_Init(pass,__pRT__,snd);
-_AJMMRegister_Init(pass,__pRT__,snd);
-_AJRegister_Init(pass,__pRT__,snd);
-_AJx64Assembler_Init(pass,__pRT__,snd);
-_AJx64InstructionDescription_Init(pass,__pRT__,snd);
-_AJx64JumpInstruction_Init(pass,__pRT__,snd);
-_AJx87Register_Init(pass,__pRT__,snd);
-_AJxMMRegister_Init(pass,__pRT__,snd);
-_AJx86GPRegister_Init(pass,__pRT__,snd);
-_AJx64RipRegister_Init(pass,__pRT__,snd);
+void _libjv_dragonfly_asm_Init(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("libjv_dragonfly_asm", _libjv_dragonfly_asm_Init, "jv:dragonfly/asm");
+    _AJAssembler_Init(pass,__pRT__,snd);
+    _AJCallInfo_Init(pass,__pRT__,snd);
+    _AJConstants_Init(pass,__pRT__,snd);
+    _AJGeneratedCode_Init(pass,__pRT__,snd);
+    _AJInstruction_Init(pass,__pRT__,snd);
+    _AJLineStream_Init(pass,__pRT__,snd);
+    _AJRoutineStackManager_Init(pass,__pRT__,snd);
+    _jv_137dragonfly_137asm_Init(pass,__pRT__,snd);
+    _AJAlignmentInstruction_Init(pass,__pRT__,snd);
+    _AJCdeclCallInfo_Init(pass,__pRT__,snd);
+    _AJData_Init(pass,__pRT__,snd);
+    _AJInstructionDecoration_Init(pass,__pRT__,snd);
+    _AJJumpInstruction_Init(pass,__pRT__,snd);
+    _AJJumpLabel_Init(pass,__pRT__,snd);
+    _AJOperand_Init(pass,__pRT__,snd);
+    _AJReleaseTemps_Init(pass,__pRT__,snd);
+    _AJReserveTemp_Init(pass,__pRT__,snd);
+    _AJRoutineEpilogue_Init(pass,__pRT__,snd);
+    _AJRoutinePrologue_Init(pass,__pRT__,snd);
+    _AJStackInstruction_Init(pass,__pRT__,snd);
+    _AJStdCallCallInfo_Init(pass,__pRT__,snd);
+    _AJx86Instruction_Init(pass,__pRT__,snd);
+    _AJx86Registers_Init(pass,__pRT__,snd);
+    _AJBaseReg_Init(pass,__pRT__,snd);
+    _AJCallArgument_Init(pass,__pRT__,snd);
+    _AJCallCleanup_Init(pass,__pRT__,snd);
+    _AJImmediate_Init(pass,__pRT__,snd);
+    _AJMem_Init(pass,__pRT__,snd);
+    _AJx64Instruction_Init(pass,__pRT__,snd);
+    _AJx86Assembler_Init(pass,__pRT__,snd);
+    _AJx86InstructionDescription_Init(pass,__pRT__,snd);
+    _AJx86JumpInstruction_Init(pass,__pRT__,snd);
+    _AJMMRegister_Init(pass,__pRT__,snd);
+    _AJRegister_Init(pass,__pRT__,snd);
+    _AJx64Assembler_Init(pass,__pRT__,snd);
+    _AJx64InstructionDescription_Init(pass,__pRT__,snd);
+    _AJx64JumpInstruction_Init(pass,__pRT__,snd);
+    _AJx87Register_Init(pass,__pRT__,snd);
+    _AJxMMRegister_Init(pass,__pRT__,snd);
+    _AJx86GPRegister_Init(pass,__pRT__,snd);
+    _AJx64RipRegister_Init(pass,__pRT__,snd);
 
-_jv_137dragonfly_137asm_extensions_Init(pass,__pRT__,snd);
-__END_PACKAGE__();
+    _jv_137dragonfly_137asm_extensions_Init(pass,__pRT__,snd);
+  __END_PACKAGE__();
 }
--- a/bc.mak	Sun Feb 07 10:16:55 2016 +0000
+++ b/bc.mak	Fri Feb 12 11:51:14 2016 +0000
@@ -35,7 +35,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\dragonfly\udis86sx -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -68,12 +68,12 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)CompiledCodeObject.$(O) CompiledCodeObject.$(H): CompiledCodeObject.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)CompiledCodeObjectSectionFormat.$(O) CompiledCodeObjectSectionFormat.$(H): CompiledCodeObjectSectionFormat.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)VMOffsets.$(O) VMOffsets.$(H): VMOffsets.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
-$(OUTDIR)jv_dragonfly.$(O) jv_dragonfly.$(H): jv_dragonfly.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
-$(OUTDIR)CompiledCodeObjectSection.$(O) CompiledCodeObjectSection.$(H): CompiledCodeObjectSection.st $(INCLUDE_TOP)\jv\dragonfly\CompiledCodeObjectSectionFormat.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
-$(OUTDIR)VMData.$(O) VMData.$(H): VMData.st $(INCLUDE_TOP)\jv\dragonfly\VMOffsets.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
+$(OUTDIR)CompiledCodeObject.$(O) CompiledCodeObject.$(C) CompiledCodeObject.$(H): CompiledCodeObject.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)CompiledCodeObjectSectionFormat.$(O) CompiledCodeObjectSectionFormat.$(C) CompiledCodeObjectSectionFormat.$(H): CompiledCodeObjectSectionFormat.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
+$(OUTDIR)VMOffsets.$(O) VMOffsets.$(C) VMOffsets.$(H): VMOffsets.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
+$(OUTDIR)jv_dragonfly.$(O) jv_dragonfly.$(C) jv_dragonfly.$(H): jv_dragonfly.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)CompiledCodeObjectSection.$(O) CompiledCodeObjectSection.$(C) CompiledCodeObjectSection.$(H): CompiledCodeObjectSection.st $(INCLUDE_TOP)\jv\dragonfly\CompiledCodeObjectSectionFormat.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
+$(OUTDIR)VMData.$(O) VMData.$(C) VMData.$(H): VMData.st $(INCLUDE_TOP)\jv\dragonfly\VMOffsets.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
 $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/bmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/bmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -10,11 +10,22 @@
 
 make.exe -N -f bc.mak  %DEFINES% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
+
 @echo "***********************************"
-@echo "Buildung jv/dragonfly/udis86sx"
+@echo "Building jv/dragonfly/udis86sx
 @echo "***********************************"
 @pushd udis86sx
 @call bmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
+@echo "***********************************"
+@echo "Building jv/dragonfly/c1
+@echo "***********************************"
+@pushd c1
+@call bmake %1 %2 || exit /b "%errorlevel%"
+@popd
 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/c1/DragonFly__C1Compiler.st	Fri Feb 12 11:51:14 2016 +0000
@@ -0,0 +1,176 @@
+"{ Package: 'jv:dragonfly/c1' }"
+
+"{ NameSpace: DragonFly }"
+
+Object subclass:#C1Compiler
+	instanceVariableNames:'method module function asm prologue epilogue'
+	classVariableNames:'SelectorSpecialCharMappingTable'
+	poolDictionaries:'DragonFly::C1LLVMMTypes LLVMIntPredicate VMData VMOffsets'
+	category:'DragonFly-C1'
+!
+
+!C1Compiler class methodsFor:'class initialization'!
+
+initialize
+    "Invoked at system start or when the class is dynamically loaded."
+
+    "/ please change as required (and remove this comment)
+
+    SelectorSpecialCharMappingTable := Dictionary withKeysAndValues:
+                #($+ 'pl'
+                  $- 'mi'
+                  $* 'mu'
+                  $/ 'di'
+                  $, 'co'
+                  $@ 'at'
+                  $< 'le'
+                  $> 'gr'
+                  $= 'eq'
+                  $~ 'ne'
+                  $| 'pi'
+                  $\ 'mo'
+                  $& 'am').
+
+    "Created: / 09-02-2016 / 08:43:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!C1Compiler class methodsFor:'compilation'!
+
+compile: method
+    ^ self new compile: method
+
+    "Created: / 09-02-2016 / 08:47:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!C1Compiler class methodsFor:'utilities'!
+
+functionNameForClass: class selector: selector      
+    "For given class name and selector, returns the name 
+     used by LLVM"
+
+    ^ String streamContents:[ :s|
+        s nextPutAll: '__M_D_'.
+        s nextPutAll: (class name copyReplaceAll: $: with: $_).
+        s nextPut: $_.
+        selector isBinarySelector ifTrue:[ 
+            selector do:[:c |     
+                s nextPutAll: (SelectorSpecialCharMappingTable at: c)
+            ].
+        ] ifFalse:[ 
+            selector do:[:c |  
+                c isAlphaNumeric ifTrue:[ 
+                    s nextPut: c 
+                ] ifFalse:[
+                    s nextPut: $_.
+                    c == $: ifFalse:[ 
+                        c codePoint printOn: s.
+                    ]
+                ].
+            ]
+        ].
+    ].
+
+    "
+    C1Compiler functionNameForClass: C1Compiler selector: #functionNameForClass:selector: 
+    C1Compiler functionNameForClass: SmallInteger selector: #+
+    C1Compiler functionNameForClass: Object selector: #~=
+    C1Compiler functionNameForClass: JavaVM selector: #_ALOAD:
+
+    "
+
+    "Created: / 09-02-2016 / 08:44:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!C1Compiler methodsFor:'compilation'!
+
+compile: aMethod
+    | name |
+    method := aMethod.
+    name := self class functionNameForClass: method mclass ? UndefinedObject selector: method selector ? '<unbound>'.
+    module := LLVMModule newWithName: name.
+    function := module addFunctionNamed: name type: (TyOBJFUNCs at: method numArgs + 1).
+    asm := LLVMIRBuilder new.
+    self prologue.
+
+    self epilogue.
+
+    "Created: / 09-02-2016 / 08:52:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-04-2016 / 23:38:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!C1Compiler methodsFor:'private'!
+
+epilogue
+    self halt.
+
+    "Created: / 15-04-2016 / 23:38:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+prologue
+    | classOfReceiver classInILC classCheckFailedBlock classCheckPassedBlock classCheck |
+    prologue := function addBasicBlockNamed: 'prologue'.
+    asm block: prologue.
+    classOfReceiver := self fetchClassOf: (function parameterAt: OBJFUNCArgIndexReceiver ).
+    classInILC := self fetchClassFromILC: (function parameterAt: OBJFUNCArgIndexILC ).
+    classCheckFailedBlock := function addBasicBlockNamed: 'prologue.class-check-failed'. 
+    classCheckPassedBlock := function addBasicBlockNamed: 'prologue.class-check-passed'.
+    classCheck := asm icmp: (asm ptr: classOfReceiver toInt: LLVMType intptr)
+                         _: (asm ptr: classInILC toInt: LLVMType intptr)
+                      cond: LLVMIntEQ.
+    asm if: classCheck then: classCheckPassedBlock else: classCheckFailedBlock.
+
+    "/ Class check failed, call _SENDX()"
+    asm block: classCheckFailedBlock.
+
+
+    "/ Classes match, continue.
+    asm block: classCheckPassedBlock.
+
+    "Created: / 09-02-2016 / 17:07:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-04-2016 / 23:45:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!C1Compiler methodsFor:'private-fetch / store'!
+
+fetchClassFromILC: pIlc
+    self assert: pIlc type = TyInlineCachePtr.
+
+    ^ asm load: (asm gep: pIlc at: { 0. TyInlineCacheIndexClass })
+
+    "Created: / 12-02-2016 / 13:19:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-04-2016 / 23:18:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+fetchClassOf:obj 
+    ^ asm 
+        select:(self isSmallIntegerObject:obj)
+        then: self fetchClassSmallInteger
+        else: (asm load: (asm gep:obj at: { 0 . TyInstanceIndexClass })).
+
+    "Created: / 09-02-2016 / 17:25:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-04-2016 / 23:19:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+fetchClassSmallInteger
+    | addr |
+
+    addr := asm int: (LLVMConstant uintptr: ADDR_SmallInteger) toPtr: TyOBJ pointer.
+    ^ asm load: addr.
+
+    "Created: / 12-02-2016 / 11:54:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!C1Compiler methodsFor:'private-testing'!
+
+isSmallIntegerObject: value
+    self assert: value type = TyOBJ.
+    ^ asm icmp: (asm and: (asm ptr: value toInt: LLVMType intptr) _: (LLVMConstant uintptr: 1))
+             _: (LLVMConstant uintptr: 1)
+          cond: LLVMIntEQ
+
+    "Created: / 09-02-2016 / 17:30:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2016 / 11:55:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+
+C1Compiler initialize!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/c1/DragonFly__C1CompilerTests.st	Fri Feb 12 11:51:14 2016 +0000
@@ -0,0 +1,85 @@
+"{ Package: 'jv:dragonfly/c1' }"
+
+"{ NameSpace: DragonFly }"
+
+TestCase subclass:#C1CompilerTests
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:'DragonFly::C1LLVMMTypes LLVMIntPredicate VMData VMOffsets'
+	category:'DragonFly-C1-Tests'
+!
+
+!C1CompilerTests methodsFor:'tests'!
+
+test_fetchClassOf
+    | compiler module function asm jit test |
+
+    compiler := C1Compiler new.
+    module := LLVMModule newWithName: testSelector.
+    function := module addFunctionNamed: 'test'
+                                   type: (LLVMType function: { TyOBJ } returning: TyOBJ).
+    asm := function builder.
+    compiler 
+        instVarNamed: #module put: module;
+        instVarNamed: #function put: function;
+        instVarNamed: #asm put: asm.
+
+    asm ret: (compiler fetchClassOf: (function parameterAt: 1)).
+
+    jit := LLVMExecutionEngine newForModule: module.  
+    test := jit externalOfFunction: function. 
+
+    self assert: (test callOWith: 1) == SmallInteger.
+    self assert: (test callOWith: self) == self class.
+    self assert: (test callOWith: 1.0) == 1.0 class.
+
+    "Created: / 12-02-2016 / 12:27:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_fetchClassSmallInteger
+    | compiler module function asm jit test |
+
+    compiler := C1Compiler new.
+    module := LLVMModule newWithName: testSelector.
+    function := module addFunctionNamed: 'test'
+                                   type: (LLVMType function: { } returning: TyOBJ).
+    asm := function builder.
+    compiler 
+        instVarNamed: #module put: module;
+        instVarNamed: #function put: function;
+        instVarNamed: #asm put: asm.
+
+    asm ret: (compiler fetchClassSmallInteger).
+
+    jit := LLVMExecutionEngine newForModule: module.  
+    test := jit externalOfFunction: function. 
+
+    self assert: (test callO) == SmallInteger.
+
+    "Created: / 12-02-2016 / 12:26:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_isSmallIntegerObject
+    | compiler module function asm jit test |
+
+    compiler := C1Compiler new.
+    module := LLVMModule newWithName: testSelector.
+    function := module addFunctionNamed: 'test'
+                                   type: (LLVMType function: { TyOBJ } returning: LLVMType int1).
+    asm := function builder.
+    compiler 
+        instVarNamed: #module put: module;
+        instVarNamed: #function put: function;
+        instVarNamed: #asm put: asm.
+
+    asm ret: (compiler isSmallIntegerObject: (function parameterAt: 1)).
+
+    jit := LLVMExecutionEngine newForModule: module.  
+    test := jit externalOfFunction: function. 
+
+    self assert: (test callWith: 1) == 1.
+    self assert: (test callWith: self) == 0.
+
+    "Created: / 12-02-2016 / 12:17:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/c1/DragonFly__C1LLVMMCJITMemoryManager.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/DragonFly__C1LLVMMCJITMemoryManager.st	Fri Feb 12 11:51:14 2016 +0000
@@ -2,11 +2,11 @@
 
 "{ NameSpace: DragonFly }"
 
-LLVMDisposableObject subclass:#C1LLVMMCJITMemoryManager
+LLVMMCJITMemoryManager subclass:#C1LLVMMCJITMemoryManager
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'DragonFly-C1-Support'
+	category:'DragonFly-C1'
 !
 
 !C1LLVMMCJITMemoryManager primitiveDefinitions!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/c1/DragonFly__C1LLVMMTypes.st	Fri Feb 12 11:51:14 2016 +0000
@@ -0,0 +1,206 @@
+"{ Package: 'jv:dragonfly/c1' }"
+
+"{ NameSpace: DragonFly }"
+
+SharedPool subclass:#C1LLVMMTypes
+	instanceVariableNames:''
+	classVariableNames:'TyInstance TyInstanceFieldIndexClass TyInstanceFieldIndexSize
+		TyInstanceFieldIndexSpace TyInstanceFieldIndexFlags
+		TyInstanceFieldIndexAge TyInstanceFieldIndexHashLow TyOBJ
+		TyInlineCache TyInlineCacheIndexFunc TyInlineCacheIndexClass
+		TyInlineCacheIndexLineNo TyInlineCachePtr TyOBJFUNC TyOBJFUNCs'
+	poolDictionaries:''
+	category:'DragonFly-C1'
+!
+
+
+!C1LLVMMTypes class methodsFor:'initialization'!
+
+initialize
+    "Invoked at system start or when the class is dynamically loaded."
+
+    "/ please change as required (and remove this comment)
+
+    TyInstance := LLVMType named: '__instance'.
+    TyOBJ := TyInstance pointer.
+    TyInstance elementTypes: {
+        TyOBJ.                      "/ o_class
+        LLVMType int32.             "/ o_size
+        LLVMType int8.              "/ o_space
+        LLVMType int8.              "/ o_flags
+        LLVMType int8.              "/ o_age
+        LLVMType int8.              "/ o_hashLow
+    }.
+    TyInstanceFieldIndexClass := 0.
+    TyInstanceFieldIndexSize := 1.
+    TyInstanceFieldIndexSpace := 2.
+    TyInstanceFieldIndexFlags := 3.
+    TyInstanceFieldIndexAge := 4.
+    TyInstanceFieldIndexHashLow := 5.
+
+    TyInlineCache := LLVMType named: 'inlineCache'.
+    TyInlineCachePtr := TyInlineCache pointer.
+    TyOBJFUNC := LLVMType function: {
+        TyOBJ.                      "/ self
+        TyOBJ.                      "/ selector
+        TyOBJ.                      "/ searchClass or nil
+        TyInlineCachePtr .          "/ pIlc
+    } varargs: true returning: TyOBJ.
+
+    TyInlineCache elementTypes: {
+        TyOBJFUNC pointer .         "/ ilc_func
+        TyOBJ.                      "/ ilc_class
+        TyInlineCachePtr .          "/ ilc_link
+        TyOBJ .                     "/ ilc_lineNo
+        LLVMType char pointer .     "/ ilc_poly
+    }.
+    TyInlineCacheIndexFunc := 0.
+    TyInlineCacheIndexClass := 1.
+    TyInlineCacheIndexLineNo := 3.
+
+    TyOBJFUNCs := {
+        "/ 0 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+        } returning: TyOBJ .
+        "/ 1 args 
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ .
+        } returning: TyOBJ .
+        "/ 2 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ .
+        } returning: TyOBJ .
+        "/ 3 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ .
+        } returning: TyOBJ .
+        "/ 4 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ .
+        } returning: TyOBJ .
+        "/ 5 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ .
+        } returning: TyOBJ .
+        "/ 6 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ .
+        } returning: TyOBJ .
+        "/ 7 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ .
+        } returning: TyOBJ .
+        "/ 8 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
+        } returning: TyOBJ .
+        "/ 9 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
+        } returning: TyOBJ .
+        "/ 10 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
+        } returning: TyOBJ .
+        "/ 11 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
+        } returning: TyOBJ .
+        "/ 12 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
+        } returning: TyOBJ .
+        "/ 13 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
+        } returning: TyOBJ .
+        "/ 14 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ .
+        } returning: TyOBJ .
+        "/ 16 args
+        LLVMType function: {
+            TyOBJ.                      "/ self
+            TyOBJ.                      "/ selector
+            TyOBJ.                      "/ searchClass or nil
+            TyInlineCachePtr .          "/ pIlc
+            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
+        } returning: TyOBJ .
+    }
+
+    "Modified: / 20-04-2016 / 19:57:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!C1LLVMMTypes class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
+
+
+! !
+
+
+C1LLVMMTypes initialize!
--- a/c1/Make.proto	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/Make.proto	Fri Feb 12 11:51:14 2016 +0000
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/llvm_s -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/dragonfly -I$(INCLUDE_TOP)/jv/llvm_s -I$(INCLUDE_TOP)/stx/libbasic
 
 
 # if you need any additional defines for embedded C code,
@@ -101,8 +101,9 @@
 
 # build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
-	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../llvm_s && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	cd ../../llvm_s && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
@@ -122,8 +123,10 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)DragonFly__C1LLVMMCJITMemoryManager.$(O) DragonFly__C1LLVMMCJITMemoryManager.$(H): DragonFly__C1LLVMMCJITMemoryManager.st $(INCLUDE_TOP)/jv/llvm_s/LLVMDisposableObject.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMObject.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)jv_dragonfly_c1.$(O) jv_dragonfly_c1.$(H): jv_dragonfly_c1.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)DragonFly__C1LLVMMCJITMemoryManager.$(O) DragonFly__C1LLVMMCJITMemoryManager.$(C) DragonFly__C1LLVMMCJITMemoryManager.$(H): DragonFly__C1LLVMMCJITMemoryManager.st $(INCLUDE_TOP)/jv/llvm_s/LLVMDisposableObject.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMMCJITMemoryManager.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMObject.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)DragonFly__C1LLVMMTypes.$(O) DragonFly__C1LLVMMTypes.$(C) DragonFly__C1LLVMMTypes.$(H): DragonFly__C1LLVMMTypes.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
+$(OUTDIR)jv_dragonfly_c1.$(O) jv_dragonfly_c1.$(C) jv_dragonfly_c1.$(H): jv_dragonfly_c1.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)DragonFly__C1Compiler.$(O) DragonFly__C1Compiler.$(C) DragonFly__C1Compiler.$(H): DragonFly__C1Compiler.st $(INCLUDE_TOP)/jv/dragonfly/VMData.$(H) $(INCLUDE_TOP)/jv/dragonfly/VMOffsets.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1LLVMMTypes.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMIntPredicate.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/c1/Make.spec	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/Make.spec	Fri Feb 12 11:51:14 2016 +0000
@@ -52,14 +52,18 @@
 
 COMMON_CLASSES= \
 	DragonFly::C1LLVMMCJITMemoryManager \
+	DragonFly::C1LLVMMTypes \
 	jv_dragonfly_c1 \
+	DragonFly::C1Compiler \
 
 
 
 
 COMMON_OBJS= \
     $(OUTDIR_SLASH)DragonFly__C1LLVMMCJITMemoryManager.$(O) \
+    $(OUTDIR_SLASH)DragonFly__C1LLVMMTypes.$(O) \
     $(OUTDIR_SLASH)jv_dragonfly_c1.$(O) \
+    $(OUTDIR_SLASH)DragonFly__C1Compiler.$(O) \
 
 
 
--- a/c1/abbrev.stc	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/abbrev.stc	Fri Feb 12 11:51:14 2016 +0000
@@ -1,5 +1,8 @@
 # automagically generated by the project definition
 # this file is needed for stc to be able to compile modules independently.
 # it provides information about a classes filename, category and especially namespace.
-DragonFly::C1LLVMMCJITMemoryManager DragonFly__C1LLVMMCJITMemoryManager jv:dragonfly/c1 'DragonFly-C1-Support' 0
+DragonFly::C1LLVMMCJITMemoryManager DragonFly__C1LLVMMCJITMemoryManager jv:dragonfly/c1 'DragonFly-C1' 0
+DragonFly::C1LLVMMTypes DragonFly__C1LLVMMTypes jv:dragonfly/c1 'DragonFly-C1' 0
 jv_dragonfly_c1 jv_dragonfly_c1 jv:dragonfly/c1 '* Projects & Packages *' 3
+DragonFly::C1Compiler DragonFly__C1Compiler jv:dragonfly/c1 'DragonFly-C1' 0
+DragonFly::C1CompilerTests DragonFly__C1CompilerTests jv:dragonfly/c1 'DragonFly-C1-Tests' 1
--- a/c1/bc.mak	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/bc.mak	Fri Feb 12 11:51:14 2016 +0000
@@ -35,7 +35,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\llvm_s -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\dragonfly -I$(INCLUDE_TOP)\jv\llvm_s -I$(INCLUDE_TOP)\stx\libbasic
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -52,6 +52,7 @@
 # build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
 	pushd ..\..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd .. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\llvm_s & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
@@ -69,8 +70,10 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)DragonFly__C1LLVMMCJITMemoryManager.$(O) DragonFly__C1LLVMMCJITMemoryManager.$(H): DragonFly__C1LLVMMCJITMemoryManager.st $(INCLUDE_TOP)\jv\llvm_s\LLVMDisposableObject.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMObject.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)jv_dragonfly_c1.$(O) jv_dragonfly_c1.$(H): jv_dragonfly_c1.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)DragonFly__C1LLVMMCJITMemoryManager.$(O) DragonFly__C1LLVMMCJITMemoryManager.$(C) DragonFly__C1LLVMMCJITMemoryManager.$(H): DragonFly__C1LLVMMCJITMemoryManager.st $(INCLUDE_TOP)\jv\llvm_s\LLVMDisposableObject.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMMCJITMemoryManager.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMObject.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)DragonFly__C1LLVMMTypes.$(O) DragonFly__C1LLVMMTypes.$(C) DragonFly__C1LLVMMTypes.$(H): DragonFly__C1LLVMMTypes.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
+$(OUTDIR)jv_dragonfly_c1.$(O) jv_dragonfly_c1.$(C) jv_dragonfly_c1.$(H): jv_dragonfly_c1.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)DragonFly__C1Compiler.$(O) DragonFly__C1Compiler.$(C) DragonFly__C1Compiler.$(H): DragonFly__C1Compiler.st $(INCLUDE_TOP)\jv\dragonfly\VMData.$(H) $(INCLUDE_TOP)\jv\dragonfly\VMOffsets.$(H) $(INCLUDE_TOP)\jv\dragonfly\c1\DragonFly__C1LLVMMTypes.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMIntPredicate.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/c1/bmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/bmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -10,4 +10,8 @@
 
 make.exe -N -f bc.mak  %DEFINES% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
 
+
--- a/c1/jv_dragonfly_c1.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/jv_dragonfly_c1.st	Fri Feb 12 11:51:14 2016 +0000
@@ -30,6 +30,7 @@
      by searching along the inheritance chain of all of my classes."
 
     ^ #(
+        #'jv:dragonfly'    "VMData - shared pool used by DragonFly::C1Compiler"
         #'jv:llvm_s'    "LLVMDisposableObject - superclass of DragonFly::C1LLVMMCJITMemoryManager"
         #'stx:libbasic'    "ExternalAddress - superclass of DragonFly::C1LLVMMCJITMemoryManager"
     )
@@ -49,16 +50,6 @@
     )
 !
 
-subProjects
-    "list packages which are known as subprojects.
-     The generated makefile will enter those and make there as well.
-     However: they are not forced to be loaded when a package is loaded;
-     for those, redefine requiredPrerequisites."
-
-    ^ #(
-    )
-! !
-
 !jv_dragonfly_c1 class methodsFor:'description - contents'!
 
 classNamesAndAttributes
@@ -70,7 +61,10 @@
     ^ #(
         "<className> or (<className> attributes...) in load order"
         #'DragonFly::C1LLVMMCJITMemoryManager'
+        #'DragonFly::C1LLVMMTypes'
         #'jv_dragonfly_c1'
+        #'DragonFly::C1Compiler'
+        (#'DragonFly::C1CompilerTests' autoload)
     )
 !
 
@@ -82,39 +76,4 @@
     )
 ! !
 
-!jv_dragonfly_c1 class methodsFor:'description - project information'!
 
-companyName
-    "Returns a company string which will appear in <lib>.rc.
-     Under win32, this is placed into the dlls file-info"
-
-    ^ 'My Company'
-!
-
-description
-    "Returns a description string which will appear in nt.def / bc.def"
-
-    ^ 'Class Library'
-!
-
-legalCopyright
-    "Returns a copyright string which will appear in <lib>.rc.
-     Under win32, this is placed into the dlls file-info"
-
-    ^ 'My CopyRight or CopyLeft'
-!
-
-productName
-    "Returns a product name which will appear in <lib>.rc.
-     Under win32, this is placed into the dlls file-info.
-     This method is usually redefined in a concrete application definition"
-
-    ^ 'LibraryName'
-! !
-
-!jv_dragonfly_c1 class methodsFor:'documentation'!
-
-version_HG
-    ^ '$Changeset: <not expanded> $'
-! !
-
--- a/c1/libInit.cc	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/libInit.cc	Fri Feb 12 11:51:14 2016 +0000
@@ -16,20 +16,28 @@
 DLL_EXPORT void _libjv_dragonfly_c1_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-void _libjv_dragonfly_c1_InitDefinition(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libjv_dragonfly_c1__DFN", _libjv_dragonfly_c1_InitDefinition, "jv:dragonfly/c1");
-_jv_137dragonfly_137c1_Init(pass,__pRT__,snd);
+extern void _DragonFly__C1LLVMMCJITMemoryManager_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _DragonFly__C1LLVMMTypes_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _jv_137dragonfly_137c1_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _DragonFly__C1Compiler_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+
 
-__END_PACKAGE__();
+void _libjv_dragonfly_c1_InitDefinition(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("libjv_dragonfly_c1__DFN", _libjv_dragonfly_c1_InitDefinition, "jv:dragonfly/c1");
+    _jv_137dragonfly_137c1_Init(pass,__pRT__,snd);
+
+  __END_PACKAGE__();
 }
 
-void _libjv_dragonfly_c1_Init(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libjv_dragonfly_c1", _libjv_dragonfly_c1_Init, "jv:dragonfly/c1");
-_DragonFly__C1LLVMMCJITMemoryManager_Init(pass,__pRT__,snd);
-_jv_137dragonfly_137c1_Init(pass,__pRT__,snd);
+void _libjv_dragonfly_c1_Init(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("libjv_dragonfly_c1", _libjv_dragonfly_c1_Init, "jv:dragonfly/c1");
+    _DragonFly__C1LLVMMCJITMemoryManager_Init(pass,__pRT__,snd);
+    _DragonFly__C1LLVMMTypes_Init(pass,__pRT__,snd);
+    _jv_137dragonfly_137c1_Init(pass,__pRT__,snd);
+    _DragonFly__C1Compiler_Init(pass,__pRT__,snd);
 
 
-__END_PACKAGE__();
+  __END_PACKAGE__();
 }
--- a/c1/mingwmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/mingwmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -13,4 +13,8 @@
 @popd
 make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
 
+
--- a/c1/vcmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/c1/vcmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -17,5 +17,8 @@
 
 make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
 
 
--- a/jv_dragonfly.st	Sun Feb 07 10:16:55 2016 +0000
+++ b/jv_dragonfly.st	Fri Feb 12 11:51:14 2016 +0000
@@ -45,7 +45,6 @@
      by searching all classes (and their packages) which are referenced by my classes."
 
     ^ #(
-        #'jv:dragonfly/udis86sx'    "UDIS86 - referenced by CompiledCodeObjectSection>>inspector2TabAssembly"
         #'stx:libcomp'    "ObjectFileLoader - referenced by VMData class>>initialize"
     )
 !
@@ -58,7 +57,10 @@
 
     ^ #(
         #'jv:dragonfly/udis86sx'
+        #'jv:dragonfly/c1'  
     )
+
+    "Modified: / 20-04-2016 / 21:16:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !jv_dragonfly class methodsFor:'description - contents'!
--- a/libInit.cc	Sun Feb 07 10:16:55 2016 +0000
+++ b/libInit.cc	Fri Feb 12 11:51:14 2016 +0000
@@ -16,24 +16,32 @@
 DLL_EXPORT void _libjv_dragonfly_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-void _libjv_dragonfly_InitDefinition(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libjv_dragonfly__DFN", _libjv_dragonfly_InitDefinition, "jv:dragonfly");
-_jv_137dragonfly_Init(pass,__pRT__,snd);
+extern void _CompiledCodeObject_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _CompiledCodeObjectSectionFormat_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VMOffsets_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _jv_137dragonfly_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _CompiledCodeObjectSection_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VMData_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 
-__END_PACKAGE__();
+
+void _libjv_dragonfly_InitDefinition(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("libjv_dragonfly__DFN", _libjv_dragonfly_InitDefinition, "jv:dragonfly");
+    _jv_137dragonfly_Init(pass,__pRT__,snd);
+
+  __END_PACKAGE__();
 }
 
-void _libjv_dragonfly_Init(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libjv_dragonfly", _libjv_dragonfly_Init, "jv:dragonfly");
-_CompiledCodeObject_Init(pass,__pRT__,snd);
-_CompiledCodeObjectSectionFormat_Init(pass,__pRT__,snd);
-_VMOffsets_Init(pass,__pRT__,snd);
-_jv_137dragonfly_Init(pass,__pRT__,snd);
-_CompiledCodeObjectSection_Init(pass,__pRT__,snd);
-_VMData_Init(pass,__pRT__,snd);
+void _libjv_dragonfly_Init(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("libjv_dragonfly", _libjv_dragonfly_Init, "jv:dragonfly");
+    _CompiledCodeObject_Init(pass,__pRT__,snd);
+    _CompiledCodeObjectSectionFormat_Init(pass,__pRT__,snd);
+    _VMOffsets_Init(pass,__pRT__,snd);
+    _jv_137dragonfly_Init(pass,__pRT__,snd);
+    _CompiledCodeObjectSection_Init(pass,__pRT__,snd);
+    _VMData_Init(pass,__pRT__,snd);
 
-_jv_137dragonfly_extensions_Init(pass,__pRT__,snd);
-__END_PACKAGE__();
+    _jv_137dragonfly_extensions_Init(pass,__pRT__,snd);
+  __END_PACKAGE__();
 }
--- a/mingwmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/mingwmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -13,11 +13,22 @@
 @popd
 make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
+
 @echo "***********************************"
-@echo "Buildung jv/dragonfly/udis86sx"
+@echo "Building jv/dragonfly/udis86sx
 @echo "***********************************"
 @pushd udis86sx
 @call mingwmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
+@echo "***********************************"
+@echo "Building jv/dragonfly/c1
+@echo "***********************************"
+@pushd c1
+@call mingwmake %1 %2 || exit /b "%errorlevel%"
+@popd
 
+
--- a/udis86sx/Make.proto	Sun Feb 07 10:16:55 2016 +0000
+++ b/udis86sx/Make.proto	Fri Feb 12 11:51:14 2016 +0000
@@ -108,7 +108,7 @@
 
 # build all mandatory prerequisite packages (containing superclasses) for this package
 prereq:
-	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
@@ -128,9 +128,9 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)UDIS86.$(O) UDIS86.$(H): UDIS86.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)UDIS86Instruction.$(O) UDIS86Instruction.$(H): UDIS86Instruction.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)jv_dragonfly_udis86sx.$(O) jv_dragonfly_udis86sx.$(H): jv_dragonfly_udis86sx.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)UDIS86.$(O) UDIS86.$(C) UDIS86.$(H): UDIS86.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)UDIS86Instruction.$(O) UDIS86Instruction.$(C) UDIS86Instruction.$(H): UDIS86Instruction.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)jv_dragonfly_udis86sx.$(O) jv_dragonfly_udis86sx.$(C) jv_dragonfly_udis86sx.$(H): jv_dragonfly_udis86sx.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/udis86sx/bc.mak	Sun Feb 07 10:16:55 2016 +0000
+++ b/udis86sx/bc.mak	Fri Feb 12 11:51:14 2016 +0000
@@ -68,9 +68,9 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)UDIS86.$(O) UDIS86.$(H): UDIS86.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)UDIS86Instruction.$(O) UDIS86Instruction.$(H): UDIS86Instruction.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)jv_dragonfly_udis86sx.$(O) jv_dragonfly_udis86sx.$(H): jv_dragonfly_udis86sx.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
+$(OUTDIR)UDIS86.$(O) UDIS86.$(C) UDIS86.$(H): UDIS86.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)UDIS86Instruction.$(O) UDIS86Instruction.$(C) UDIS86Instruction.$(H): UDIS86Instruction.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)jv_dragonfly_udis86sx.$(O) jv_dragonfly_udis86sx.$(C) jv_dragonfly_udis86sx.$(H): jv_dragonfly_udis86sx.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/udis86sx/bmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/udis86sx/bmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -10,4 +10,8 @@
 
 make.exe -N -f bc.mak  %DEFINES% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
 
+
--- a/udis86sx/libInit.cc	Sun Feb 07 10:16:55 2016 +0000
+++ b/udis86sx/libInit.cc	Fri Feb 12 11:51:14 2016 +0000
@@ -16,21 +16,26 @@
 DLL_EXPORT void _libjv_dragonfly_udis86sx_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-void _libjv_dragonfly_udis86sx_InitDefinition(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libjv_dragonfly_udis86sx__DFN", _libjv_dragonfly_udis86sx_InitDefinition, "jv:dragonfly/udis86sx");
-_jv_137dragonfly_137udis86sx_Init(pass,__pRT__,snd);
+extern void _UDIS86_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _UDIS86Instruction_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _jv_137dragonfly_137udis86sx_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+
 
-__END_PACKAGE__();
+void _libjv_dragonfly_udis86sx_InitDefinition(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("libjv_dragonfly_udis86sx__DFN", _libjv_dragonfly_udis86sx_InitDefinition, "jv:dragonfly/udis86sx");
+    _jv_137dragonfly_137udis86sx_Init(pass,__pRT__,snd);
+
+  __END_PACKAGE__();
 }
 
-void _libjv_dragonfly_udis86sx_Init(pass, __pRT__, snd)
-OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libjv_dragonfly_udis86sx", _libjv_dragonfly_udis86sx_Init, "jv:dragonfly/udis86sx");
-_UDIS86_Init(pass,__pRT__,snd);
-_UDIS86Instruction_Init(pass,__pRT__,snd);
-_jv_137dragonfly_137udis86sx_Init(pass,__pRT__,snd);
+void _libjv_dragonfly_udis86sx_Init(int pass, struct __vmData__ *__pRT__, OBJ snd)
+{
+  __BEGIN_PACKAGE2__("libjv_dragonfly_udis86sx", _libjv_dragonfly_udis86sx_Init, "jv:dragonfly/udis86sx");
+    _UDIS86_Init(pass,__pRT__,snd);
+    _UDIS86Instruction_Init(pass,__pRT__,snd);
+    _jv_137dragonfly_137udis86sx_Init(pass,__pRT__,snd);
 
 
-__END_PACKAGE__();
+  __END_PACKAGE__();
 }
--- a/udis86sx/mingwmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/udis86sx/mingwmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -13,4 +13,8 @@
 @popd
 make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
 
+
--- a/udis86sx/vcmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/udis86sx/vcmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -17,5 +17,8 @@
 
 make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
 
 
--- a/vcmake.bat	Sun Feb 07 10:16:55 2016 +0000
+++ b/vcmake.bat	Fri Feb 12 11:51:14 2016 +0000
@@ -17,12 +17,22 @@
 
 make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
+@IF "%1" EQU "exe" exit /b 0
+@IF "%1" EQU "setup" exit /b 0
+@IF "%1" EQU "pluginSetup" exit /b 0
 
 @echo "***********************************"
-@echo "Buildung jv/dragonfly/udis86sx"
+@echo "Building jv/dragonfly/udis86sx
 @echo "***********************************"
 @pushd udis86sx
 @call vcmake %1 %2 || exit /b "%errorlevel%"
 @popd
 
+@echo "***********************************"
+@echo "Building jv/dragonfly/c1
+@echo "***********************************"
+@pushd c1
+@call vcmake %1 %2 || exit /b "%errorlevel%"
+@popd
 
+