diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-06-14 11:33:28 +0000 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-06-14 11:33:28 +0000 |
commit | 7d93d4989f49bfcb1aa6b87f81332332a750c49c (patch) | |
tree | 902bb1f380bbc98145df691536aa652b216c1bfe /js/src/vm/UnboxedObject-inl.h | |
parent | e913687dc585606e50550ad77e2d8a744b5e6493 (diff) | |
download | UXP-7d93d4989f49bfcb1aa6b87f81332332a750c49c.tar UXP-7d93d4989f49bfcb1aa6b87f81332332a750c49c.tar.gz UXP-7d93d4989f49bfcb1aa6b87f81332332a750c49c.tar.lz UXP-7d93d4989f49bfcb1aa6b87f81332332a750c49c.tar.xz UXP-7d93d4989f49bfcb1aa6b87f81332332a750c49c.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 |