comparison src/share/vm/graal/graalCodeInstaller.hpp @ 20044:c1f116cd4b67

Speed up debug info generation for virtual objects
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Fri, 27 Mar 2015 00:41:11 -0700
parents deab43a789ad
children 8d4496e10a51
comparison
equal deleted inserted replaced
20043:b9041d4e91c5 20044:c1f116cd4b67
112 112
113 static address runtime_call_target_address(oop runtime_call); 113 static address runtime_call_target_address(oop runtime_call);
114 static VMReg get_hotspot_reg(jint graalRegisterNumber); 114 static VMReg get_hotspot_reg(jint graalRegisterNumber);
115 static bool is_general_purpose_reg(VMReg hotspotRegister); 115 static bool is_general_purpose_reg(VMReg hotspotRegister);
116 116
117 protected: 117 private:
118 ScopeValue* get_scope_value(oop value, GrowableArray<ScopeValue*>* objects, ScopeValue* &second);
119 MonitorValue* get_monitor_value(oop value, GrowableArray<ScopeValue*>* objects);
118 120
119 virtual ScopeValue* get_scope_value(oop value, int total_frame_size, GrowableArray<ScopeValue*>* objects, ScopeValue* &second, OopRecorder* oop_recorder);
120 virtual MonitorValue* get_monitor_value(oop value, int total_frame_size, GrowableArray<ScopeValue*>* objects, OopRecorder* oop_recorder);
121
122 private:
123 // extract the fields of the CompilationResult 121 // extract the fields of the CompilationResult
124 void initialize_fields(oop target_method); 122 void initialize_fields(oop target_method);
125 void initialize_dependencies(oop target_method); 123 void initialize_dependencies(oop target_method);
126 124
127 int estimate_stub_entries(); 125 int estimate_stub_entries();
139 void site_Infopoint(CodeBuffer& buffer, jint pc_offset, oop site); 137 void site_Infopoint(CodeBuffer& buffer, jint pc_offset, oop site);
140 void site_Call(CodeBuffer& buffer, jint pc_offset, oop site); 138 void site_Call(CodeBuffer& buffer, jint pc_offset, oop site);
141 void site_DataPatch(CodeBuffer& buffer, jint pc_offset, oop site); 139 void site_DataPatch(CodeBuffer& buffer, jint pc_offset, oop site);
142 void site_Mark(CodeBuffer& buffer, jint pc_offset, oop site); 140 void site_Mark(CodeBuffer& buffer, jint pc_offset, oop site);
143 141
142 void record_scope(jint pc_offset, oop debug_info);
144 void record_scope(jint pc_offset, oop code_pos, GrowableArray<ScopeValue*>* objects); 143 void record_scope(jint pc_offset, oop code_pos, GrowableArray<ScopeValue*>* objects);
144 void record_object_value(ObjectValue* sv, oop value, GrowableArray<ScopeValue*>* objects);
145
146 GrowableArray<ScopeValue*>* record_virtual_objects(oop debug_info);
145 147
146 void process_exception_handlers(); 148 void process_exception_handlers();
147 int estimateStubSpace(int static_call_stubs); 149 int estimateStubSpace(int static_call_stubs);
148 }; 150 };
149 151