comparison src/cpu/x86/vm/templateInterpreter_x86_32.cpp @ 1135:e66fd840cb6b

6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164) Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately. Reviewed-by: kvn, never
author twisti
date Mon, 04 Jan 2010 18:38:08 +0100
parents 389049f3f393
children ddb7834449d0
comparison
equal deleted inserted replaced
1134:0910903272e5 1135:e66fd840cb6b
1486 (moncount*frame::interpreter_frame_monitor_size()) + 1486 (moncount*frame::interpreter_frame_monitor_size()) +
1487 tempcount*Interpreter::stackElementWords() + popframe_extra_args; 1487 tempcount*Interpreter::stackElementWords() + popframe_extra_args;
1488 1488
1489 if (interpreter_frame != NULL) { 1489 if (interpreter_frame != NULL) {
1490 #ifdef ASSERT 1490 #ifdef ASSERT
1491 assert(caller->unextended_sp() == interpreter_frame->interpreter_frame_sender_sp(), "Frame not properly walkable"); 1491 if (!EnableMethodHandles)
1492 // @@@ FIXME: Should we correct interpreter_frame_sender_sp in the calling sequences?
1493 // Probably, since deoptimization doesn't work yet.
1494 assert(caller->unextended_sp() == interpreter_frame->interpreter_frame_sender_sp(), "Frame not properly walkable");
1492 assert(caller->sp() == interpreter_frame->sender_sp(), "Frame not properly walkable(2)"); 1495 assert(caller->sp() == interpreter_frame->sender_sp(), "Frame not properly walkable(2)");
1493 #endif 1496 #endif
1494 1497
1495 interpreter_frame->interpreter_frame_set_method(method); 1498 interpreter_frame->interpreter_frame_set_method(method);
1496 // NOTE the difference in using sender_sp and interpreter_frame_sender_sp 1499 // NOTE the difference in using sender_sp and interpreter_frame_sender_sp