Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/deoptimization.cpp @ 16535:ada0a7729b6f
Truffle: introduce debug option to print the stack trace when transferring to the interpreter
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Wed, 16 Jul 2014 15:18:48 +0200 |
parents | 347915b8cea8 |
children | 52b4284cb496 |
comparison
equal
deleted
inserted
replaced
16534:4aaa97f42b92 | 16535:ada0a7729b6f |
---|---|
1391 | 1391 |
1392 if (trap_bci == SynchronizationEntryBCI) { | 1392 if (trap_bci == SynchronizationEntryBCI) { |
1393 trap_bci = 0; | 1393 trap_bci = 0; |
1394 Thread::current()->set_pending_monitorenter(true); | 1394 Thread::current()->set_pending_monitorenter(true); |
1395 } | 1395 } |
1396 #endif | 1396 |
1397 if (reason == Deoptimization::Reason_transfer_to_interpreter) { | |
1398 thread->set_pending_transfer_to_interpreter(true); | |
1399 } | |
1400 #endif | |
1401 | |
1397 Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci); | 1402 Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci); |
1398 | 1403 |
1399 if (trap_scope->rethrow_exception()) { | 1404 if (trap_scope->rethrow_exception()) { |
1400 if (PrintDeoptimizationDetails) { | 1405 if (PrintDeoptimizationDetails) { |
1401 tty->print_cr("Exception to be rethrown in the interpreter for method %s::%s at bci %d", trap_method->method_holder()->name()->as_C_string(), trap_method->name()->as_C_string(), trap_bci); | 1406 tty->print_cr("Exception to be rethrown in the interpreter for method %s::%s at bci %d", trap_method->method_holder()->name()->as_C_string(), trap_method->name()->as_C_string(), trap_bci); |
1994 "constraint", | 1999 "constraint", |
1995 "div0_check", | 2000 "div0_check", |
1996 "age" GRAAL_ONLY("_or_jsr_mismatch"), | 2001 "age" GRAAL_ONLY("_or_jsr_mismatch"), |
1997 "predicate", | 2002 "predicate", |
1998 "loop_limit_check", | 2003 "loop_limit_check", |
1999 GRAAL_ONLY("aliasing") | 2004 #ifdef GRAAL |
2005 "aliasing", | |
2006 "transfer_to_interpreter", | |
2007 #endif | |
2000 }; | 2008 }; |
2001 const char* Deoptimization::_trap_action_name[Action_LIMIT] = { | 2009 const char* Deoptimization::_trap_action_name[Action_LIMIT] = { |
2002 // Note: Keep this in sync. with enum DeoptAction. | 2010 // Note: Keep this in sync. with enum DeoptAction. |
2003 "none", | 2011 "none", |
2004 "maybe_recompile", | 2012 "maybe_recompile", |