< prev index next >
src/share/vm/code/codeBlob.hpp
Print this page
*** 118,127 ****
--- 118,128 ----
virtual bool is_adapter_blob() const { return false; }
virtual bool is_method_handles_adapter_blob() const { return false; }
virtual bool is_compiled_by_c2() const { return false; }
virtual bool is_compiled_by_c1() const { return false; }
+ virtual bool is_compiled_by_jvmci() const { return false; }
// Casting
nmethod* as_nmethod_or_null() { return is_nmethod() ? (nmethod*) this : NULL; }
// Boundaries
*** 378,387 ****
--- 379,394 ----
int _unpack_with_exception;
int _unpack_with_reexecution;
int _unpack_with_exception_in_tls;
+ #if INCLUDE_JVMCI
+ // Offsets when JVMCI calls uncommon_trap.
+ int _uncommon_trap_offset;
+ int _implicit_exception_uncommon_trap_offset;
+ #endif
+
// Creation support
DeoptimizationBlob(
CodeBuffer* cb,
int size,
OopMapSet* oop_maps,
*** 427,436 ****
--- 434,458 ----
void set_unpack_with_exception_in_tls_offset(int offset) {
_unpack_with_exception_in_tls = offset;
assert(code_contains(code_begin() + _unpack_with_exception_in_tls), "must be PC inside codeblob");
}
address unpack_with_exception_in_tls() const { return code_begin() + _unpack_with_exception_in_tls; }
+
+ #if INCLUDE_JVMCI
+ // Offsets when JVMCI calls uncommon_trap.
+ void set_uncommon_trap_offset(int offset) {
+ _uncommon_trap_offset = offset;
+ assert(contains(code_begin() + _uncommon_trap_offset), "must be PC inside codeblob");
+ }
+ address uncommon_trap() const { return code_begin() + _uncommon_trap_offset; }
+
+ void set_implicit_exception_uncommon_trap_offset(int offset) {
+ _implicit_exception_uncommon_trap_offset = offset;
+ assert(contains(code_begin() + _implicit_exception_uncommon_trap_offset), "must be PC inside codeblob");
+ }
+ address implicit_exception_uncommon_trap() const { return code_begin() + _implicit_exception_uncommon_trap_offset; }
+ #endif // INCLUDE_JVMCI
};
//----------------------------------------------------------------------------------------------------
// UncommonTrapBlob (currently only used by Compiler 2)
< prev index next >