[vmkit-commits] [vmkit] r198027 - terminate the bootstrap of the thread system

Gael Thomas gael.thomas at lip6.fr
Wed Dec 25 13:55:13 PST 2013


Author: gthomas
Date: Wed Dec 25 15:55:12 2013
New Revision: 198027

URL: http://llvm.org/viewvc/llvm-project?rev=198027&view=rev
Log:
terminate the bootstrap of the thread system

Modified:
    vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc
    vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc

Modified: vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc?rev=198027&r1=198026&r2=198027&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc (original)
+++ vmkit/branches/mcjit/lib/j3/openjdk/j3lib.cc Wed Dec 25 15:55:12 2013
@@ -50,9 +50,6 @@ void J3Lib::bootstrap(J3* vm) {
 
 	threadInit->invokeSpecial(mainThread, appThreadGroup, vm->utfToString("main"));
 						
-	fprintf(stderr, "main thread is at %p\n", threadInit);
-	abort();
-
 	vm->initialClassLoader->method(J3Cst::ACC_STATIC, L"java/lang/System", L"initializeSystemClass", L"()V")->invokeStatic();
 
 	J3Thread::get()->restore(prev);

Modified: vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc?rev=198027&r1=198026&r2=198027&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc Wed Dec 25 15:55:12 2013
@@ -1009,7 +1009,17 @@ void J3CodeGen::translate() {
 				break;
 
 			case J3Cst::BC_dup_x2: nyi();                 /* 0x5b */
-			case J3Cst::BC_dup2: nyi();                   /* 0x5c */
+
+			case J3Cst::BC_dup2:                          /* 0x5c */
+				val1 = stack.top();
+				if(val1->getType()->isDoubleTy() || val1->getType()->isIntegerTy(64)) {
+					stack.push(val1);
+				} else {
+					val2 = stack.top(1);
+					stack.push(val2); stack.push(val1);
+				}
+				break;
+
 			case J3Cst::BC_dup2_x1: nyi();                /* 0x5d */
 			case J3Cst::BC_dup2_x2: nyi();                /* 0x5e */
 			case J3Cst::BC_swap: nyi();                   /* 0x5f */





More information about the vmkit-commits mailing list