OLD | NEW |
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 #include "src/full-codegen/full-codegen.h" | 5 #include "src/full-codegen/full-codegen.h" |
6 | 6 |
7 #include "src/ast.h" | 7 #include "src/ast.h" |
8 #include "src/ast-numbering.h" | 8 #include "src/ast-numbering.h" |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 DCHECK(args->length() == 2); | 491 DCHECK(args->length() == 2); |
492 VisitForStackValue(args->at(0)); | 492 VisitForStackValue(args->at(0)); |
493 VisitForStackValue(args->at(1)); | 493 VisitForStackValue(args->at(1)); |
494 | 494 |
495 MathPowStub stub(isolate(), MathPowStub::ON_STACK); | 495 MathPowStub stub(isolate(), MathPowStub::ON_STACK); |
496 __ CallStub(&stub); | 496 __ CallStub(&stub); |
497 context()->Plug(result_register()); | 497 context()->Plug(result_register()); |
498 } | 498 } |
499 | 499 |
500 | 500 |
501 void FullCodeGenerator::EmitStringCompare(CallRuntime* expr) { | |
502 ZoneList<Expression*>* args = expr->arguments(); | |
503 DCHECK_EQ(2, args->length()); | |
504 | |
505 VisitForStackValue(args->at(0)); | |
506 VisitForStackValue(args->at(1)); | |
507 | |
508 StringCompareStub stub(isolate()); | |
509 __ CallStub(&stub); | |
510 context()->Plug(result_register()); | |
511 } | |
512 | |
513 | |
514 bool RecordStatementPosition(MacroAssembler* masm, int pos) { | 501 bool RecordStatementPosition(MacroAssembler* masm, int pos) { |
515 if (pos == RelocInfo::kNoPosition) return false; | 502 if (pos == RelocInfo::kNoPosition) return false; |
516 masm->positions_recorder()->RecordStatementPosition(pos); | 503 masm->positions_recorder()->RecordStatementPosition(pos); |
517 masm->positions_recorder()->RecordPosition(pos); | 504 masm->positions_recorder()->RecordPosition(pos); |
518 return masm->positions_recorder()->WriteRecordedPositions(); | 505 return masm->positions_recorder()->WriteRecordedPositions(); |
519 } | 506 } |
520 | 507 |
521 | 508 |
522 bool RecordPosition(MacroAssembler* masm, int pos) { | 509 bool RecordPosition(MacroAssembler* masm, int pos) { |
523 if (pos == RelocInfo::kNoPosition) return false; | 510 if (pos == RelocInfo::kNoPosition) return false; |
(...skipping 1113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1637 return var->mode() == CONST_LEGACY || var->scope()->is_nonlinear() || | 1624 return var->mode() == CONST_LEGACY || var->scope()->is_nonlinear() || |
1638 var->initializer_position() >= proxy->position(); | 1625 var->initializer_position() >= proxy->position(); |
1639 } | 1626 } |
1640 | 1627 |
1641 | 1628 |
1642 #undef __ | 1629 #undef __ |
1643 | 1630 |
1644 | 1631 |
1645 } // namespace internal | 1632 } // namespace internal |
1646 } // namespace v8 | 1633 } // namespace v8 |
OLD | NEW |