1 /* |
1 /* |
2 * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
209 static bool is_general_purpose_reg(VMReg hotspotRegister); |
209 static bool is_general_purpose_reg(VMReg hotspotRegister); |
210 |
210 |
211 const OopMapSet* oopMapSet() const { return _debug_recorder->_oopmaps; } |
211 const OopMapSet* oopMapSet() const { return _debug_recorder->_oopmaps; } |
212 |
212 |
213 protected: |
213 protected: |
214 Location::Type get_oop_type(Handle value); |
214 Location::Type get_oop_type(Thread* thread, Handle value); |
215 ScopeValue* get_scope_value(Handle value, BasicType type, GrowableArray<ScopeValue*>* objects, ScopeValue* &second, TRAPS); |
215 ScopeValue* get_scope_value(Handle value, BasicType type, GrowableArray<ScopeValue*>* objects, ScopeValue* &second, TRAPS); |
216 MonitorValue* get_monitor_value(Handle value, GrowableArray<ScopeValue*>* objects, TRAPS); |
216 MonitorValue* get_monitor_value(Handle value, GrowableArray<ScopeValue*>* objects, TRAPS); |
217 |
217 |
218 void* record_metadata_reference(CodeSection* section, address dest, Handle constant, TRAPS); |
218 void* record_metadata_reference(CodeSection* section, address dest, Handle constant, TRAPS); |
219 #ifdef _LP64 |
219 #ifdef _LP64 |
227 int estimate_stubs_size(TRAPS); |
227 int estimate_stubs_size(TRAPS); |
228 |
228 |
229 // perform data and call relocation on the CodeBuffer |
229 // perform data and call relocation on the CodeBuffer |
230 JVMCIEnv::CodeInstallResult initialize_buffer(CodeBuffer& buffer, TRAPS); |
230 JVMCIEnv::CodeInstallResult initialize_buffer(CodeBuffer& buffer, TRAPS); |
231 |
231 |
232 void assumption_NoFinalizableSubclass(Handle assumption); |
232 void assumption_NoFinalizableSubclass(Thread* thread, Handle assumption); |
233 void assumption_ConcreteSubtype(Handle assumption); |
233 void assumption_ConcreteSubtype(Thread* thread, Handle assumption); |
234 void assumption_LeafType(Handle assumption); |
234 void assumption_LeafType(Thread* thread, Handle assumption); |
235 void assumption_ConcreteMethod(Handle assumption); |
235 void assumption_ConcreteMethod(Thread* thread, Handle assumption); |
236 void assumption_CallSiteTargetValue(Handle assumption); |
236 void assumption_CallSiteTargetValue(Thread* thread, Handle assumption); |
237 |
237 |
238 void site_Safepoint(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS); |
238 void site_Safepoint(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS); |
239 void site_Infopoint(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS); |
239 void site_Infopoint(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS); |
240 void site_Call(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS); |
240 void site_Call(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS); |
241 void site_DataPatch(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS); |
241 void site_DataPatch(CodeBuffer& buffer, jint pc_offset, Handle site, TRAPS); |