@@ -395,41 +395,31 @@ class Object {
395
395
bool IsNotTemporaryScopedHandle() const;
396
396
#endif
397
397
398
- static Object& Handle(Zone* zone, ObjectPtr ptr) {
399
- Object* obj = reinterpret_cast<Object*>(VMHandles::AllocateHandle(zone));
400
- initializeHandle(obj, ptr);
401
- return *obj;
398
+ static Object& Handle() {
399
+ return HandleImpl(Thread::Current()->zone(), null_, kObjectCid);
402
400
}
403
- static Object* ReadOnlyHandle() {
404
- Object* obj = reinterpret_cast<Object*>(Dart::AllocateReadOnlyHandle());
405
- initializeHandle(obj, Object::null());
406
- return obj;
401
+ static Object& Handle(Zone* zone) {
402
+ return HandleImpl(zone, null_, kObjectCid);
407
403
}
408
-
409
- static Object& Handle() { return Handle(Thread::Current()->zone(), null_); }
410
-
411
- static Object& Handle(Zone* zone) { return Handle(zone, null_); }
412
-
413
404
static Object& Handle(ObjectPtr ptr) {
414
- return Handle (Thread::Current()->zone(), ptr);
405
+ return HandleImpl (Thread::Current()->zone(), ptr, kObjectCid );
415
406
}
416
-
417
- static Object& ZoneHandle(Zone* zone, ObjectPtr ptr) {
418
- Object* obj =
419
- reinterpret_cast<Object*>(VMHandles::AllocateZoneHandle(zone));
420
- initializeHandle(obj, ptr);
421
- return *obj;
407
+ static Object& Handle(Zone* zone, ObjectPtr ptr) {
408
+ return HandleImpl(zone, ptr, kObjectCid);
422
409
}
423
-
424
- static Object& ZoneHandle(Zone* zone) { return ZoneHandle(zone, null_); }
425
-
426
410
static Object& ZoneHandle() {
427
- return ZoneHandle(Thread::Current()->zone(), null_);
411
+ return ZoneHandleImpl(Thread::Current()->zone(), null_, kObjectCid);
412
+ }
413
+ static Object& ZoneHandle(Zone* zone) {
414
+ return ZoneHandleImpl(zone, null_, kObjectCid);
428
415
}
429
-
430
416
static Object& ZoneHandle(ObjectPtr ptr) {
431
- return ZoneHandle(Thread::Current()->zone(), ptr);
417
+ return ZoneHandleImpl(Thread::Current()->zone(), ptr, kObjectCid);
418
+ }
419
+ static Object& ZoneHandle(Zone* zone, ObjectPtr ptr) {
420
+ return ZoneHandleImpl(zone, ptr, kObjectCid);
432
421
}
422
+ static Object* ReadOnlyHandle() { return ReadOnlyHandleImpl(kObjectCid); }
433
423
434
424
static ObjectPtr null() { return null_; }
435
425
0 commit comments