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_X64_LITHIUM_X64_H_ | 5 #ifndef V8_X64_LITHIUM_X64_H_ |
6 #define V8_X64_LITHIUM_X64_H_ | 6 #define V8_X64_LITHIUM_X64_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 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 } | 473 } |
474 | 474 |
475 LOperand* context() { return inputs_[0]; } | 475 LOperand* context() { return inputs_[0]; } |
476 | 476 |
477 DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") | 477 DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") |
478 DECLARE_HYDROGEN_ACCESSOR(CallStub) | 478 DECLARE_HYDROGEN_ACCESSOR(CallStub) |
479 }; | 479 }; |
480 | 480 |
481 | 481 |
482 class LTailCallThroughMegamorphicCache FINAL | 482 class LTailCallThroughMegamorphicCache FINAL |
483 : public LTemplateInstruction<0, 3, 0> { | 483 : public LTemplateInstruction<0, 5, 0> { |
484 public: | 484 public: |
485 explicit LTailCallThroughMegamorphicCache(LOperand* context, | 485 explicit LTailCallThroughMegamorphicCache(LOperand* context, |
486 LOperand* receiver, | 486 LOperand* receiver, LOperand* name, |
487 LOperand* name) { | 487 LOperand* slot, LOperand* vector) { |
488 inputs_[0] = context; | 488 inputs_[0] = context; |
489 inputs_[1] = receiver; | 489 inputs_[1] = receiver; |
490 inputs_[2] = name; | 490 inputs_[2] = name; |
| 491 inputs_[3] = slot; |
| 492 inputs_[4] = vector; |
491 } | 493 } |
492 | 494 |
493 LOperand* context() { return inputs_[0]; } | 495 LOperand* context() { return inputs_[0]; } |
494 LOperand* receiver() { return inputs_[1]; } | 496 LOperand* receiver() { return inputs_[1]; } |
495 LOperand* name() { return inputs_[2]; } | 497 LOperand* name() { return inputs_[2]; } |
| 498 LOperand* slot() { return inputs_[3]; } |
| 499 LOperand* vector() { return inputs_[4]; } |
496 | 500 |
497 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, | 501 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, |
498 "tail-call-through-megamorphic-cache") | 502 "tail-call-through-megamorphic-cache") |
499 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) | 503 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) |
500 }; | 504 }; |
501 | 505 |
502 | 506 |
503 class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> { | 507 class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> { |
504 public: | 508 public: |
505 bool HasInterestingComment(LCodeGen* gen) const OVERRIDE { return false; } | 509 bool HasInterestingComment(LCodeGen* gen) const OVERRIDE { return false; } |
(...skipping 2356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2862 | 2866 |
2863 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2867 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2864 }; | 2868 }; |
2865 | 2869 |
2866 #undef DECLARE_HYDROGEN_ACCESSOR | 2870 #undef DECLARE_HYDROGEN_ACCESSOR |
2867 #undef DECLARE_CONCRETE_INSTRUCTION | 2871 #undef DECLARE_CONCRETE_INSTRUCTION |
2868 | 2872 |
2869 } } // namespace v8::int | 2873 } } // namespace v8::int |
2870 | 2874 |
2871 #endif // V8_X64_LITHIUM_X64_H_ | 2875 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |