src/cpu/x86/vm/templateInterpreter_x86_64.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7055355 Cdiff src/cpu/x86/vm/templateInterpreter_x86_64.cpp

src/cpu/x86/vm/templateInterpreter_x86_64.cpp

Print this page

        

*** 118,152 **** throw_ClassCastException), c_rarg1); return entry; } - // Arguments are: required type at TOS+8, failing object (or NULL) at TOS+4. - address TemplateInterpreterGenerator::generate_WrongMethodType_handler() { - address entry = __ pc(); - - __ pop(c_rarg2); // failing object is at TOS - __ pop(c_rarg1); // required type is at TOS+8 - - __ verify_oop(c_rarg1); - __ verify_oop(c_rarg2); - - // Various method handle types use interpreter registers as temps. - __ restore_bcp(); - __ restore_locals(); - - // Expression stack must be empty before entering the VM for an exception. - __ empty_expression_stack(); - - __ call_VM(noreg, - CAST_FROM_FN_PTR(address, - InterpreterRuntime::throw_WrongMethodTypeException), - // pass required type, failing object (or NULL) - c_rarg1, c_rarg2); - return entry; - } - address TemplateInterpreterGenerator::generate_exception_handler_common( const char* name, const char* message, bool pass_oop) { assert(!pass_oop || message == NULL, "either oop or message but not both"); address entry = __ pc(); if (pass_oop) { --- 118,127 ----
src/cpu/x86/vm/templateInterpreter_x86_64.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File