blob: d303fa67b1571589a88fbd3f2448949de413d0d6 [file] [log] [blame]
// Copyright 2019 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
extern class PrototypeInfo extends Struct {
js_module_namespace: JSModuleNamespace|Undefined;
prototype_users: WeakArrayList|Zero;
registry_slot: Smi;
validity_cell: Object;
object_create_map: Weak<Map>|Undefined;
bit_field: Smi;
}
extern macro PrototypeInfoMapConstant(): Map;
const kPrototypeInfoMap: Map = PrototypeInfoMapConstant();
Cast<PrototypeInfo>(o: HeapObject): PrototypeInfo labels CastError {
if (o.map != kPrototypeInfoMap) goto CastError;
return %RawDownCast<PrototypeInfo>(o);
}