< prev index next >
src/share/vm/runtime/sharedRuntime.hpp
Print this page
*** 59,68 ****
--- 59,70 ----
static RuntimeStub* _wrong_method_abstract_blob;
static RuntimeStub* _ic_miss_blob;
static RuntimeStub* _resolve_opt_virtual_call_blob;
static RuntimeStub* _resolve_virtual_call_blob;
static RuntimeStub* _resolve_static_call_blob;
+ static address _memento_stack_trace_return_handler;
+ static address _memento_stack_trace_exception_handler;
static DeoptimizationBlob* _deopt_blob;
static SafepointBlob* _polling_page_vectors_safepoint_handler_blob;
static SafepointBlob* _polling_page_safepoint_handler_blob;
*** 79,88 ****
--- 81,91 ----
private:
enum { POLL_AT_RETURN, POLL_AT_LOOP, POLL_AT_VECTOR_LOOP };
static SafepointBlob* generate_handler_blob(address call_ptr, int poll_type);
static RuntimeStub* generate_resolve_blob(address destination, const char* name);
+ static void generate_memento_stack_trace_blob();
public:
static void generate_stubs(void);
// max bytes for each dtrace string parameter
*** 234,243 ****
--- 237,251 ----
static address get_resolve_static_call_stub() {
assert(_resolve_static_call_blob != NULL, "oops");
return _resolve_static_call_blob->entry_point();
}
+ static address get_memento_stack_trace_return_handler() { return _memento_stack_trace_return_handler; }
+ static address get_memento_stack_trace_exception_handler() { return _memento_stack_trace_exception_handler; }
+ static bool is_memento_stack_trace_return_handler(address addr) { return addr == _memento_stack_trace_return_handler; }
+ static bool is_memento_stack_trace_exception_handler(address addr) { return addr == _memento_stack_trace_exception_handler; }
+
static SafepointBlob* polling_page_return_handler_blob() { return _polling_page_return_handler_blob; }
static SafepointBlob* polling_page_safepoint_handler_blob() { return _polling_page_safepoint_handler_blob; }
static SafepointBlob* polling_page_vectors_safepoint_handler_blob() { return _polling_page_vectors_safepoint_handler_blob; }
// Counters
< prev index next >