diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-06-23 21:30:34 +0000 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-06-23 21:30:34 +0000 |
commit | ac97104c52c573e25392312d3bb7b3a297f67c44 (patch) | |
tree | 5db9627ca4a81a49c71aa583eb827d15754e9add /js/src/jit/Recover.cpp | |
parent | fd96dac1d27da739cf168395623a962b2f0f1b98 (diff) | |
download | uxp-ac97104c52c573e25392312d3bb7b3a297f67c44.tar.gz |
Remove Unboxed Object code from jit, Part 3.
Diffstat (limited to 'js/src/jit/Recover.cpp')
-rw-r--r-- | js/src/jit/Recover.cpp | 35 |
1 files changed, 5 insertions, 30 deletions
diff --git a/js/src/jit/Recover.cpp b/js/src/jit/Recover.cpp index 8fe6ee3fb5..3edc6de8bc 100644 --- a/js/src/jit/Recover.cpp +++ b/js/src/jit/Recover.cpp @@ -1540,37 +1540,12 @@ RObjectState::recover(JSContext* cx, SnapshotIterator& iter) const RootedObject object(cx, &iter.read().toObject()); RootedValue val(cx); - if (object->is<UnboxedPlainObject>()) { - const UnboxedLayout& layout = object->as<UnboxedPlainObject>().layout(); - - RootedId id(cx); - RootedValue receiver(cx, ObjectValue(*object)); - const UnboxedLayout::PropertyVector& properties = layout.properties(); - for (size_t i = 0; i < properties.length(); i++) { - val = iter.read(); - - // This is the default placeholder value of MObjectState, when no - // properties are defined yet. - if (val.isUndefined()) - continue; - - id = NameToId(properties[i].name); - ObjectOpResult result; - - // SetProperty can only fail due to OOM. - if (!SetProperty(cx, object, id, val, receiver, result)) - return false; - if (!result) - return result.reportError(cx, object, id); - } - } else { - RootedNativeObject nativeObject(cx, &object->as<NativeObject>()); - MOZ_ASSERT(nativeObject->slotSpan() == numSlots()); + RootedNativeObject nativeObject(cx, &object->as<NativeObject>()); + MOZ_ASSERT(nativeObject->slotSpan() == numSlots()); - for (size_t i = 0; i < numSlots(); i++) { - val = iter.read(); - nativeObject->setSlot(i, val); - } + for (size_t i = 0; i < numSlots(); i++) { + val = iter.read(); + nativeObject->setSlot(i, val); } val.setObject(*object); |