# Generated by gen_asm_offsets -- DO NOT EDIT

# Object layout
const OBJECT_SHAPE = 16
const OBJECT_NAMED_PROPERTIES = 24
const OBJECT_INDEXED_ELEMENTS = 32
const OBJECT_INDEXED_STORAGE_KIND = 11
const OBJECT_INDEXED_ARRAY_LIKE_SIZE = 12
const OBJECT_SIZE = 64

# Object flags
const OBJECT_FLAGS = 10
const OBJECT_FLAG_HAS_MAGICAL_LENGTH = 4
const OBJECT_FLAG_MAY_INTERFERE = 16
const OBJECT_FLAG_IS_TYPED_ARRAY = 8
const OBJECT_FLAG_IS_FUNCTION = 128
const OBJECT_FLAG_IS_ECMASCRIPT_FUNCTION_OBJECT = 64
const OBJECT_FLAG_IS_RAW_NATIVE_FUNCTION = 2

# Shape layout
const SHAPE_REALM = 16
const SHAPE_PROTOTYPE = 64
const SHAPE_DICTIONARY_GENERATION = 92
const SHAPE_SIZE = 96

# PropertyLookupCache layout
const PROPERTY_LOOKUP_CACHE_DATA = 0
const PROPERTY_LOOKUP_CACHE_POLYMORPHIC_DATA_TAG = 1
const PROPERTY_LOOKUP_CACHE_SIZE = 8

# PropertyLookupCache::Entry layout
const PROPERTY_LOOKUP_CACHE_ENTRY_PROPERTY_OFFSET = 4
const PROPERTY_LOOKUP_CACHE_ENTRY_DICTIONARY_GENERATION = 8
const PROPERTY_LOOKUP_CACHE_ENTRY_FROM_SHAPE = 16
const PROPERTY_LOOKUP_CACHE_ENTRY_SHAPE = 24
const PROPERTY_LOOKUP_CACHE_ENTRY_PROTOTYPE = 32
const PROPERTY_LOOKUP_CACHE_ENTRY_PROTOTYPE_CHAIN_VALIDITY = 40
const PROPERTY_LOOKUP_CACHE_ENTRY_SIZE = 48

# ObjectPropertyIteratorCacheData layout
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_PROPERTIES = 16
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_PROPERTY_VALUES = 40
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_SHAPE = 64
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_PROTOTYPE_CHAIN_VALIDITY = 72
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_INDEXED_PROPERTY_COUNT = 80
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_SHAPE_DICTIONARY_GENERATION = 84
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_FAST_PATH = 89

# ObjectPropertyIteratorCache layout
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_PTR = 0
const OBJECT_PROPERTY_ITERATOR_CACHE_REUSABLE_PROPERTY_NAME_ITERATOR = 8

# PropertyNameIterator layout
const PROPERTY_NAME_ITERATOR_OBJECT = 72
const PROPERTY_NAME_ITERATOR_PROPERTY_CACHE = 104
const PROPERTY_NAME_ITERATOR_SHAPE = 112
const PROPERTY_NAME_ITERATOR_PROTOTYPE_CHAIN_VALIDITY = 120
const PROPERTY_NAME_ITERATOR_ITERATOR_CACHE_SLOT = 128
const PROPERTY_NAME_ITERATOR_INDEXED_PROPERTY_COUNT = 136
const PROPERTY_NAME_ITERATOR_NEXT_INDEXED_PROPERTY = 140
const PROPERTY_NAME_ITERATOR_NEXT_PROPERTY = 144
const PROPERTY_NAME_ITERATOR_SHAPE_IS_DICTIONARY = 152
const PROPERTY_NAME_ITERATOR_SHAPE_DICTIONARY_GENERATION = 156
const PROPERTY_NAME_ITERATOR_FAST_PATH = 160

# Executable layout
const EXECUTABLE_CONSTANTS = 296
const EXECUTABLE_PROPERTY_LOOKUP_CACHES = 120
const EXECUTABLE_GLOBAL_VARIABLE_CACHES = 144
const EXECUTABLE_ENVIRONMENT_COORDINATE_CACHES = 168
const EXECUTABLE_REGISTERS_AND_LOCALS_COUNT = 388
const EXECUTABLE_REGISTERS_AND_LOCALS_AND_CONSTANTS_COUNT = 392
const EXECUTABLE_ASM_CONSTANTS_SIZE = 400
const EXECUTABLE_ASM_CONSTANTS_DATA = 408

# ExecutionContext layout
const EXECUTION_CONTEXT_EXECUTABLE = 80
const EXECUTION_CONTEXT_FUNCTION = 0
const EXECUTION_CONTEXT_REALM = 8
const EXECUTION_CONTEXT_SCRIPT_OR_MODULE = 16
const EXECUTION_CONTEXT_LEXICAL_ENVIRONMENT = 32
const EXECUTION_CONTEXT_VARIABLE_ENVIRONMENT = 40
const EXECUTION_CONTEXT_PRIVATE_ENVIRONMENT = 48
const EXECUTION_CONTEXT_SKIP_WHEN_DETERMINING_INCUMBENT_COUNTER = 60
const EXECUTION_CONTEXT_YIELD_CONTINUATION = 64
const EXECUTION_CONTEXT_YIELD_IS_AWAIT = 68
const EXECUTION_CONTEXT_YIELD_VALUE_IS_ITERATOR_RESULT = 69
const EXECUTION_CONTEXT_CALLER_IS_CONSTRUCT = 70
const EXECUTION_CONTEXT_THIS_VALUE = 72
const EXECUTION_CONTEXT_CALLER_FRAME = 88
const EXECUTION_CONTEXT_PASSED_ARGUMENT_COUNT = 96
const EXECUTION_CONTEXT_CALLER_RETURN_PC = 100
const EXECUTION_CONTEXT_CALLER_DST_RAW = 104
const EXECUTION_CONTEXT_PROGRAM_COUNTER = 56
const EXECUTION_CONTEXT_REGISTERS_AND_CONSTANTS_AND_LOCALS_AND_ARGUMENTS_COUNT = 108
const EXECUTION_CONTEXT_ARGUMENT_COUNT = 112
const SIZEOF_EXECUTION_CONTEXT = 120
const ALIGNOF_EXECUTION_CONTEXT = 8
const EXECUTION_CONTEXT_NO_YIELD_CONTINUATION = 4294967295
const SIZEOF_SCRIPT_OR_MODULE = 16

# InterpreterStack layout
const INTERPRETER_STACK_LIMIT = 16
const INTERPRETER_STACK_TOP = 8

# Realm layout
const REALM_GLOBAL_ENVIRONMENT = 40
const REALM_GLOBAL_OBJECT = 24
const REALM_GLOBAL_DECLARATIVE_ENVIRONMENT = 32

# VM layout
const VM_RUNNING_EXECUTION_CONTEXT = 15288
const VM_INTERPRETER_STACK = 15344
const VM_STACK_INFO = 15320
const VM_EXECUTION_GENERATION = 16632
const VM_PRIMITIVE_STORAGE_CAGE_BASE = 16640
const VM_INTERPRETER_STACK_TOP = 15352
const VM_STACK_SPACE_LIMIT = 32768

# StackInfo layout
const STACK_INFO_BASE = 0

# IndexedStorageKind enum values
const INDEXED_STORAGE_KIND_NONE = 0
const INDEXED_STORAGE_KIND_PACKED = 1
const INDEXED_STORAGE_KIND_HOLEY = 2
const INDEXED_STORAGE_KIND_DICTIONARY = 3

# ObjectPropertyIteratorFastPath enum values
const OBJECT_PROPERTY_ITERATOR_FAST_PATH_NONE = 0
const OBJECT_PROPERTY_ITERATOR_FAST_PATH_PLAIN_NAMED = 1
const OBJECT_PROPERTY_ITERATOR_FAST_PATH_PACKED_INDEXED = 2

# Vector<Value> layout
const VECTOR_DATA = 16
const VECTOR_SIZE = 0
const EXECUTABLE_BYTECODE_DATA = 104
const EXECUTABLE_PROPERTY_LOOKUP_CACHES_DATA = 136
const EXECUTABLE_GLOBAL_VARIABLE_CACHES_DATA = 160
const EXECUTABLE_ENVIRONMENT_COORDINATE_CACHES_DATA = 184
const EXECUTABLE_CONSTANTS_DATA = 312
const EXECUTABLE_CONSTANTS_SIZE = 296
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_PROPERTY_VALUES_DATA = 56
const OBJECT_PROPERTY_ITERATOR_CACHE_DATA_PROPERTY_VALUES_SIZE = 40

# PutKind enum
const PUT_KIND_NORMAL = 0

# PrototypeChainValidity layout
const PROTOTYPE_CHAIN_VALIDITY_VALID = 10

# DeclarativeEnvironment layout
const DECLARATIVE_ENVIRONMENT_RARE_DATA = 56
const DECLARATIVE_ENVIRONMENT_RARE_DATA_SERIAL = 120

# GlobalVariableCache layout
const GLOBAL_VARIABLE_CACHE_ENTRY = 0
const GLOBAL_VARIABLE_CACHE_ENVIRONMENT_SERIAL = 48
const GLOBAL_VARIABLE_CACHE_ENVIRONMENT_BINDING_INDEX = 56
const GLOBAL_VARIABLE_CACHE_HAS_ENVIRONMENT_BINDING = 60
const GLOBAL_VARIABLE_CACHE_IN_MODULE_ENVIRONMENT = 61
const GLOBAL_VARIABLE_CACHE_SIZE = 64
const GLOBAL_VARIABLE_CACHE_ENTRY_PROPERTY_OFFSET = 4
const GLOBAL_VARIABLE_CACHE_ENTRY_DICTIONARY_GENERATION = 8
const GLOBAL_VARIABLE_CACHE_ENTRY_SHAPE = 24

# Builtin enum values
const BUILTIN_MATH_ABS = 0
const BUILTIN_MATH_FLOOR = 5
const BUILTIN_MATH_CEIL = 4
const BUILTIN_MATH_ROUND = 8
const BUILTIN_MATH_SQRT = 9
const BUILTIN_MATH_EXP = 3
const BUILTIN_STRING_FROM_CHAR_CODE = 21
const BUILTIN_STRING_PROTOTYPE_CHAR_CODE_AT = 22
const BUILTIN_STRING_PROTOTYPE_CHAR_AT = 23

# FunctionObject layout
const FUNCTION_OBJECT_BUILTIN = 64
const FUNCTION_OBJECT_BUILTIN_VALUE = 64
const FUNCTION_OBJECT_BUILTIN_HAS_VALUE = 65

# RawNativeFunction layout
const RAW_NATIVE_FUNCTION_NATIVE_FUNCTION = 96

# ECMAScriptFunctionObject layout
const ECMASCRIPT_FUNCTION_OBJECT_SHARED_DATA = 72
const ECMASCRIPT_FUNCTION_OBJECT_ENVIRONMENT = 96
const ECMASCRIPT_FUNCTION_OBJECT_PRIVATE_ENVIRONMENT = 104
const ECMASCRIPT_FUNCTION_OBJECT_SCRIPT_OR_MODULE = 112

# SharedFunctionInstanceData layout
const SHARED_FUNCTION_INSTANCE_DATA_EXECUTABLE = 48
const SHARED_FUNCTION_INSTANCE_DATA_ASM_CALL_METADATA = 56
const SHARED_FUNCTION_INSTANCE_DATA_FORMAL_PARAMETER_COUNT = 148
const SHARED_FUNCTION_INSTANCE_DATA_STRICT = 177
const SHARED_FUNCTION_INSTANCE_DATA_FUNCTION_ENVIRONMENT_NEEDED = 257
const SHARED_FUNCTION_INSTANCE_DATA_USES_THIS = 259
const SHARED_FUNCTION_INSTANCE_DATA_CAN_INLINE_CALL = 441
const SHARED_FUNCTION_INSTANCE_DATA_ASM_CALL_METADATA_CAN_INLINE_CALL = 4294967296
const SHARED_FUNCTION_INSTANCE_DATA_ASM_CALL_METADATA_NEEDS_ENVIRONMENT_OR_THIS_VALUE_RESOLUTION = 8589934592
const SHARED_FUNCTION_INSTANCE_DATA_ASM_CALL_METADATA_USES_THIS = 17179869184
const SHARED_FUNCTION_INSTANCE_DATA_ASM_CALL_METADATA_STRICT = 34359738368

# GlobalEnvironment layout
const GLOBAL_ENVIRONMENT_GLOBAL_THIS_VALUE = 32

# PrimitiveString layout
const PRIMITIVE_STRING_DEFERRED_KIND = 10
const PRIMITIVE_STRING_UTF16_STRING = 16
const PRIMITIVE_STRING_DEFERRED_KIND_NONE = 0

# Utf16String layout
const UTF16_SHORT_STRING_FLAG = 1
const UTF16_SHORT_STRING_BYTE_COUNT_SHIFT_COUNT = 2
const UTF16_SHORT_STRING_BYTE_COUNT_AND_FLAG = 0
const UTF16_SHORT_STRING_STORAGE = 1
const PRIMITIVE_STRING_UTF16_SHORT_STRING_BYTE_COUNT_AND_FLAG = 16
const PRIMITIVE_STRING_UTF16_SHORT_STRING_STORAGE = 17

# Utf16StringData layout
const UTF16_STRING_DATA_LENGTH_IN_CODE_UNITS = 8
const UTF16_STRING_DATA_STRING_STORAGE = 32

# Environment layout
const ENVIRONMENT_SCREWED_BY_EVAL = 11
const ENVIRONMENT_DECLARATIVE = 12
const ENVIRONMENT_OUTER = 16

# PrivateEnvironment layout
const PRIVATE_ENVIRONMENT_OUTER = 16

# DeclarativeEnvironment binding storage layout
const DECLARATIVE_ENVIRONMENT_SHAPE = 24
const DECLARATIVE_ENVIRONMENT_BINDING_VALUES = 32
const DECLARATIVE_ENVIRONMENT_RARE_DATA_BINDING_FLAGS = 24
const ENVIRONMENT_SHAPE_BINDING_FLAGS = 40
const BINDING_FLAG_MUTABLE = 2
const BINDING_VALUES_DATA_PTR = 48
const BINDING_FLAGS_DATA_PTR = 40
const ENVIRONMENT_SHAPE_BINDING_FLAGS_DATA_PTR = 56

# EnvironmentCoordinate layout
const ENVIRONMENT_COORDINATE_HOPS = 0
const ENVIRONMENT_COORDINATE_INDEX = 4
const ENVIRONMENT_COORDINATE_INVALID = 0xFFFFFFFE
const ENVIRONMENT_COORDINATE_SIZE = 8

# TypedArrayBase layout
const TYPED_ARRAY_ELEMENT_SIZE = 88
const TYPED_ARRAY_ARRAY_LENGTH = 92
const TYPED_ARRAY_BYTE_OFFSET = 108
const TYPED_ARRAY_KIND = 116
const TYPED_ARRAY_CACHED_DATA_OFFSET = 128
const TYPED_ARRAY_CACHED_DATA_OFFSET_INVALID = 0xFFFFFFFFFFFFFFFF
const PRIMITIVE_STORAGE_CAGE_OFFSET_MASK = 0xFFFFFFFFF

# ByteLength layout
const BYTE_LENGTH_U32_INDEX = 2
const BYTE_LENGTH_SIZE = 8
const TYPED_ARRAY_ARRAY_LENGTH_VALUE = 92
const TYPED_ARRAY_ARRAY_LENGTH_INDEX = 96

# TypedArrayBase::Kind values
const TYPED_ARRAY_KIND_UINT8 = 0
const TYPED_ARRAY_KIND_UINT8_CLAMPED = 1
const TYPED_ARRAY_KIND_UINT16 = 2
const TYPED_ARRAY_KIND_UINT32 = 3
const TYPED_ARRAY_KIND_INT8 = 5
const TYPED_ARRAY_KIND_INT16 = 6
const TYPED_ARRAY_KIND_INT32 = 7
const TYPED_ARRAY_KIND_FLOAT32 = 10
const TYPED_ARRAY_KIND_FLOAT64 = 11

# Value tags
const OBJECT_TAG = 0xFFF9
const STRING_TAG = 0xFFFA
const SYMBOL_TAG = 0xFFFB
const BIGINT_TAG = 0xFFFD
const ACCESSOR_TAG = 0xFFFC
const IS_CELL_PATTERN = 0xFFF8
const INT32_TAG = 0x7FFA
const BOOLEAN_TAG = 0x7FF9
const UNDEFINED_TAG = 0x7FFE
const NULL_TAG = 0x7FFF

# Shifted value constants
const OBJECT_TAG_SHIFTED = 0xFFF9000000000000
const EMPTY_VALUE = 0x7FFB000000000000
const INT32_TAG_SHIFTED = 0x7FFA000000000000
const BOOLEAN_TRUE = 0x7FF9000000000001
const BOOLEAN_FALSE = 0x7FF9000000000000
const UNDEFINED_SHIFTED = 0x7FFE000000000000
const EMPTY_TAG_SHIFTED = 0x7FFB000000000000
const NAN_BASE_TAG = 0x7FF8
const CANON_NAN_BITS = 0x7FF8000000000000
const DOUBLE_ONE = 0x3FF0000000000000
const NEGATIVE_ZERO = 0x8000000000000000
const SHIFTED_IS_CELL_PATTERN = 0xFFF8000000000000
const ACCUMULATOR_REG_OFFSET = 0
const EXCEPTION_REG_OFFSET = 8
const THIS_VALUE_REG_OFFSET = 16
const RETURN_VALUE_REG_OFFSET = 24
const SAVED_LEXICAL_ENVIRONMENT_REG_OFFSET = 32
const RESERVED_REGISTERS_SIZE = 40
