@@ -213,7 +213,7 @@ Handle<HiddenClass> HiddenClass::copyToNewDictionary(
213
213
initializeMissingPropertyMap (selfHandle, runtime);
214
214
215
215
newClassHandle->propertyMap_ .set (
216
- runtime, selfHandle->propertyMap_ , runtime.getHeap ());
216
+ runtime, selfHandle->propertyMap_ , runtime.getHeap (), *newClassHandle );
217
217
selfHandle->propertyMap_ .setNull (runtime.getHeap ());
218
218
219
219
LLVM_DEBUG (
@@ -436,7 +436,7 @@ CallResult<std::pair<Handle<HiddenClass>, SlotIndex>> HiddenClass::addProperty(
436
436
return ExecutionStatus::EXCEPTION;
437
437
}
438
438
childHandle->propertyMap_ .set (
439
- runtime, selfHandle->propertyMap_ , runtime.getHeap ());
439
+ runtime, selfHandle->propertyMap_ , runtime.getHeap (), *childHandle );
440
440
} else {
441
441
LLVM_DEBUG (
442
442
dbgs () << " Adding property " << runtime.formatSymbolID (name)
@@ -512,7 +512,7 @@ CallResult<std::pair<Handle<HiddenClass>, SlotIndex>> HiddenClass::addProperty(
512
512
513
513
// Move the map to the child class.
514
514
childHandle->propertyMap_ .set (
515
- runtime, selfHandle->propertyMap_ , runtime.getHeap ());
515
+ runtime, selfHandle->propertyMap_ , runtime.getHeap (), *childHandle );
516
516
selfHandle->propertyMap_ .setNull (runtime.getHeap ());
517
517
518
518
if (LLVM_UNLIKELY (
@@ -589,7 +589,7 @@ Handle<HiddenClass> HiddenClass::updateProperty(
589
589
590
590
descPair->second .flags = newFlags;
591
591
existingChild->propertyMap_ .set (
592
- runtime, selfHandle->propertyMap_ , runtime.getHeap ());
592
+ runtime, selfHandle->propertyMap_ , runtime.getHeap (), existingChild );
593
593
} else {
594
594
LLVM_DEBUG (
595
595
dbgs () << " Updating property " << runtime.formatSymbolID (name)
@@ -634,7 +634,7 @@ Handle<HiddenClass> HiddenClass::updateProperty(
634
634
635
635
// Move the updated map to the child class.
636
636
childHandle->propertyMap_ .set (
637
- runtime, selfHandle->propertyMap_ , runtime.getHeap ());
637
+ runtime, selfHandle->propertyMap_ , runtime.getHeap (), *childHandle );
638
638
selfHandle->propertyMap_ .setNull (runtime.getHeap ());
639
639
640
640
return childHandle;
@@ -915,7 +915,8 @@ void HiddenClass::stealPropertyMapFromParent(
915
915
self->propertyMap_ .set (
916
916
runtime,
917
917
self->parent_ .getNonNull (runtime)->propertyMap_ ,
918
- runtime.getHeap ());
918
+ runtime.getHeap (),
919
+ self);
919
920
self->parent_ .getNonNull (runtime)->propertyMap_ .setNull (runtime.getHeap ());
920
921
921
922
// Does our class add a new property?
0 commit comments