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

Side by Side Diff: src/builtins.h

Issue 1865833002: [generators] Decouple generator resume from fullcodegen. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 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 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 V(HandleFastApiCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 210 V(HandleFastApiCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \
211 \ 211 \
212 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 212 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \
213 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 213 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \
214 V(JSBuiltinsConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 214 V(JSBuiltinsConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \
215 V(JSBuiltinsConstructStubForDerived, BUILTIN, UNINITIALIZED, \ 215 V(JSBuiltinsConstructStubForDerived, BUILTIN, UNINITIALIZED, \
216 kNoExtraICState) \ 216 kNoExtraICState) \
217 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 217 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, kNoExtraICState) \
218 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 218 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \
219 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 219 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \
220 V(ResumeGeneratorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \
220 V(CompileLazy, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 221 V(CompileLazy, BUILTIN, UNINITIALIZED, kNoExtraICState) \
221 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 222 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \
222 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 223 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \
223 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 224 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \
224 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 225 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \
225 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 226 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \
226 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 227 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \
227 V(NotifyStubFailureSaveDoubles, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 228 V(NotifyStubFailureSaveDoubles, BUILTIN, UNINITIALIZED, kNoExtraICState) \
228 \ 229 \
229 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 230 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 V(OnStackReplacement, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 300 V(OnStackReplacement, BUILTIN, UNINITIALIZED, kNoExtraICState) \
300 V(InterruptCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 301 V(InterruptCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \
301 V(StackCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 302 V(StackCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \
302 \ 303 \
303 V(MarkCodeAsToBeExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 304 V(MarkCodeAsToBeExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \
304 V(MarkCodeAsExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 305 V(MarkCodeAsExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \
305 V(MarkCodeAsExecutedTwice, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 306 V(MarkCodeAsExecutedTwice, BUILTIN, UNINITIALIZED, kNoExtraICState) \
306 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V) 307 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V)
307 308
308 // Define list of builtins implemented in TurboFan (with JS linkage). 309 // Define list of builtins implemented in TurboFan (with JS linkage).
309 #define BUILTIN_LIST_T(V) \ 310 #define BUILTIN_LIST_T(V) \
310 V(MathCeil, 2) \ 311 V(GeneratorPrototypeNext, 2) \
311 V(MathClz32, 2) \ 312 V(GeneratorPrototypeReturn, 2) \
312 V(MathFloor, 2) \ 313 V(GeneratorPrototypeThrow, 2) \
313 V(MathRound, 2) \ 314 V(MathCeil, 2) \
314 V(MathSqrt, 2) \ 315 V(MathClz32, 2) \
315 V(MathTrunc, 2) \ 316 V(MathFloor, 2) \
317 V(MathRound, 2) \
318 V(MathSqrt, 2) \
319 V(MathTrunc, 2) \
316 V(ObjectHasOwnProperty, 2) 320 V(ObjectHasOwnProperty, 2)
317 321
318 // Define list of builtin handlers implemented in assembly. 322 // Define list of builtin handlers implemented in assembly.
319 #define BUILTIN_LIST_H(V) \ 323 #define BUILTIN_LIST_H(V) \
320 V(LoadIC_Slow, LOAD_IC) \ 324 V(LoadIC_Slow, LOAD_IC) \
321 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ 325 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \
322 V(StoreIC_Slow, STORE_IC) \ 326 V(StoreIC_Slow, STORE_IC) \
323 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ 327 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \
324 V(LoadIC_Normal, LOAD_IC) \ 328 V(LoadIC_Normal, LOAD_IC) \
325 V(StoreIC_Normal, STORE_IC) 329 V(StoreIC_Normal, STORE_IC)
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 static void Generate_CompileLazy(MacroAssembler* masm); 445 static void Generate_CompileLazy(MacroAssembler* masm);
442 static void Generate_InOptimizationQueue(MacroAssembler* masm); 446 static void Generate_InOptimizationQueue(MacroAssembler* masm);
443 static void Generate_CompileOptimized(MacroAssembler* masm); 447 static void Generate_CompileOptimized(MacroAssembler* masm);
444 static void Generate_CompileOptimizedConcurrent(MacroAssembler* masm); 448 static void Generate_CompileOptimizedConcurrent(MacroAssembler* masm);
445 static void Generate_JSConstructStubGeneric(MacroAssembler* masm); 449 static void Generate_JSConstructStubGeneric(MacroAssembler* masm);
446 static void Generate_JSBuiltinsConstructStub(MacroAssembler* masm); 450 static void Generate_JSBuiltinsConstructStub(MacroAssembler* masm);
447 static void Generate_JSBuiltinsConstructStubForDerived(MacroAssembler* masm); 451 static void Generate_JSBuiltinsConstructStubForDerived(MacroAssembler* masm);
448 static void Generate_JSConstructStubApi(MacroAssembler* masm); 452 static void Generate_JSConstructStubApi(MacroAssembler* masm);
449 static void Generate_JSEntryTrampoline(MacroAssembler* masm); 453 static void Generate_JSEntryTrampoline(MacroAssembler* masm);
450 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); 454 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm);
455 static void Generate_ResumeGeneratorTrampoline(MacroAssembler* masm);
451 static void Generate_NotifyDeoptimized(MacroAssembler* masm); 456 static void Generate_NotifyDeoptimized(MacroAssembler* masm);
452 static void Generate_NotifySoftDeoptimized(MacroAssembler* masm); 457 static void Generate_NotifySoftDeoptimized(MacroAssembler* masm);
453 static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); 458 static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm);
454 static void Generate_NotifyStubFailure(MacroAssembler* masm); 459 static void Generate_NotifyStubFailure(MacroAssembler* masm);
455 static void Generate_NotifyStubFailureSaveDoubles(MacroAssembler* masm); 460 static void Generate_NotifyStubFailureSaveDoubles(MacroAssembler* masm);
456 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); 461 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm);
457 462
458 static void Generate_Apply(MacroAssembler* masm); 463 static void Generate_Apply(MacroAssembler* masm);
459 464
460 // ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) 465 // ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList)
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 // ES6 section 20.2.2.32 Math.sqrt ( x ) 612 // ES6 section 20.2.2.32 Math.sqrt ( x )
608 static void Generate_MathSqrt(compiler::CodeStubAssembler* assembler); 613 static void Generate_MathSqrt(compiler::CodeStubAssembler* assembler);
609 // ES6 section 20.2.2.35 Math.trunc ( x ) 614 // ES6 section 20.2.2.35 Math.trunc ( x )
610 static void Generate_MathTrunc(compiler::CodeStubAssembler* assembler); 615 static void Generate_MathTrunc(compiler::CodeStubAssembler* assembler);
611 616
612 // ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Call]] case. 617 // ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Call]] case.
613 static void Generate_NumberConstructor(MacroAssembler* masm); 618 static void Generate_NumberConstructor(MacroAssembler* masm);
614 // ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Construct]] case. 619 // ES6 section 20.1.1.1 Number ( [ value ] ) for the [[Construct]] case.
615 static void Generate_NumberConstructor_ConstructStub(MacroAssembler* masm); 620 static void Generate_NumberConstructor_ConstructStub(MacroAssembler* masm);
616 621
622 // ES6 section 25.3.1.2 Generator.prototype.next ( value )
623 static void Generate_GeneratorPrototypeNext(
624 compiler::CodeStubAssembler* assembler);
625 // ES6 section 25.3.1.3 Generator.prototype.return ( value )
626 static void Generate_GeneratorPrototypeReturn(
627 compiler::CodeStubAssembler* assembler);
628 // ES6 section 25.3.1.4 Generator.prototype.throw ( exception )
629 static void Generate_GeneratorPrototypeThrow(
630 compiler::CodeStubAssembler* assembler);
631
617 // ES6 section 19.1.3.2 Object.prototype.hasOwnProperty 632 // ES6 section 19.1.3.2 Object.prototype.hasOwnProperty
618 static void Generate_ObjectHasOwnProperty( 633 static void Generate_ObjectHasOwnProperty(
619 compiler::CodeStubAssembler* assembler); 634 compiler::CodeStubAssembler* assembler);
620 635
621 static void Generate_StringConstructor(MacroAssembler* masm); 636 static void Generate_StringConstructor(MacroAssembler* masm);
622 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm); 637 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm);
623 static void Generate_OnStackReplacement(MacroAssembler* masm); 638 static void Generate_OnStackReplacement(MacroAssembler* masm);
624 static void Generate_InterruptCheck(MacroAssembler* masm); 639 static void Generate_InterruptCheck(MacroAssembler* masm);
625 static void Generate_StackCheck(MacroAssembler* masm); 640 static void Generate_StackCheck(MacroAssembler* masm);
626 641
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 friend class BuiltinFunctionTable; 675 friend class BuiltinFunctionTable;
661 friend class Isolate; 676 friend class Isolate;
662 677
663 DISALLOW_COPY_AND_ASSIGN(Builtins); 678 DISALLOW_COPY_AND_ASSIGN(Builtins);
664 }; 679 };
665 680
666 } // namespace internal 681 } // namespace internal
667 } // namespace v8 682 } // namespace v8
668 683
669 #endif // V8_BUILTINS_H_ 684 #endif // V8_BUILTINS_H_
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | src/builtins.cc » ('j') | src/deoptimizer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698