blob: caef2a7a2c8bd2e9de685b15f96401ff03a97846 [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.
bitfield struct CallSiteInfoFlags extends uint31 {
is_wasm: bool: 1 bit;
is_asm_js_wasm: bool: 1 bit; // Implies that is_wasm bit is set.
is_strict: bool: 1 bit;
is_constructor: bool: 1 bit;
is_asm_js_at_number_conversion: bool: 1 bit;
is_async: bool: 1 bit;
is_builtin: bool: 1 bit;
// whether offset_or_source_position contains the source position.
is_source_position_computed: bool: 1 bit;
}
extern class CallSiteInfo extends Struct {
// A direct (sandbox off) or indirect (sandbox on) pointer to a Code or a
// BytecodeArray object. May be empty, in which case it contains Smi::zero().
@if(V8_ENABLE_SANDBOX) code_object: IndirectPointer;
@ifnot(V8_ENABLE_SANDBOX) code_object: Object;
receiver_or_instance: JSAny;
function: JSFunction|Smi;
code_offset_or_source_position: Smi;
flags: SmiTagged<CallSiteInfoFlags>;
parameters: FixedArray;
}