comparison src/cpu/x86/vm/templateInterpreter_x86_32.cpp @ 1039:987e948ebbc8

6815692: method handle code needs some cleanup (post-6655638) Summary: correctly raise exceptions, support safe bitwise "raw" conversions, fix bugs revealed by VerifyMethodHandles, remove dead code, improve debugging support Reviewed-by: never, twisti
author jrose
date Sat, 17 Oct 2009 19:51:05 -0700
parents be93aad57795
children 389049f3f393
comparison
equal deleted inserted replaced
1038:71fdc5052e49 1039:987e948ebbc8
90 InterpreterRuntime::throw_ClassCastException), 90 InterpreterRuntime::throw_ClassCastException),
91 rax); 91 rax);
92 return entry; 92 return entry;
93 } 93 }
94 94
95 // Arguments are: required type at TOS+8, failing object (or NULL) at TOS+4. 95 // Arguments are: required type at TOS+4, failing object (or NULL) at TOS.
96 // pc at TOS (just for debugging)
97 address TemplateInterpreterGenerator::generate_WrongMethodType_handler() { 96 address TemplateInterpreterGenerator::generate_WrongMethodType_handler() {
98 address entry = __ pc(); 97 address entry = __ pc();
99 98
100 __ pop(rbx); // actual failing object is at TOS 99 __ pop(rbx); // actual failing object is at TOS
101 __ pop(rax); // required type is at TOS+4 100 __ pop(rax); // required type is at TOS+4