comparison src/share/vm/graal/graalEnv.cpp @ 5251:467de393651a

optimization: frame prologue & epilogue ommitted for methods with no spills, no callee-saved registers, no incoming stack args and no debug info
author Doug Simon <doug.simon@oracle.com>
date Wed, 18 Apr 2012 23:39:07 +0200
parents 2f2c6347fce4
children 957c266d8bc5
comparison
equal deleted inserted replaced
5250:0f6f647e8a96 5251:467de393651a
475 // as in C2, then it must be freed. 475 // as in C2, then it must be freed.
476 //code_buffer->free_blob(); 476 //code_buffer->free_blob();
477 return NULL; 477 return NULL;
478 } 478 }
479 479
480 assert(offsets->value(CodeOffsets::Deopt) != -1, "must have deopt entry");
481 assert(offsets->value(CodeOffsets::Exceptions) != -1, "must have exception entry");
482
483 nm = nmethod::new_nmethod(method, 480 nm = nmethod::new_nmethod(method,
484 compile_id, 481 compile_id,
485 entry_bci, 482 entry_bci,
486 offsets, 483 offsets,
487 orig_pc_offset, 484 orig_pc_offset,
529 } 526 }
530 if (old != NULL ) { 527 if (old != NULL ) {
531 old->make_not_entrant(); 528 old->make_not_entrant();
532 } 529 }
533 } 530 }
534 if (TraceNMethodInstalls ) { 531 if (TraceNMethodInstalls) {
535 ResourceMark rm; 532 ResourceMark rm;
536 char *method_name = method->name_and_sig_as_C_string(); 533 char *method_name = method->name_and_sig_as_C_string();
537 ttyLocker ttyl; 534 ttyLocker ttyl;
538 tty->print_cr("Installing method (%d) %s ", 535 tty->print_cr("Installing method (%d) %s [entry point: %p]",
539 comp_level, 536 comp_level,
540 method_name); 537 method_name, nm->entry_point());
541 } 538 }
542 // Allow the code to be executed 539 // Allow the code to be executed
543 method->set_code(method, nm); 540 method->set_code(method, nm);
544 } else { 541 } else {
545 if (TraceNMethodInstalls ) { 542 if (TraceNMethodInstalls ) {