[vmkit-commits] [vmkit] r198299 - Implement i2c
Gael Thomas
gael.thomas at lip6.fr
Thu Jan 2 03:58:34 PST 2014
Author: gthomas
Date: Thu Jan 2 05:58:33 2014
New Revision: 198299
URL: http://llvm.org/viewvc/llvm-project?rev=198299&view=rev
Log:
Implement i2c
Modified:
vmkit/branches/mcjit/lib/j3/openjdk/j3unsafe.cc
vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
vmkit/branches/mcjit/lib/j3/vm/j3options.cc
Modified: vmkit/branches/mcjit/lib/j3/openjdk/j3unsafe.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/openjdk/j3unsafe.cc?rev=198299&r1=198298&r2=198299&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/openjdk/j3unsafe.cc (original)
+++ vmkit/branches/mcjit/lib/j3/openjdk/j3unsafe.cc Thu Jan 2 05:58:33 2014
@@ -51,6 +51,16 @@ extern "C" {
jobject handle, jlong offset, jobject orig, jobject value) {
return handle->rawCASObject(offset, orig, value) == orig;
}
+
+ JNIEXPORT bool JNICALL Java_sun_misc_Unsafe_compareAndSwapInt(JNIEnv* env, jobject unsafe,
+ jobject handle, jlong offset, jint orig, jint value) {
+ return handle->rawCASInteger(offset, orig, value) == orig;
+ }
+
+ JNIEXPORT jint JNICALL Java_sun_misc_Unsafe_getIntVolatile(JNIEnv* env, jobject unsafe,
+ jobject handle, jlong offset) {
+ return handle->rawGetInteger(offset);
+ }
}
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=198299&r1=198298&r2=198299&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc Thu Jan 2 05:58:33 2014
@@ -1327,7 +1327,10 @@ void J3CodeGen::translate() {
case J3Cst::BC_d2l: nyi(); /* 0x8f */
case J3Cst::BC_d2f: nyi(); /* 0x90 */
case J3Cst::BC_i2b: nyi(); /* 0x91 */
- case J3Cst::BC_i2c: nyi(); /* 0x92 */
+ case J3Cst::BC_i2c: /* 0x92 */
+ stack.push(builder->CreateZExt(builder->CreateTrunc(stack.pop(), builder->getInt16Ty()), builder->getInt32Ty()));
+ break;
+
case J3Cst::BC_i2s: nyi(); /* 0x93 */
case J3Cst::BC_lcmp: /* 0x94 */
Modified: vmkit/branches/mcjit/lib/j3/vm/j3options.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3options.cc?rev=198299&r1=198298&r2=198299&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3options.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3options.cc Thu Jan 2 05:58:33 2014
@@ -15,7 +15,7 @@ J3Options::J3Options() {
debugEnterIndent = 1;
- debugExecute = 0;
+ debugExecute = 2;
debugLoad = 0;
debugResolve = 0;
debugIniting = 0;
More information about the vmkit-commits
mailing list