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 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 BuildTranslation(instr, -1, 0, OutputFrameStateCombine::Ignore()); | 369 BuildTranslation(instr, -1, 0, OutputFrameStateCombine::Ignore()); |
370 AssembleDeoptimizerCall(deopt_state_id, Deoptimizer::EAGER); | 370 AssembleDeoptimizerCall(deopt_state_id, Deoptimizer::EAGER); |
371 break; | 371 break; |
372 } | 372 } |
373 case kArchRet: | 373 case kArchRet: |
374 AssembleReturn(); | 374 AssembleReturn(); |
375 break; | 375 break; |
376 case kArchStackPointer: | 376 case kArchStackPointer: |
377 __ mov(i.OutputRegister(), esp); | 377 __ mov(i.OutputRegister(), esp); |
378 break; | 378 break; |
| 379 case kArchFramePointer: |
| 380 __ mov(i.OutputRegister(), ebp); |
| 381 break; |
379 case kArchTruncateDoubleToI: { | 382 case kArchTruncateDoubleToI: { |
380 auto result = i.OutputRegister(); | 383 auto result = i.OutputRegister(); |
381 auto input = i.InputDoubleRegister(0); | 384 auto input = i.InputDoubleRegister(0); |
382 auto ool = new (zone()) OutOfLineTruncateDoubleToI(this, result, input); | 385 auto ool = new (zone()) OutOfLineTruncateDoubleToI(this, result, input); |
383 __ cvttsd2si(result, Operand(input)); | 386 __ cvttsd2si(result, Operand(input)); |
384 __ cmp(result, 1); | 387 __ cmp(result, 1); |
385 __ j(overflow, ool->entry()); | 388 __ j(overflow, ool->entry()); |
386 __ bind(ool->exit()); | 389 __ bind(ool->exit()); |
387 break; | 390 break; |
388 } | 391 } |
(...skipping 1120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1509 } | 1512 } |
1510 } | 1513 } |
1511 MarkLazyDeoptSite(); | 1514 MarkLazyDeoptSite(); |
1512 } | 1515 } |
1513 | 1516 |
1514 #undef __ | 1517 #undef __ |
1515 | 1518 |
1516 } // namespace compiler | 1519 } // namespace compiler |
1517 } // namespace internal | 1520 } // namespace internal |
1518 } // namespace v8 | 1521 } // namespace v8 |
OLD | NEW |