comparison src/share/vm/runtime/deoptimization.cpp @ 3019:77bb196828cb

Fixed an issue with accessing non-initialized static fields.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Sat, 18 Jun 2011 19:46:14 +0200
parents 5857923e563c
children 79165996a12d
comparison
equal deleted inserted replaced
3018:5857923e563c 3019:77bb196828cb
1238 methodHandle trap_method = trap_scope->method(); 1238 methodHandle trap_method = trap_scope->method();
1239 int trap_bci = trap_scope->bci(); 1239 int trap_bci = trap_scope->bci();
1240 Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci); 1240 Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci);
1241 1241
1242 if (trap_scope->rethrow_exception()) { 1242 if (trap_scope->rethrow_exception()) {
1243 tty->print_cr("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Exception to be rethrown in the interpreter"); 1243 if (TraceDeoptimization) {
1244 tty->print_cr("Exception to be rethrown in the interpreter");
1245 }
1244 GrowableArray<ScopeValue*>* expressions = trap_scope->expressions(); 1246 GrowableArray<ScopeValue*>* expressions = trap_scope->expressions();
1245 ScopeValue* topOfStack = expressions->top(); 1247 ScopeValue* topOfStack = expressions->top();
1246 Handle topOfStackObj = cvf->create_stack_value(topOfStack)->get_obj(); 1248 Handle topOfStackObj = cvf->create_stack_value(topOfStack)->get_obj();
1247 topOfStackObj->print();
1248 THREAD->set_pending_exception(topOfStackObj(), NULL, 0); 1249 THREAD->set_pending_exception(topOfStackObj(), NULL, 0);
1249 } 1250 }
1250 1251
1251 // Record this event in the histogram. 1252 // Record this event in the histogram.
1252 gather_statistics(reason, action, trap_bc); 1253 gather_statistics(reason, action, trap_bc);