// 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. type DependentCode extends WeakFixedArray; bitfield struct OSRUrgencyAndInstallTarget extends uint16 { // The layout is chosen s.t. urgency and the install target offset can be // loaded with a single 16-bit load (i.e. no masking required). osr_urgency: uint32: 3 bit; // The 13 LSB of the install target bytecode offset. osr_install_target: uint32: 13 bit; } extern class BytecodeArray extends FixedArrayBase { // TODO(v8:8983): bytecode array object sizes vary based on their contents. constant_pool: FixedArray; // The handler table contains offsets of exception handlers. handler_table: ByteArray; // Source position table. Can contain: // * undefined (initial value) // * empty_byte_array (for bytecode generated for functions that will never // have source positions, e.g. native functions). // * ByteArray (when source positions have been collected for the bytecode) // * exception (when an error occurred while explicitly collecting source // positions for pre-existing bytecode). @cppAcquireLoad @cppReleaseStore source_position_table: Undefined|ByteArray|Exception; frame_size: int32; parameter_size: int32; incoming_new_target_or_generator_register: int32; osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; bytecode_age: uint16; // Only 3 bits used. } extern class CodeDataContainer extends HeapObject;