summaryrefslogtreecommitdiffstats
path: root/js/src/vm/UnboxedObject-inl.h
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-06-14 11:33:28 +0000
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-06-18 10:26:28 +0000
commit85f9a95ddbc39a1b120eeb8280685e1ae40dc5dc (patch)
tree1794c8395d52ad64f6760a0c30fac7badd1bd052 /js/src/vm/UnboxedObject-inl.h
parent8d2929313f6f8be66770f1137fa54a0825a3c768 (diff)
downloadUXP-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.h38
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