diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-06-14 11:33:28 +0000 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-06-18 10:26:28 +0000 |
commit | 85f9a95ddbc39a1b120eeb8280685e1ae40dc5dc (patch) | |
tree | 1794c8395d52ad64f6760a0c30fac7badd1bd052 /js/src/vm/UnboxedObject-inl.h | |
parent | 8d2929313f6f8be66770f1137fa54a0825a3c768 (diff) | |
download | UXP-85f9a95ddbc39a1b120eeb8280685e1ae40dc5dc.tar UXP-85f9a95ddbc39a1b120eeb8280685e1ae40dc5dc.tar.gz UXP-85f9a95ddbc39a1b120eeb8280685e1ae40dc5dc.tar.lz UXP-85f9a95ddbc39a1b120eeb8280685e1ae40dc5dc.tar.xz UXP-85f9a95ddbc39a1b120eeb8280685e1ae40dc5dc.zip |
Replace SetOrExtendBoxedOrUnboxedDenseElements with direct calls.
Diffstat (limited to 'js/src/vm/UnboxedObject-inl.h')
-rw-r--r-- | js/src/vm/UnboxedObject-inl.h | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/js/src/vm/UnboxedObject-inl.h b/js/src/vm/UnboxedObject-inl.h index 193ca75c8..c1468a5b1 100644 --- a/js/src/vm/UnboxedObject-inl.h +++ b/js/src/vm/UnboxedObject-inl.h @@ -172,44 +172,6 @@ UnboxedPlainObject::layout() const return group()->unboxedLayout(); } -///////////////////////////////////////////////////////////////////// -// Template methods for NativeObject and UnboxedArrayObject accesses. -///////////////////////////////////////////////////////////////////// - -static inline DenseElementResult -SetOrExtendBoxedOrUnboxedDenseElements(ExclusiveContext* cx, JSObject* obj, - uint32_t start, const Value* vp, uint32_t count, - ShouldUpdateTypes updateTypes = ShouldUpdateTypes::Update) -{ - NativeObject* nobj = &obj->as<NativeObject>(); - - if (nobj->denseElementsAreFrozen()) - return DenseElementResult::Incomplete; - - if (obj->is<ArrayObject>() && - !obj->as<ArrayObject>().lengthIsWritable() && - start + count >= obj->as<ArrayObject>().length()) - { - return DenseElementResult::Incomplete; - } - - DenseElementResult result = nobj->ensureDenseElements(cx, start, count); - if (result != DenseElementResult::Success) - return result; - - if (obj->is<ArrayObject>() && start + count >= obj->as<ArrayObject>().length()) - obj->as<ArrayObject>().setLengthInt32(start + count); - - if (updateTypes == ShouldUpdateTypes::DontUpdate && !nobj->shouldConvertDoubleElements()) { - nobj->copyDenseElements(start, vp, count); - } else { - for (size_t i = 0; i < count; i++) - nobj->setDenseElementWithType(cx, start + i, vp[i]); - } - - return DenseElementResult::Success; -} - } // namespace js #endif // vm_UnboxedObject_inl_h |