[vmkit-commits] [vmkit] r198324 - Print arguments when executing in debugExecute mode.
Gael Thomas
gael.thomas at lip6.fr
Thu Jan 2 09:29:07 PST 2014
Author: gthomas
Date: Thu Jan 2 11:29:07 2014
New Revision: 198324
URL: http://llvm.org/viewvc/llvm-project?rev=198324&view=rev
Log:
Print arguments when executing in debugExecute mode.
Modified:
vmkit/branches/mcjit/lib/j3/vm/j3.cc
vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc
vmkit/branches/mcjit/lib/j3/vm/j3options.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=198324&r1=198323&r2=198324&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3.cc Thu Jan 2 11:29:07 2014
@@ -242,7 +242,7 @@ void J3::vinternalError(const char* msg,
vsnprintf(buf, 65536, msg, va);
fprintf(stderr, "Internal error: %s\n", buf);
printStackTrace();
- // exit(1);
+ //exit(1);
abort();
}
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=198324&r1=198323&r2=198324&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3codegen.cc Thu Jan 2 11:29:07 2014
@@ -855,33 +855,6 @@ void J3CodeGen::translate() {
builder->SetInsertPoint(bb);
_onEndPoint();
- if(vm->options()->genDebugExecute) {
- char buf[256];
- snprintf(buf, 256, "%s::%s", method->cl()->name()->cStr(), method->name()->cStr());
-#if 0
-
- fprintf(stderr, "bitcast: ");
- builder->CreateBitCast(funcEchoDebugEnter, builder->getInt8PtrTy())->dump();
- fprintf(stderr, "\n");
-
- llvm::Value* args[] = {
- builder->getInt64(42), /* patch point id */
- builder->getInt32(0), /* pad */
- builder->CreateBitCast(funcEchoDebugEnter, builder->getInt8PtrTy()), /* function funcEchoDebugEnter */
- builder->getInt32(3), /* number of args */
- builder->getInt32(0), /* arg[0] */
- buildString("bip %s\n"), /* arg[1] */
- buildString(buf) /* arg[2] */
- };
- builder->CreateCall(patchPointVoid, args)->dump();
-#else
- builder->CreateCall3(funcEchoDebugEnter,
- builder->getInt32(0),
- buildString("%s\n"),
- buildString(buf));
-#endif
- }
-
while(codeReader->remaining()) {
llvm::Value* val1;
llvm::Value* val2;
@@ -1590,10 +1563,46 @@ void J3CodeGen::generateJava() {
stack.init(this, maxStack, allocator->allocate(J3CodeGenVar::reservedSize(maxStack)));
ret.init(this, 1, allocator->allocate(J3CodeGenVar::reservedSize(1)));
+
+ if(vm->options()->genDebugExecute) {
+ char buf[256];
+ snprintf(buf, 256, "%s::%s", method->cl()->name()->cStr(), method->name()->cStr());
+#if 0
+
+ fprintf(stderr, "bitcast: ");
+ builder->CreateBitCast(funcEchoDebugEnter, builder->getInt8PtrTy())->dump();
+ fprintf(stderr, "\n");
+
+ llvm::Value* args[] = {
+ builder->getInt64(42), /* patch point id */
+ builder->getInt32(0), /* pad */
+ builder->CreateBitCast(funcEchoDebugEnter, builder->getInt8PtrTy()), /* function funcEchoDebugEnter */
+ builder->getInt32(3), /* number of args */
+ builder->getInt32(0), /* arg[0] */
+ buildString("bip %s\n"), /* arg[1] */
+ buildString(buf) /* arg[2] */
+ };
+ builder->CreateCall(patchPointVoid, args)->dump();
+#else
+ builder->CreateCall3(funcEchoDebugEnter,
+ builder->getInt32(0),
+ buildString("%s\n"),
+ buildString(buf));
+#endif
+ }
+
uint32_t n=0, pos=0;
for(llvm::Function::arg_iterator cur=llvmFunction->arg_begin(); cur!=llvmFunction->arg_end(); cur++, n++) {
J3Type* type = methodType->ins(n);
locals.setAt(flatten(cur, type), pos);
+
+ if(vm->options()->debugExecute)
+ builder->CreateCall4(funcEchoDebugExecute,
+ builder->getInt32(2),
+ buildString(" arg[%d]: %p\n"),
+ builder->getInt32(pos),
+ locals.at(pos));
+
pos += (type == vm->typeLong || type == vm->typeDouble) ? 2 : 1;
}
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=198324&r1=198323&r2=198324&view=diff
==============================================================================
--- vmkit/branches/mcjit/lib/j3/vm/j3options.cc (original)
+++ vmkit/branches/mcjit/lib/j3/vm/j3options.cc Thu Jan 2 11:29:07 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