| // Copyright 2020 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. |
| |
| @abstract |
| @generateCppClass |
| @highestInstanceTypeWithinParentClassRange |
| extern class JSFunctionOrBoundFunction extends JSObject { |
| } |
| |
| @generateCppClass |
| extern class JSBoundFunction extends JSFunctionOrBoundFunction { |
| // The wrapped function object. |
| bound_target_function: Callable; |
| // The value that is always passed as the this value when calling the wrapped |
| // function. |
| bound_this: JSAny|SourceTextModule; |
| // A list of values whose elements are used as the first arguments to any call |
| // to the wrapped function. |
| bound_arguments: FixedArray; |
| } |
| |
| @highestInstanceTypeWithinParentClassRange |
| extern class JSFunction extends JSFunctionOrBoundFunction { |
| shared_function_info: SharedFunctionInfo; |
| context: Context; |
| feedback_cell: FeedbackCell; |
| weak code: Code; |
| |
| // Space for the following field may or may not be allocated. |
| @noVerifier weak prototype_or_initial_map: JSReceiver|Map; |
| } |
| |
| type JSFunctionWithPrototypeSlot extends JSFunction; |