summaryrefslogtreecommitdiff
path: root/chromium/v8/src/objects/map.tq
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/objects/map.tq')
-rw-r--r--chromium/v8/src/objects/map.tq13
1 files changed, 13 insertions, 0 deletions
diff --git a/chromium/v8/src/objects/map.tq b/chromium/v8/src/objects/map.tq
index 93c56278955..e7333a38634 100644
--- a/chromium/v8/src/objects/map.tq
+++ b/chromium/v8/src/objects/map.tq
@@ -80,3 +80,16 @@ extern class Map extends HeapObject {
macro LoadMapPrototypeInfo(m: Map): PrototypeInfo labels HasNoPrototypeInfo {
return m.PrototypeInfo() otherwise HasNoPrototypeInfo;
}
+
+// Returns true if the map corresponds to non-special fast or dictionary
+// object.
+@export
+macro IsSimpleObjectMap(map: Map): bool {
+ if (IsSpecialReceiverInstanceType(map.instance_type)) {
+ return false;
+ }
+ const bitField = map.bit_field;
+ return !bitField.has_named_interceptor & !bitField.is_access_check_needed;
+}
+
+extern macro IsSpecialReceiverInstanceType(InstanceType): bool;