Mercurial > hg > truffle
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/code/nmethod.hpp Wed Apr 18 23:19:58 2012 +0200 +++ b/src/share/vm/code/nmethod.hpp Wed Apr 18 23:39:07 2012 +0200 @@ -340,6 +340,9 @@ bool is_compiled_by_c2() const; bool is_compiled_by_shark() const; + +#define CHECK_POSITIVE(val) assert(val, "should be positive") + // boundaries for different parts address consts_begin () const { return header_begin() + _consts_offset ; } address consts_end () const { return header_begin() + code_offset() ; } @@ -347,8 +350,8 @@ address insts_end () const { return header_begin() + _stub_offset ; } address stub_begin () const { return header_begin() + _stub_offset ; } address stub_end () const { return header_begin() + _oops_offset ; } - address exception_begin () const { return header_begin() + _exception_offset ; } - address deopt_handler_begin () const { return header_begin() + _deoptimize_offset ; } + address exception_begin () const { assert(_exception_offset >= 0, "no exception handler"); return header_begin() + _exception_offset ; } + address deopt_handler_begin () const { assert(_deoptimize_offset >= 0, "no deopt handler"); return header_begin() + _deoptimize_offset ; } address deopt_mh_handler_begin() const { return header_begin() + _deoptimize_mh_offset ; } address unwind_handler_begin () const { return _unwind_handler_offset != -1 ? (header_begin() + _unwind_handler_offset) : NULL; } oop* oops_begin () const { return (oop*) (header_begin() + _oops_offset) ; }