[vmkit-commits] [vmkit] r199065 - Implements pop2 and wide, I have still 9 opcode to implements.
Gael Thomas
gael.thomas at lip6.fr
Sun Jan 12 14:07:35 PST 2014
Author: gthomas
Date: Sun Jan 12 16:07:35 2014
New Revision: 199065
URL: http://llvm.org/viewvc/llvm-project?rev=199065&view=rev
Log:
Implements pop2 and wide, I have still 9 opcode to implements.
Modified:
vmkit/branches/mcjit/lib/j3/vm/j3.cc
vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
Modified: vmkit/branches/mcjit/lib/j3/vm/j3.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/mcjit/lib/j3/vm/j3.cc?rev=199065&r1=199064&r2=199065&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3.cc Sun Jan 12 16:07:35 2014
@@ -314,8 +314,8 @@ void J3::printStackTrace() {
if(sf) {
J3Method* m = ((J3MethodCode*)sf->unit()->getSymbol(sf->functionName()))->self;
- fprintf(stderr, " in %s %s::%s index %d\n", m->signature()->name()->cStr(), m->cl()->name()->cStr(), m->name()->cStr(),
- sf->sourceIndex());
+ fprintf(stderr, " in %s::%s%s index %d\n", m->cl()->name()->cStr(), m->name()->cStr(),
+ m->signature()->name()->cStr(), sf->sourceIndex());
} else {
Dl_info info;
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=199065&r1=199064&r2=199065&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc Sun Jan 12 16:07:35 2014
@@ -1144,7 +1144,11 @@ void J3CodeGen::translate() {
stack.pop();
break;
- case J3Cst::BC_pop2: nyi(); /* 0x58 */
+ case J3Cst::BC_pop2: /* 0x58 */
+ val1 = stack.pop();
+ if(!val1->getType()->isDoubleTy() && !val1->getType()->isIntegerTy(64))
+ stack.pop();
+ break;
case J3Cst::BC_dup: /* 0x59 */
stack.push(stack.top());
@@ -1520,7 +1524,10 @@ void J3CodeGen::translate() {
monitorExit(stack.pop());
break;
- case J3Cst::BC_wide: nyi(); /* 0xc4 */
+ case J3Cst::BC_wide: /* 0xc4 */
+ isWide = 1;
+ break;
+
case J3Cst::BC_multianewarray: nyi(); /* 0xc5 */
case J3Cst::BC_ifnull: /* 0xc6 */
condBr(builder->CreateIsNull(stack.pop()));
More information about the vmkit-commits
mailing list