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 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 } | 464 } |
465 | 465 |
466 LOperand* context() { return inputs_[0]; } | 466 LOperand* context() { return inputs_[0]; } |
467 | 467 |
468 DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") | 468 DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") |
469 DECLARE_HYDROGEN_ACCESSOR(CallStub) | 469 DECLARE_HYDROGEN_ACCESSOR(CallStub) |
470 }; | 470 }; |
471 | 471 |
472 | 472 |
473 class LTailCallThroughMegamorphicCache FINAL | 473 class LTailCallThroughMegamorphicCache FINAL |
474 : public LTemplateInstruction<0, 3, 0> { | 474 : public LTemplateInstruction<0, 5, 0> { |
475 public: | 475 public: |
476 explicit LTailCallThroughMegamorphicCache(LOperand* context, | 476 LTailCallThroughMegamorphicCache(LOperand* context, LOperand* receiver, |
477 LOperand* receiver, | 477 LOperand* name, LOperand* slot, |
478 LOperand* name) { | 478 LOperand* vector) { |
479 inputs_[0] = context; | 479 inputs_[0] = context; |
480 inputs_[1] = receiver; | 480 inputs_[1] = receiver; |
481 inputs_[2] = name; | 481 inputs_[2] = name; |
| 482 inputs_[3] = slot; |
| 483 inputs_[4] = vector; |
482 } | 484 } |
483 | 485 |
484 LOperand* context() { return inputs_[0]; } | 486 LOperand* context() { return inputs_[0]; } |
485 LOperand* receiver() { return inputs_[1]; } | 487 LOperand* receiver() { return inputs_[1]; } |
486 LOperand* name() { return inputs_[2]; } | 488 LOperand* name() { return inputs_[2]; } |
| 489 LOperand* slot() { return inputs_[3]; } |
| 490 LOperand* vector() { return inputs_[4]; } |
487 | 491 |
488 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, | 492 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, |
489 "tail-call-through-megamorphic-cache") | 493 "tail-call-through-megamorphic-cache") |
490 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) | 494 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) |
491 }; | 495 }; |
492 | 496 |
493 | 497 |
494 class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> { | 498 class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> { |
495 public: | 499 public: |
496 bool HasInterestingComment(LCodeGen* gen) const OVERRIDE { return false; } | 500 bool HasInterestingComment(LCodeGen* gen) const OVERRIDE { return false; } |
(...skipping 2371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2868 | 2872 |
2869 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2873 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2870 }; | 2874 }; |
2871 | 2875 |
2872 #undef DECLARE_HYDROGEN_ACCESSOR | 2876 #undef DECLARE_HYDROGEN_ACCESSOR |
2873 #undef DECLARE_CONCRETE_INSTRUCTION | 2877 #undef DECLARE_CONCRETE_INSTRUCTION |
2874 | 2878 |
2875 } } // namespace v8::internal | 2879 } } // namespace v8::internal |
2876 | 2880 |
2877 #endif // V8_IA32_LITHIUM_IA32_H_ | 2881 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |