5 #ifndef V8_CODE_FACTORY_H_ 6 #define V8_CODE_FACTORY_H_ 8 #include "src/allocation.h" 9 #include "src/callable.h" 10 #include "src/code-stubs.h" 11 #include "src/globals.h" 12 #include "src/interface-descriptors.h" 18 enum AllocationSiteOverrideMode {
20 DISABLE_ALLOCATION_SITES,
32 SaveFPRegsMode save_doubles = kDontSaveFPRegs,
33 ArgvMode argv_mode = kArgvOnStack,
34 bool builtin_exit_frame =
false);
39 TypeofMode typeof_mode);
44 KeyedAccessStoreMode mode);
46 KeyedAccessStoreMode mode);
48 KeyedAccessStoreMode mode);
50 KeyedAccessStoreMode mode);
52 KeyedAccessStoreMode mode);
67 static Callable NonPrimitiveToPrimitive(
68 Isolate* isolate, ToPrimitiveHint hint = ToPrimitiveHint::kDefault);
70 OrdinaryToPrimitiveHint hint);
73 StringAddFlags flags = STRING_ADD_CHECK_NONE);
76 ScopeType scope_type);
80 ConvertReceiverMode mode = ConvertReceiverMode::kAny);
84 Isolate* isolate, ConvertReceiverMode mode = ConvertReceiverMode::kAny);
96 ConvertReceiverMode receiver_mode,
97 InterpreterPushArgsMode mode);
98 static Callable InterpreterPushArgsThenConstruct(
99 Isolate* isolate, InterpreterPushArgsMode mode);
100 static Callable InterpreterCEntry(
Isolate* isolate,
int result_size = 1);
103 static Callable ArrayNoArgumentConstructor(
104 Isolate* isolate, ElementsKind kind,
105 AllocationSiteOverrideMode override_mode);
106 static Callable ArraySingleArgumentConstructor(
107 Isolate* isolate, ElementsKind kind,
108 AllocationSiteOverrideMode override_mode);
112 static Callable InternalArraySingleArgumentConstructor(
Isolate* isolate,
119 #endif // V8_CODE_FACTORY_H_