diff 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
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.hpp	Thu Mar 26 22:26:18 2015 +0100
+++ b/src/share/vm/graal/graalCodeInstaller.hpp	Fri Mar 27 00:41:11 2015 -0700
@@ -114,12 +114,10 @@
   static VMReg get_hotspot_reg(jint graalRegisterNumber);
   static bool is_general_purpose_reg(VMReg hotspotRegister);
 
-protected:
+private:
+  ScopeValue* get_scope_value(oop value, GrowableArray<ScopeValue*>* objects, ScopeValue* &second);
+  MonitorValue* get_monitor_value(oop value, GrowableArray<ScopeValue*>* objects);
 
-  virtual ScopeValue* get_scope_value(oop value, int total_frame_size, GrowableArray<ScopeValue*>* objects, ScopeValue* &second, OopRecorder* oop_recorder);
-  virtual MonitorValue* get_monitor_value(oop value, int total_frame_size, GrowableArray<ScopeValue*>* objects, OopRecorder* oop_recorder);
-
-private:
   // extract the fields of the CompilationResult
   void initialize_fields(oop target_method);
   void initialize_dependencies(oop target_method);
@@ -141,7 +139,11 @@
   void site_DataPatch(CodeBuffer& buffer, jint pc_offset, oop site);
   void site_Mark(CodeBuffer& buffer, jint pc_offset, oop site);
 
+  void record_scope(jint pc_offset, oop debug_info);
   void record_scope(jint pc_offset, oop code_pos, GrowableArray<ScopeValue*>* objects);
+  void record_object_value(ObjectValue* sv, oop value, GrowableArray<ScopeValue*>* objects);
+
+  GrowableArray<ScopeValue*>* record_virtual_objects(oop debug_info);
 
   void process_exception_handlers();
   int estimateStubSpace(int static_call_stubs);