comparison src/share/vm/code/nmethod.hpp @ 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 ab038e0d6b43
children e72dd6533eb9
comparison
equal deleted inserted replaced
5250:0f6f647e8a96 5251:467de393651a
338 338
339 bool is_compiled_by_c1() const; 339 bool is_compiled_by_c1() const;
340 bool is_compiled_by_c2() const; 340 bool is_compiled_by_c2() const;
341 bool is_compiled_by_shark() const; 341 bool is_compiled_by_shark() const;
342 342
343
344 #define CHECK_POSITIVE(val) assert(val, "should be positive")
345
343 // boundaries for different parts 346 // boundaries for different parts
344 address consts_begin () const { return header_begin() + _consts_offset ; } 347 address consts_begin () const { return header_begin() + _consts_offset ; }
345 address consts_end () const { return header_begin() + code_offset() ; } 348 address consts_end () const { return header_begin() + code_offset() ; }
346 address insts_begin () const { return header_begin() + code_offset() ; } 349 address insts_begin () const { return header_begin() + code_offset() ; }
347 address insts_end () const { return header_begin() + _stub_offset ; } 350 address insts_end () const { return header_begin() + _stub_offset ; }
348 address stub_begin () const { return header_begin() + _stub_offset ; } 351 address stub_begin () const { return header_begin() + _stub_offset ; }
349 address stub_end () const { return header_begin() + _oops_offset ; } 352 address stub_end () const { return header_begin() + _oops_offset ; }
350 address exception_begin () const { return header_begin() + _exception_offset ; } 353 address exception_begin () const { assert(_exception_offset >= 0, "no exception handler"); return header_begin() + _exception_offset ; }
351 address deopt_handler_begin () const { return header_begin() + _deoptimize_offset ; } 354 address deopt_handler_begin () const { assert(_deoptimize_offset >= 0, "no deopt handler"); return header_begin() + _deoptimize_offset ; }
352 address deopt_mh_handler_begin() const { return header_begin() + _deoptimize_mh_offset ; } 355 address deopt_mh_handler_begin() const { return header_begin() + _deoptimize_mh_offset ; }
353 address unwind_handler_begin () const { return _unwind_handler_offset != -1 ? (header_begin() + _unwind_handler_offset) : NULL; } 356 address unwind_handler_begin () const { return _unwind_handler_offset != -1 ? (header_begin() + _unwind_handler_offset) : NULL; }
354 oop* oops_begin () const { return (oop*) (header_begin() + _oops_offset) ; } 357 oop* oops_begin () const { return (oop*) (header_begin() + _oops_offset) ; }
355 oop* oops_end () const { return (oop*) (header_begin() + _scopes_data_offset) ; } 358 oop* oops_end () const { return (oop*) (header_begin() + _scopes_data_offset) ; }
356 359