OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
10 #include "src/ia32/assembler-ia32.h" | 10 #include "src/ia32/assembler-ia32.h" |
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
723 break; | 723 break; |
724 case kCheckedStoreWord32: | 724 case kCheckedStoreWord32: |
725 ASSEMBLE_CHECKED_STORE_INTEGER(mov); | 725 ASSEMBLE_CHECKED_STORE_INTEGER(mov); |
726 break; | 726 break; |
727 case kCheckedStoreFloat32: | 727 case kCheckedStoreFloat32: |
728 ASSEMBLE_CHECKED_STORE_FLOAT(movss); | 728 ASSEMBLE_CHECKED_STORE_FLOAT(movss); |
729 break; | 729 break; |
730 case kCheckedStoreFloat64: | 730 case kCheckedStoreFloat64: |
731 ASSEMBLE_CHECKED_STORE_FLOAT(movsd); | 731 ASSEMBLE_CHECKED_STORE_FLOAT(movsd); |
732 break; | 732 break; |
| 733 case kIA32StackCheck: { |
| 734 ExternalReference const stack_limit = |
| 735 ExternalReference::address_of_stack_limit(isolate()); |
| 736 __ cmp(esp, Operand::StaticVariable(stack_limit)); |
| 737 break; |
| 738 } |
733 } | 739 } |
734 } | 740 } |
735 | 741 |
736 | 742 |
737 // Assembles a branch after an instruction. | 743 // Assembles a branch after an instruction. |
738 void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { | 744 void CodeGenerator::AssembleArchBranch(Instruction* instr, BranchInfo* branch) { |
739 IA32OperandConverter i(this, instr); | 745 IA32OperandConverter i(this, instr); |
740 Label::Distance flabel_distance = | 746 Label::Distance flabel_distance = |
741 branch->fallthru ? Label::kNear : Label::kFar; | 747 branch->fallthru ? Label::kNear : Label::kFar; |
742 Label* tlabel = branch->true_label; | 748 Label* tlabel = branch->true_label; |
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1314 } | 1320 } |
1315 } | 1321 } |
1316 MarkLazyDeoptSite(); | 1322 MarkLazyDeoptSite(); |
1317 } | 1323 } |
1318 | 1324 |
1319 #undef __ | 1325 #undef __ |
1320 | 1326 |
1321 } // namespace compiler | 1327 } // namespace compiler |
1322 } // namespace internal | 1328 } // namespace internal |
1323 } // namespace v8 | 1329 } // namespace v8 |
OLD | NEW |