Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Side by Side Diff: src/builtins.h

Issue 2057403003: Hooking up asm-wasm conversion. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_BUILTINS_H_ 5 #ifndef V8_BUILTINS_H_
6 #define V8_BUILTINS_H_ 6 #define V8_BUILTINS_H_
7 7
8 #include "src/base/flags.h" 8 #include "src/base/flags.h"
9 #include "src/handles.h" 9 #include "src/handles.h"
10 10
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 \ 170 \
171 V(TypedArrayPrototypeBuffer) \ 171 V(TypedArrayPrototypeBuffer) \
172 \ 172 \
173 V(HandleApiCall) \ 173 V(HandleApiCall) \
174 V(HandleApiCallAsFunction) \ 174 V(HandleApiCallAsFunction) \
175 V(HandleApiCallAsConstructor) \ 175 V(HandleApiCallAsConstructor) \
176 \ 176 \
177 V(RestrictedFunctionPropertiesThrower) \ 177 V(RestrictedFunctionPropertiesThrower) \
178 V(RestrictedStrictArgumentsPropertiesThrower) 178 V(RestrictedStrictArgumentsPropertiesThrower)
179 179
180 // TODO(bradnelson): Implement for all arches and drop.
181 #if defined(V8_TARGET_ARCH_X64)
Michael Starzinger 2016/06/29 08:29:23 We usually implement new features on all architect
bradn 2016/06/30 07:59:36 Done.
182 #define BUILTIN_LIST_A_PARTIAL(V) V(InstantiateAsmJs, BUILTIN, kNoExtraICState)
183 #else
184 #define BUILTIN_LIST_A_PARTIAL(V)
185 #endif
186
180 // Define list of builtins implemented in assembly. 187 // Define list of builtins implemented in assembly.
181 #define BUILTIN_LIST_A(V) \ 188 #define BUILTIN_LIST_A(V) \
189 BUILTIN_LIST_A_PARTIAL(V) \
182 V(AllocateInNewSpace, BUILTIN, kNoExtraICState) \ 190 V(AllocateInNewSpace, BUILTIN, kNoExtraICState) \
183 V(AllocateInOldSpace, BUILTIN, kNoExtraICState) \ 191 V(AllocateInOldSpace, BUILTIN, kNoExtraICState) \
184 \ 192 \
185 V(ArgumentsAdaptorTrampoline, BUILTIN, kNoExtraICState) \ 193 V(ArgumentsAdaptorTrampoline, BUILTIN, kNoExtraICState) \
186 \ 194 \
187 V(ConstructedNonConstructable, BUILTIN, kNoExtraICState) \ 195 V(ConstructedNonConstructable, BUILTIN, kNoExtraICState) \
188 \ 196 \
189 V(CallFunction_ReceiverIsNullOrUndefined, BUILTIN, kNoExtraICState) \ 197 V(CallFunction_ReceiverIsNullOrUndefined, BUILTIN, kNoExtraICState) \
190 V(CallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, kNoExtraICState) \ 198 V(CallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, kNoExtraICState) \
191 V(CallFunction_ReceiverIsAny, BUILTIN, kNoExtraICState) \ 199 V(CallFunction_ReceiverIsAny, BUILTIN, kNoExtraICState) \
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 #undef DEF_ENUM_T 398 #undef DEF_ENUM_T
391 #undef DEF_ENUM_S 399 #undef DEF_ENUM_S
392 #undef DEF_ENUM_H 400 #undef DEF_ENUM_H
393 builtin_count 401 builtin_count
394 }; 402 };
395 403
396 enum CFunctionId { 404 enum CFunctionId {
397 #define DEF_ENUM_C(name) c_##name, 405 #define DEF_ENUM_C(name) c_##name,
398 BUILTIN_LIST_C(DEF_ENUM_C) 406 BUILTIN_LIST_C(DEF_ENUM_C)
399 #undef DEF_ENUM_C 407 #undef DEF_ENUM_C
400 cfunction_count 408 cfunction_count
401 }; 409 };
402 410
403 #define DECLARE_BUILTIN_ACCESSOR_C(name) Handle<Code> name(); 411 #define DECLARE_BUILTIN_ACCESSOR_C(name) Handle<Code> name();
404 #define DECLARE_BUILTIN_ACCESSOR_A(name, kind, extra) Handle<Code> name(); 412 #define DECLARE_BUILTIN_ACCESSOR_A(name, kind, extra) Handle<Code> name();
405 #define DECLARE_BUILTIN_ACCESSOR_T(name, argc) Handle<Code> name(); 413 #define DECLARE_BUILTIN_ACCESSOR_T(name, argc) Handle<Code> name();
406 #define DECLARE_BUILTIN_ACCESSOR_S(name, kind, extra, interface_descriptor) \ 414 #define DECLARE_BUILTIN_ACCESSOR_S(name, kind, extra, interface_descriptor) \
407 Handle<Code> name(); 415 Handle<Code> name();
408 #define DECLARE_BUILTIN_ACCESSOR_H(name, kind) Handle<Code> name(); 416 #define DECLARE_BUILTIN_ACCESSOR_H(name, kind) Handle<Code> name();
409 BUILTIN_LIST_C(DECLARE_BUILTIN_ACCESSOR_C) 417 BUILTIN_LIST_C(DECLARE_BUILTIN_ACCESSOR_C)
410 BUILTIN_LIST_A(DECLARE_BUILTIN_ACCESSOR_A) 418 BUILTIN_LIST_A(DECLARE_BUILTIN_ACCESSOR_A)
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 // IterateBuiltins() above which assumes Object**'s for the callback 471 // IterateBuiltins() above which assumes Object**'s for the callback
464 // function f, we use an Object* array here. 472 // function f, we use an Object* array here.
465 Object* builtins_[builtin_count]; 473 Object* builtins_[builtin_count];
466 const char* names_[builtin_count]; 474 const char* names_[builtin_count];
467 475
468 static void Generate_Adaptor(MacroAssembler* masm, CFunctionId id); 476 static void Generate_Adaptor(MacroAssembler* masm, CFunctionId id);
469 static void Generate_AllocateInNewSpace(MacroAssembler* masm); 477 static void Generate_AllocateInNewSpace(MacroAssembler* masm);
470 static void Generate_AllocateInOldSpace(MacroAssembler* masm); 478 static void Generate_AllocateInOldSpace(MacroAssembler* masm);
471 static void Generate_ConstructedNonConstructable(MacroAssembler* masm); 479 static void Generate_ConstructedNonConstructable(MacroAssembler* masm);
472 static void Generate_CompileLazy(MacroAssembler* masm); 480 static void Generate_CompileLazy(MacroAssembler* masm);
481 #if defined(V8_TARGET_ARCH_X64)
Michael Starzinger 2016/06/29 08:29:23 Likewise.
bradn 2016/06/30 07:59:36 Done.
482 // TODO(bradnelson): Implement on all arches.
483 static void Generate_InstantiateAsmJs(MacroAssembler* masm);
Michael Starzinger 2016/06/29 08:29:23 nit: Can we move this declaration up one line? The
bradn 2016/06/30 07:59:36 Done.
484 #endif
473 static void Generate_CompileBaseline(MacroAssembler* masm); 485 static void Generate_CompileBaseline(MacroAssembler* masm);
474 static void Generate_InOptimizationQueue(MacroAssembler* masm); 486 static void Generate_InOptimizationQueue(MacroAssembler* masm);
475 static void Generate_CompileOptimized(MacroAssembler* masm); 487 static void Generate_CompileOptimized(MacroAssembler* masm);
476 static void Generate_CompileOptimizedConcurrent(MacroAssembler* masm); 488 static void Generate_CompileOptimizedConcurrent(MacroAssembler* masm);
477 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); 489 static void Generate_JSConstructStubGeneric(MacroAssembler* masm);
478 static void Generate_JSBuiltinsConstructStub(MacroAssembler* masm); 490 static void Generate_JSBuiltinsConstructStub(MacroAssembler* masm);
479 static void Generate_JSBuiltinsConstructStubForDerived(MacroAssembler* masm); 491 static void Generate_JSBuiltinsConstructStubForDerived(MacroAssembler* masm);
480 static void Generate_JSConstructStubApi(MacroAssembler* masm); 492 static void Generate_JSConstructStubApi(MacroAssembler* masm);
481 static void Generate_JSEntryTrampoline(MacroAssembler* masm); 493 static void Generate_JSEntryTrampoline(MacroAssembler* masm);
482 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); 494 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm);
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 friend class BuiltinFunctionTable; 763 friend class BuiltinFunctionTable;
752 friend class Isolate; 764 friend class Isolate;
753 765
754 DISALLOW_COPY_AND_ASSIGN(Builtins); 766 DISALLOW_COPY_AND_ASSIGN(Builtins);
755 }; 767 };
756 768
757 } // namespace internal 769 } // namespace internal
758 } // namespace v8 770 } // namespace v8
759 771
760 #endif // V8_BUILTINS_H_ 772 #endif // V8_BUILTINS_H_
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | src/builtins.cc » ('j') | src/builtins.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698