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 #ifndef V8_IA32_LITHIUM_IA32_H_ | 5 #ifndef V8_IA32_LITHIUM_IA32_H_ |
6 #define V8_IA32_LITHIUM_IA32_H_ | 6 #define V8_IA32_LITHIUM_IA32_H_ |
7 | 7 |
8 #include "src/hydrogen.h" | 8 #include "src/hydrogen.h" |
9 #include "src/lithium.h" | 9 #include "src/lithium.h" |
10 #include "src/lithium-allocator.h" | 10 #include "src/lithium-allocator.h" |
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 } | 474 } |
475 | 475 |
476 LOperand* context() { return inputs_[0]; } | 476 LOperand* context() { return inputs_[0]; } |
477 | 477 |
478 DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") | 478 DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") |
479 DECLARE_HYDROGEN_ACCESSOR(CallStub) | 479 DECLARE_HYDROGEN_ACCESSOR(CallStub) |
480 }; | 480 }; |
481 | 481 |
482 | 482 |
483 class LTailCallThroughMegamorphicCache FINAL | 483 class LTailCallThroughMegamorphicCache FINAL |
484 : public LTemplateInstruction<0, 3, 0> { | 484 : public LTemplateInstruction<0, 5, 0> { |
485 public: | 485 public: |
486 explicit LTailCallThroughMegamorphicCache(LOperand* context, | 486 LTailCallThroughMegamorphicCache(LOperand* context, LOperand* receiver, |
487 LOperand* receiver, | 487 LOperand* name, LOperand* slot, |
488 LOperand* name) { | 488 LOperand* vector) { |
489 inputs_[0] = context; | 489 inputs_[0] = context; |
490 inputs_[1] = receiver; | 490 inputs_[1] = receiver; |
491 inputs_[2] = name; | 491 inputs_[2] = name; |
| 492 inputs_[3] = slot; |
| 493 inputs_[4] = vector; |
492 } | 494 } |
493 | 495 |
494 LOperand* context() { return inputs_[0]; } | 496 LOperand* context() { return inputs_[0]; } |
495 LOperand* receiver() { return inputs_[1]; } | 497 LOperand* receiver() { return inputs_[1]; } |
496 LOperand* name() { return inputs_[2]; } | 498 LOperand* name() { return inputs_[2]; } |
| 499 LOperand* slot() { return inputs_[3]; } |
| 500 LOperand* vector() { return inputs_[4]; } |
497 | 501 |
498 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, | 502 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, |
499 "tail-call-through-megamorphic-cache") | 503 "tail-call-through-megamorphic-cache") |
500 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) | 504 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) |
501 }; | 505 }; |
502 | 506 |
503 | 507 |
504 class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> { | 508 class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> { |
505 public: | 509 public: |
506 virtual bool HasInterestingComment(LCodeGen* gen) const OVERRIDE { | 510 virtual bool HasInterestingComment(LCodeGen* gen) const OVERRIDE { |
(...skipping 2379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2886 | 2890 |
2887 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2891 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2888 }; | 2892 }; |
2889 | 2893 |
2890 #undef DECLARE_HYDROGEN_ACCESSOR | 2894 #undef DECLARE_HYDROGEN_ACCESSOR |
2891 #undef DECLARE_CONCRETE_INSTRUCTION | 2895 #undef DECLARE_CONCRETE_INSTRUCTION |
2892 | 2896 |
2893 } } // namespace v8::internal | 2897 } } // namespace v8::internal |
2894 | 2898 |
2895 #endif // V8_IA32_LITHIUM_IA32_H_ | 2899 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |