Mercurial > hg > truffle
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 ) { |