8285378: Remove unnecessary nop for C1 exception and deopt handler
Reviewed-by: kvn, dlong
This commit is contained in:
parent
3cdedf1ddb
commit
c6eab989b7
@ -378,13 +378,6 @@ int LIR_Assembler::initial_frame_size_in_bytes() const {
|
||||
|
||||
|
||||
int LIR_Assembler::emit_exception_handler() {
|
||||
// if the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci => add a nop
|
||||
// (was bug 5/14/1999 - gri)
|
||||
__ nop();
|
||||
|
||||
// generate code for exception handler
|
||||
address handler_base = __ start_a_stub(exception_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
@ -403,7 +396,8 @@ int LIR_Assembler::emit_exception_handler() {
|
||||
__ verify_not_null_oop(r0);
|
||||
|
||||
// search an exception handler (r0: exception oop, r3: throwing pc)
|
||||
__ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::handle_exception_from_callee_id))); __ should_not_reach_here();
|
||||
__ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::handle_exception_from_callee_id)));
|
||||
__ should_not_reach_here();
|
||||
guarantee(code_offset() - offset <= exception_handler_size(), "overflow");
|
||||
__ end_a_stub();
|
||||
|
||||
@ -471,13 +465,6 @@ int LIR_Assembler::emit_unwind_handler() {
|
||||
|
||||
|
||||
int LIR_Assembler::emit_deopt_handler() {
|
||||
// if the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci => add a nop
|
||||
// (was bug 5/14/1999 - gri)
|
||||
__ nop();
|
||||
|
||||
// generate code for exception handler
|
||||
address handler_base = __ start_a_stub(deopt_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
|
@ -199,9 +199,6 @@ int LIR_Assembler::initial_frame_size_in_bytes() const {
|
||||
|
||||
|
||||
int LIR_Assembler::emit_exception_handler() {
|
||||
// TODO: ARM
|
||||
__ nop(); // See comments in other ports
|
||||
|
||||
address handler_base = __ start_a_stub(exception_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
bailout("exception handler overflow");
|
||||
|
@ -167,13 +167,6 @@ void LIR_Assembler::osr_entry() {
|
||||
|
||||
|
||||
int LIR_Assembler::emit_exception_handler() {
|
||||
// If the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci => add a nop
|
||||
// (was bug 5/14/1999 - gri).
|
||||
__ nop();
|
||||
|
||||
// Generate code for the exception handler.
|
||||
address handler_base = __ start_a_stub(exception_handler_size());
|
||||
|
||||
@ -247,13 +240,6 @@ int LIR_Assembler::emit_unwind_handler() {
|
||||
|
||||
|
||||
int LIR_Assembler::emit_deopt_handler() {
|
||||
// If the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci => add a nop
|
||||
// (was bug 5/14/1999 - gri).
|
||||
__ nop();
|
||||
|
||||
// Generate code for deopt handler.
|
||||
address handler_base = __ start_a_stub(deopt_handler_size());
|
||||
|
||||
|
@ -307,13 +307,6 @@ int LIR_Assembler::initial_frame_size_in_bytes() const {
|
||||
}
|
||||
|
||||
int LIR_Assembler::emit_exception_handler() {
|
||||
// if the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci ==> add a nop
|
||||
// (was bug 5/14/1999 -gri)
|
||||
__ nop();
|
||||
|
||||
// generate code for exception handler
|
||||
address handler_base = __ start_a_stub(exception_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
@ -399,13 +392,6 @@ int LIR_Assembler::emit_unwind_handler() {
|
||||
}
|
||||
|
||||
int LIR_Assembler::emit_deopt_handler() {
|
||||
// if the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bck => add a nop
|
||||
// (was bug 5/14/1999 - gri)
|
||||
__ nop();
|
||||
|
||||
// generate code for exception handler
|
||||
address handler_base = __ start_a_stub(deopt_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
|
@ -165,13 +165,6 @@ address LIR_Assembler::emit_call_c(address a) {
|
||||
}
|
||||
|
||||
int LIR_Assembler::emit_exception_handler() {
|
||||
// If the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci. => Add a nop.
|
||||
// (was bug 5/14/1999 - gri)
|
||||
__ nop();
|
||||
|
||||
// Generate code for exception handler.
|
||||
address handler_base = __ start_a_stub(exception_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
@ -263,13 +256,6 @@ int LIR_Assembler::emit_unwind_handler() {
|
||||
}
|
||||
|
||||
int LIR_Assembler::emit_deopt_handler() {
|
||||
// If the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci. => Add a nop.
|
||||
// (was bug 5/14/1999 - gri)
|
||||
__ nop();
|
||||
|
||||
// Generate code for exception handler.
|
||||
address handler_base = __ start_a_stub(deopt_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
|
@ -398,13 +398,6 @@ int LIR_Assembler::initial_frame_size_in_bytes() const {
|
||||
|
||||
|
||||
int LIR_Assembler::emit_exception_handler() {
|
||||
// if the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci => add a nop
|
||||
// (was bug 5/14/1999 - gri)
|
||||
__ nop();
|
||||
|
||||
// generate code for exception handler
|
||||
address handler_base = __ start_a_stub(exception_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
@ -499,13 +492,6 @@ int LIR_Assembler::emit_unwind_handler() {
|
||||
|
||||
|
||||
int LIR_Assembler::emit_deopt_handler() {
|
||||
// if the last instruction is a call (typically to do a throw which
|
||||
// is coming at the end after block reordering) the return address
|
||||
// must still point into the code area in order to avoid assertion
|
||||
// failures when searching for the corresponding bci => add a nop
|
||||
// (was bug 5/14/1999 - gri)
|
||||
__ nop();
|
||||
|
||||
// generate code for exception handler
|
||||
address handler_base = __ start_a_stub(deopt_handler_size());
|
||||
if (handler_base == NULL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user