5 #ifndef V8_IC_CALL_OPTIMIZATION_H_ 6 #define V8_IC_CALL_OPTIMIZATION_H_ 8 #include "src/code-stubs.h" 9 #include "src/macro-assembler.h" 10 #include "src/objects.h" 19 Context GetAccessorContext(
Map holder_map)
const;
20 bool IsCrossContextLazyAccessorPair(
Context native_context,
21 Map holder_map)
const;
23 bool is_constant_call()
const {
return !constant_function_.is_null(); }
26 DCHECK(is_constant_call());
27 return constant_function_;
30 bool is_simple_api_call()
const {
return is_simple_api_call_; }
33 DCHECK(is_simple_api_call());
34 return expected_receiver_type_;
38 DCHECK(is_simple_api_call());
39 return api_call_info_;
42 enum HolderLookup { kHolderNotFound, kHolderIsReceiver, kHolderFound };
44 Handle<Map> receiver_map, HolderLookup* holder_lookup)
const;
51 bool IsCompatibleReceiverMap(
Handle<Map> receiver_map,
56 void Initialize(
Isolate* isolate,
61 void AnalyzePossibleApiFunction(
Isolate* isolate,
65 bool is_simple_api_call_;
72 #endif // V8_IC_CALL_OPTIMIZATION_H_