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

Side by Side Diff: src/full-codegen/full-codegen.h

Issue 1378533002: [es6] Introduce %ToInteger and %ToLength. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 2 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_FULL_CODEGEN_FULL_CODEGEN_H_ 5 #ifndef V8_FULL_CODEGEN_FULL_CODEGEN_H_
6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_ 6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assert-scope.h" 9 #include "src/assert-scope.h"
10 #include "src/ast.h" 10 #include "src/ast.h"
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 void EmitReturnSequence(); 473 void EmitReturnSequence();
474 474
475 // Platform-specific code sequences for calls 475 // Platform-specific code sequences for calls
476 void EmitCall(Call* expr, CallICState::CallType = CallICState::FUNCTION); 476 void EmitCall(Call* expr, CallICState::CallType = CallICState::FUNCTION);
477 void EmitSuperConstructorCall(Call* expr); 477 void EmitSuperConstructorCall(Call* expr);
478 void EmitCallWithLoadIC(Call* expr); 478 void EmitCallWithLoadIC(Call* expr);
479 void EmitSuperCallWithLoadIC(Call* expr); 479 void EmitSuperCallWithLoadIC(Call* expr);
480 void EmitKeyedCallWithLoadIC(Call* expr, Expression* key); 480 void EmitKeyedCallWithLoadIC(Call* expr, Expression* key);
481 void EmitKeyedSuperCallWithLoadIC(Call* expr); 481 void EmitKeyedSuperCallWithLoadIC(Call* expr);
482 482
483 #define FOR_EACH_FULL_CODE_INTRINSIC(F) \ 483 #define FOR_EACH_FULL_CODE_INTRINSIC(F) \
484 F(IsSmi) \ 484 F(IsSmi) \
485 F(IsArray) \ 485 F(IsArray) \
486 F(IsTypedArray) \ 486 F(IsTypedArray) \
487 F(IsRegExp) \ 487 F(IsRegExp) \
488 F(IsJSProxy) \ 488 F(IsJSProxy) \
489 F(IsConstructCall) \ 489 F(IsConstructCall) \
490 F(Call) \ 490 F(Call) \
491 F(CallFunction) \ 491 F(CallFunction) \
492 F(DefaultConstructorCallSuper) \ 492 F(DefaultConstructorCallSuper) \
493 F(ArgumentsLength) \ 493 F(ArgumentsLength) \
494 F(Arguments) \ 494 F(Arguments) \
495 F(ValueOf) \ 495 F(ValueOf) \
496 F(SetValueOf) \ 496 F(SetValueOf) \
497 F(IsDate) \ 497 F(IsDate) \
498 F(DateField) \ 498 F(DateField) \
499 F(StringCharFromCode) \ 499 F(StringCharFromCode) \
500 F(StringCharAt) \ 500 F(StringCharAt) \
501 F(OneByteSeqStringSetChar) \ 501 F(OneByteSeqStringSetChar) \
502 F(TwoByteSeqStringSetChar) \ 502 F(TwoByteSeqStringSetChar) \
503 F(ObjectEquals) \ 503 F(ObjectEquals) \
504 F(IsFunction) \ 504 F(IsFunction) \
505 F(IsSpecObject) \ 505 F(IsSpecObject) \
506 F(IsSimdValue) \ 506 F(IsSimdValue) \
507 F(MathPow) \ 507 F(MathPow) \
508 F(IsMinusZero) \ 508 F(IsMinusZero) \
509 F(HasCachedArrayIndex) \ 509 F(HasCachedArrayIndex) \
510 F(GetCachedArrayIndex) \ 510 F(GetCachedArrayIndex) \
511 F(FastOneByteArrayJoin) \ 511 F(FastOneByteArrayJoin) \
512 F(GeneratorNext) \ 512 F(GeneratorNext) \
513 F(GeneratorThrow) \ 513 F(GeneratorThrow) \
514 F(DebugBreakInOptimizedCode) \ 514 F(DebugBreakInOptimizedCode) \
515 F(ClassOf) \ 515 F(ClassOf) \
516 F(StringCharCodeAt) \ 516 F(StringCharCodeAt) \
517 F(StringAdd) \ 517 F(StringAdd) \
518 F(SubString) \ 518 F(SubString) \
519 F(RegExpExec) \ 519 F(RegExpExec) \
520 F(RegExpConstructResult) \ 520 F(RegExpConstructResult) \
521 F(NumberToString) \ 521 F(ToInteger) \
522 F(ToString) \ 522 F(NumberToString) \
523 F(ToName) \ 523 F(ToString) \
524 F(ToObject) \ 524 F(ToName) \
525 F(DebugIsActive) \ 525 F(ToObject) \
526 F(DebugIsActive) \
526 F(CreateIterResultObject) 527 F(CreateIterResultObject)
527 528
528 #define GENERATOR_DECLARATION(Name) void Emit##Name(CallRuntime* call); 529 #define GENERATOR_DECLARATION(Name) void Emit##Name(CallRuntime* call);
529 FOR_EACH_FULL_CODE_INTRINSIC(GENERATOR_DECLARATION) 530 FOR_EACH_FULL_CODE_INTRINSIC(GENERATOR_DECLARATION)
530 #undef GENERATOR_DECLARATION 531 #undef GENERATOR_DECLARATION
531 532
532 // Platform-specific code for resuming generators. 533 // Platform-specific code for resuming generators.
533 void EmitGeneratorResume(Expression *generator, 534 void EmitGeneratorResume(Expression *generator,
534 Expression *value, 535 Expression *value,
535 JSGeneratorObject::ResumeMode resume_mode); 536 JSGeneratorObject::ResumeMode resume_mode);
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 1077
1077 Address start_; 1078 Address start_;
1078 Address instruction_start_; 1079 Address instruction_start_;
1079 uint32_t length_; 1080 uint32_t length_;
1080 }; 1081 };
1081 1082
1082 1083
1083 } } // namespace v8::internal 1084 } } // namespace v8::internal
1084 1085
1085 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ 1086 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_
OLDNEW
« no previous file with comments | « src/full-codegen/arm64/full-codegen-arm64.cc ('k') | src/full-codegen/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698