OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 V(FastHandleApiCall, NO_EXTRA_ARGUMENTS) \ | 58 V(FastHandleApiCall, NO_EXTRA_ARGUMENTS) \ |
59 V(HandleApiCallConstruct, NEEDS_CALLED_FUNCTION) \ | 59 V(HandleApiCallConstruct, NEEDS_CALLED_FUNCTION) \ |
60 V(HandleApiCallAsFunction, NO_EXTRA_ARGUMENTS) \ | 60 V(HandleApiCallAsFunction, NO_EXTRA_ARGUMENTS) \ |
61 V(HandleApiCallAsConstructor, NO_EXTRA_ARGUMENTS) | 61 V(HandleApiCallAsConstructor, NO_EXTRA_ARGUMENTS) |
62 | 62 |
63 | 63 |
64 // Define list of builtins implemented in assembly. | 64 // Define list of builtins implemented in assembly. |
65 #define BUILTIN_LIST_A(V) \ | 65 #define BUILTIN_LIST_A(V) \ |
66 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED) \ | 66 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED) \ |
67 V(JSConstructCall, BUILTIN, UNINITIALIZED) \ | 67 V(JSConstructCall, BUILTIN, UNINITIALIZED) \ |
| 68 V(JSConstructStubCountdown, BUILTIN, UNINITIALIZED) \ |
68 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED) \ | 69 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED) \ |
69 V(JSConstructStubApi, BUILTIN, UNINITIALIZED) \ | 70 V(JSConstructStubApi, BUILTIN, UNINITIALIZED) \ |
70 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED) \ | 71 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED) \ |
71 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED) \ | 72 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED) \ |
72 V(LazyCompile, BUILTIN, UNINITIALIZED) \ | 73 V(LazyCompile, BUILTIN, UNINITIALIZED) \ |
73 \ | 74 \ |
74 V(LoadIC_Miss, BUILTIN, UNINITIALIZED) \ | 75 V(LoadIC_Miss, BUILTIN, UNINITIALIZED) \ |
75 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED) \ | 76 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED) \ |
76 V(StoreIC_Miss, BUILTIN, UNINITIALIZED) \ | 77 V(StoreIC_Miss, BUILTIN, UNINITIALIZED) \ |
77 V(KeyedStoreIC_Miss, BUILTIN, UNINITIALIZED) \ | 78 V(KeyedStoreIC_Miss, BUILTIN, UNINITIALIZED) \ |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 // function f, we use an Object* array here. | 243 // function f, we use an Object* array here. |
243 static Object* builtins_[builtin_count]; | 244 static Object* builtins_[builtin_count]; |
244 static const char* names_[builtin_count]; | 245 static const char* names_[builtin_count]; |
245 static const char* javascript_names_[id_count]; | 246 static const char* javascript_names_[id_count]; |
246 static int javascript_argc_[id_count]; | 247 static int javascript_argc_[id_count]; |
247 | 248 |
248 static void Generate_Adaptor(MacroAssembler* masm, | 249 static void Generate_Adaptor(MacroAssembler* masm, |
249 CFunctionId id, | 250 CFunctionId id, |
250 BuiltinExtraArguments extra_args); | 251 BuiltinExtraArguments extra_args); |
251 static void Generate_JSConstructCall(MacroAssembler* masm); | 252 static void Generate_JSConstructCall(MacroAssembler* masm); |
| 253 static void Generate_JSConstructStubCountdown(MacroAssembler* masm); |
252 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); | 254 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); |
253 static void Generate_JSConstructStubApi(MacroAssembler* masm); | 255 static void Generate_JSConstructStubApi(MacroAssembler* masm); |
254 static void Generate_JSEntryTrampoline(MacroAssembler* masm); | 256 static void Generate_JSEntryTrampoline(MacroAssembler* masm); |
255 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); | 257 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); |
256 static void Generate_LazyCompile(MacroAssembler* masm); | 258 static void Generate_LazyCompile(MacroAssembler* masm); |
257 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); | 259 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); |
258 | 260 |
259 static void Generate_FunctionCall(MacroAssembler* masm); | 261 static void Generate_FunctionCall(MacroAssembler* masm); |
260 static void Generate_FunctionApply(MacroAssembler* masm); | 262 static void Generate_FunctionApply(MacroAssembler* masm); |
261 | 263 |
262 static void Generate_ArrayCode(MacroAssembler* masm); | 264 static void Generate_ArrayCode(MacroAssembler* masm); |
263 static void Generate_ArrayConstructCode(MacroAssembler* masm); | 265 static void Generate_ArrayConstructCode(MacroAssembler* masm); |
264 | 266 |
265 static void Generate_StringConstructCode(MacroAssembler* masm); | 267 static void Generate_StringConstructCode(MacroAssembler* masm); |
266 }; | 268 }; |
267 | 269 |
268 } } // namespace v8::internal | 270 } } // namespace v8::internal |
269 | 271 |
270 #endif // V8_BUILTINS_H_ | 272 #endif // V8_BUILTINS_H_ |
OLD | NEW |