comparison src/share/vm/runtime/deoptimization.hpp @ 83:d3cd40645d0d

6681646: Relocking of a scalar replaced object during deoptimization is broken Summary: Relocking of a thread-local object during deoptimization is broken Reviewed-by: kbr, jrose, never
author kvn
date Tue, 01 Apr 2008 16:14:18 -0700
parents a61af66fc99e
children d1605aabd0a1
comparison
equal deleted inserted replaced
82:de93acbb64fc 83:d3cd40645d0d
103 // Support for restoring non-escaping objects 103 // Support for restoring non-escaping objects
104 static bool realloc_objects(JavaThread* thread, frame* fr, GrowableArray<ScopeValue*>* objects, TRAPS); 104 static bool realloc_objects(JavaThread* thread, frame* fr, GrowableArray<ScopeValue*>* objects, TRAPS);
105 static void reassign_type_array_elements(frame* fr, RegisterMap* reg_map, ObjectValue* sv, typeArrayOop obj, BasicType type); 105 static void reassign_type_array_elements(frame* fr, RegisterMap* reg_map, ObjectValue* sv, typeArrayOop obj, BasicType type);
106 static void reassign_object_array_elements(frame* fr, RegisterMap* reg_map, ObjectValue* sv, objArrayOop obj); 106 static void reassign_object_array_elements(frame* fr, RegisterMap* reg_map, ObjectValue* sv, objArrayOop obj);
107 static void reassign_fields(frame* fr, RegisterMap* reg_map, GrowableArray<ScopeValue*>* objects); 107 static void reassign_fields(frame* fr, RegisterMap* reg_map, GrowableArray<ScopeValue*>* objects);
108 static void relock_objects(frame* fr, RegisterMap* reg_map, GrowableArray<MonitorValue*>* monitors); 108 static void relock_objects(GrowableArray<MonitorInfo*>* monitors, JavaThread* thread);
109 NOT_PRODUCT(static void print_objects(GrowableArray<ScopeValue*>* objects);) 109 NOT_PRODUCT(static void print_objects(GrowableArray<ScopeValue*>* objects);)
110 #endif // COMPILER2 110 #endif // COMPILER2
111 111
112 public: 112 public:
113 static vframeArray* create_vframeArray(JavaThread* thread, frame fr, RegisterMap *reg_map, GrowableArray<compiledVFrame*>* chunk); 113 static vframeArray* create_vframeArray(JavaThread* thread, frame fr, RegisterMap *reg_map, GrowableArray<compiledVFrame*>* chunk);