summaryrefslogtreecommitdiffstats
path: root/js/src/vm/UnboxedObject.h
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2020-02-23 19:43:47 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2020-02-23 19:43:47 +0100
commitecdeefc4dd5624e824e696ac1c492c0b103f4acd (patch)
tree406dfcb33f7771e44c664e5d718591925728579c /js/src/vm/UnboxedObject.h
parentdd57b9273c7c95a7cdabc94854c8dc63b0653f02 (diff)
downloadUXP-ecdeefc4dd5624e824e696ac1c492c0b103f4acd.tar
UXP-ecdeefc4dd5624e824e696ac1c492c0b103f4acd.tar.gz
UXP-ecdeefc4dd5624e824e696ac1c492c0b103f4acd.tar.lz
UXP-ecdeefc4dd5624e824e696ac1c492c0b103f4acd.tar.xz
UXP-ecdeefc4dd5624e824e696ac1c492c0b103f4acd.zip
Revert #1091 Remove unboxed object code phase 1 + extras.
This should be the last code backout for this. merging this branch should get us back to the way we were (+ additional code changes for later changes) as fasr as the unused unboxed code is concerned.
Diffstat (limited to 'js/src/vm/UnboxedObject.h')
-rw-r--r--js/src/vm/UnboxedObject.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/js/src/vm/UnboxedObject.h b/js/src/vm/UnboxedObject.h
index 779dd14c7..ecff8be5b 100644
--- a/js/src/vm/UnboxedObject.h
+++ b/js/src/vm/UnboxedObject.h
@@ -317,6 +317,13 @@ class UnboxedPlainObject : public JSObject
}
};
+// Try to construct an UnboxedLayout for each of the preliminary objects,
+// provided they all match the template shape. If successful, converts the
+// preliminary objects and their group to the new unboxed representation.
+bool
+TryConvertToUnboxedLayout(ExclusiveContext* cx, AutoEnterAnalysis& enter, Shape* templateShape,
+ ObjectGroup* group, PreliminaryObjectArray* objects);
+
inline gc::AllocKind
UnboxedLayout::getAllocKind() const
{