![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <call-optimization.h>
Public Types | |
enum | HolderLookup { kHolderNotFound , kHolderIsReceiver , kHolderFound } |
Public Member Functions | |
template<class IsolateT > | |
CallOptimization (IsolateT *isolate, Handle< Object > function) | |
std::optional< Tagged< NativeContext > > | GetAccessorContext (Tagged< Map > holder_map) const |
bool | IsCrossContextLazyAccessorPair (Tagged< NativeContext > native_context, Tagged< Map > holder_map) const |
bool | is_constant_call () const |
bool | accept_any_receiver () const |
bool | requires_signature_check () const |
DirectHandle< JSFunction > | constant_function () const |
bool | is_simple_api_call () const |
DirectHandle< FunctionTemplateInfo > | expected_receiver_type () const |
DirectHandle< FunctionTemplateInfo > | api_call_info () const |
template<class IsolateT > | |
Handle< JSObject > | LookupHolderOfExpectedType (IsolateT *isolate, DirectHandle< Map > receiver_map, HolderLookup *holder_lookup) const |
bool | IsCompatibleReceiverMap (DirectHandle< JSObject > api_holder, Handle< JSObject > holder, HolderLookup) const |
Private Member Functions | |
template<class IsolateT > | |
void | Initialize (IsolateT *isolate, Handle< JSFunction > function) |
template<class IsolateT > | |
void | Initialize (IsolateT *isolate, Handle< FunctionTemplateInfo > function_template_info) |
template<class IsolateT > | |
void | AnalyzePossibleApiFunction (IsolateT *isolate, DirectHandle< JSFunction > function) |
Private Attributes | |
Handle< JSFunction > | constant_function_ |
Handle< FunctionTemplateInfo > | expected_receiver_type_ |
Handle< FunctionTemplateInfo > | api_call_info_ |
bool | is_simple_api_call_ = false |
bool | accept_any_receiver_ = false |
Definition at line 17 of file call-optimization.h.
Enumerator | |
---|---|
kHolderNotFound | |
kHolderIsReceiver | |
kHolderFound |
Definition at line 57 of file call-optimization.h.
|
inline |
|
private |
Definition at line 142 of file call-optimization.cc.
|
inline |
Definition at line 52 of file call-optimization.h.
|
inline |
|
inline |
std::optional< Tagged< NativeContext > > v8::internal::CallOptimization::GetAccessorContext | ( | Tagged< Map > | holder_map | ) | const |
Definition at line 29 of file call-optimization.cc.
|
private |
|
private |
Definition at line 133 of file call-optimization.cc.
|
inline |
|
inline |
bool v8::internal::CallOptimization::IsCompatibleReceiverMap | ( | DirectHandle< JSObject > | api_holder, |
Handle< JSObject > | holder, | ||
HolderLookup | holder_lookup ) const |
Definition at line 92 of file call-optimization.cc.
bool v8::internal::CallOptimization::IsCrossContextLazyAccessorPair | ( | Tagged< NativeContext > | native_context, |
Tagged< Map > | holder_map ) const |
template Handle< JSObject > v8::internal::CallOptimization::LookupHolderOfExpectedType | ( | IsolateT * | isolate, |
DirectHandle< Map > | receiver_map, | ||
HolderLookup * | holder_lookup ) const |
Definition at line 58 of file call-optimization.cc.
|
inline |
|
private |
Definition at line 87 of file call-optimization.h.
|
private |
Definition at line 82 of file call-optimization.h.
|
private |
Definition at line 80 of file call-optimization.h.
|
private |
Definition at line 81 of file call-optimization.h.
|
private |
Definition at line 86 of file call-optimization.h.