1214 is_external_suspend() || is_deopt_suspend();
1215 }
1216
1217 void set_pending_unsafe_access_error() { _special_runtime_exit_condition = _async_unsafe_access_error; }
1218
1219 void set_pending_async_exception(oop e) {
1220 _pending_async_exception = e;
1221 _special_runtime_exit_condition = _async_exception;
1222 set_has_async_exception();
1223 }
1224
1225 // Fast-locking support
1226 bool is_lock_owned(address adr) const;
1227
1228 // Accessors for vframe array top
1229 // The linked list of vframe arrays are sorted on sp. This means when we
1230 // unpack the head must contain the vframe array to unpack.
1231 void set_vframe_array_head(vframeArray* value) { _vframe_array_head = value; }
1232 vframeArray* vframe_array_head() const { return _vframe_array_head; }
1233
1234 // Side structure for defering update of java frame locals until deopt occurs
1235 GrowableArray<jvmtiDeferredLocalVariableSet*>* deferred_locals() const { return _deferred_locals_updates; }
1236 void set_deferred_locals(GrowableArray<jvmtiDeferredLocalVariableSet *>* vf) { _deferred_locals_updates = vf; }
1237
1238 // These only really exist to make debugging deopt problems simpler
1239
1240 void set_vframe_array_last(vframeArray* value) { _vframe_array_last = value; }
1241 vframeArray* vframe_array_last() const { return _vframe_array_last; }
1242
1243 // The special resourceMark used during deoptimization
1244
1245 void set_deopt_mark(DeoptResourceMark* value) { _deopt_mark = value; }
1246 DeoptResourceMark* deopt_mark(void) { return _deopt_mark; }
1247
1248 intptr_t* must_deopt_id() { return _must_deopt_id; }
1249 void set_must_deopt_id(intptr_t* id) { _must_deopt_id = id; }
1250 void clear_must_deopt_id() { _must_deopt_id = NULL; }
1251
1252 void set_deopt_nmethod(nmethod* nm) { _deopt_nmethod = nm; }
1253 nmethod* deopt_nmethod() { return _deopt_nmethod; }
1254
|
1214 is_external_suspend() || is_deopt_suspend();
1215 }
1216
1217 void set_pending_unsafe_access_error() { _special_runtime_exit_condition = _async_unsafe_access_error; }
1218
1219 void set_pending_async_exception(oop e) {
1220 _pending_async_exception = e;
1221 _special_runtime_exit_condition = _async_exception;
1222 set_has_async_exception();
1223 }
1224
1225 // Fast-locking support
1226 bool is_lock_owned(address adr) const;
1227
1228 // Accessors for vframe array top
1229 // The linked list of vframe arrays are sorted on sp. This means when we
1230 // unpack the head must contain the vframe array to unpack.
1231 void set_vframe_array_head(vframeArray* value) { _vframe_array_head = value; }
1232 vframeArray* vframe_array_head() const { return _vframe_array_head; }
1233
1234 // Side structure for deferring update of java frame locals until deopt occurs
1235 GrowableArray<jvmtiDeferredLocalVariableSet*>* deferred_locals() const { return _deferred_locals_updates; }
1236 void set_deferred_locals(GrowableArray<jvmtiDeferredLocalVariableSet *>* vf) { _deferred_locals_updates = vf; }
1237
1238 // These only really exist to make debugging deopt problems simpler
1239
1240 void set_vframe_array_last(vframeArray* value) { _vframe_array_last = value; }
1241 vframeArray* vframe_array_last() const { return _vframe_array_last; }
1242
1243 // The special resourceMark used during deoptimization
1244
1245 void set_deopt_mark(DeoptResourceMark* value) { _deopt_mark = value; }
1246 DeoptResourceMark* deopt_mark(void) { return _deopt_mark; }
1247
1248 intptr_t* must_deopt_id() { return _must_deopt_id; }
1249 void set_must_deopt_id(intptr_t* id) { _must_deopt_id = id; }
1250 void clear_must_deopt_id() { _must_deopt_id = NULL; }
1251
1252 void set_deopt_nmethod(nmethod* nm) { _deopt_nmethod = nm; }
1253 nmethod* deopt_nmethod() { return _deopt_nmethod; }
1254
|