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 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 } | 484 } |
485 | 485 |
486 LOperand* context() { return inputs_[0]; } | 486 LOperand* context() { return inputs_[0]; } |
487 | 487 |
488 DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") | 488 DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") |
489 DECLARE_HYDROGEN_ACCESSOR(CallStub) | 489 DECLARE_HYDROGEN_ACCESSOR(CallStub) |
490 }; | 490 }; |
491 | 491 |
492 | 492 |
493 class LTailCallThroughMegamorphicCache FINAL | 493 class LTailCallThroughMegamorphicCache FINAL |
494 : public LTemplateInstruction<0, 3, 0> { | 494 : public LTemplateInstruction<0, 5, 0> { |
495 public: | 495 public: |
496 explicit LTailCallThroughMegamorphicCache(LOperand* context, | 496 explicit LTailCallThroughMegamorphicCache(LOperand* context, |
497 LOperand* receiver, | 497 LOperand* receiver, LOperand* name, |
498 LOperand* name) { | 498 LOperand* slot, LOperand* vector) { |
499 inputs_[0] = context; | 499 inputs_[0] = context; |
500 inputs_[1] = receiver; | 500 inputs_[1] = receiver; |
501 inputs_[2] = name; | 501 inputs_[2] = name; |
| 502 inputs_[3] = slot; |
| 503 inputs_[4] = vector; |
502 } | 504 } |
503 | 505 |
504 LOperand* context() { return inputs_[0]; } | 506 LOperand* context() { return inputs_[0]; } |
505 LOperand* receiver() { return inputs_[1]; } | 507 LOperand* receiver() { return inputs_[1]; } |
506 LOperand* name() { return inputs_[2]; } | 508 LOperand* name() { return inputs_[2]; } |
| 509 LOperand* slot() { return inputs_[3]; } |
| 510 LOperand* vector() { return inputs_[4]; } |
507 | 511 |
508 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, | 512 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, |
509 "tail-call-through-megamorphic-cache") | 513 "tail-call-through-megamorphic-cache") |
510 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) | 514 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) |
511 }; | 515 }; |
512 | 516 |
513 | 517 |
514 class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> { | 518 class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> { |
515 public: | 519 public: |
516 virtual bool HasInterestingComment(LCodeGen* gen) const OVERRIDE { | 520 virtual bool HasInterestingComment(LCodeGen* gen) const OVERRIDE { |
(...skipping 2364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2881 | 2885 |
2882 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2886 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2883 }; | 2887 }; |
2884 | 2888 |
2885 #undef DECLARE_HYDROGEN_ACCESSOR | 2889 #undef DECLARE_HYDROGEN_ACCESSOR |
2886 #undef DECLARE_CONCRETE_INSTRUCTION | 2890 #undef DECLARE_CONCRETE_INSTRUCTION |
2887 | 2891 |
2888 } } // namespace v8::int | 2892 } } // namespace v8::int |
2889 | 2893 |
2890 #endif // V8_X64_LITHIUM_X64_H_ | 2894 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |