| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 V(CmpMapAndBranch) \ | 80 V(CmpMapAndBranch) \ |
| 81 V(CmpT) \ | 81 V(CmpT) \ |
| 82 V(CmpConstantEqAndBranch) \ | 82 V(CmpConstantEqAndBranch) \ |
| 83 V(ConstantD) \ | 83 V(ConstantD) \ |
| 84 V(ConstantI) \ | 84 V(ConstantI) \ |
| 85 V(ConstantS) \ | 85 V(ConstantS) \ |
| 86 V(ConstantT) \ | 86 V(ConstantT) \ |
| 87 V(Context) \ | 87 V(Context) \ |
| 88 V(DebugBreak) \ | 88 V(DebugBreak) \ |
| 89 V(DeclareGlobals) \ | 89 V(DeclareGlobals) \ |
| 90 V(DeleteProperty) \ | |
| 91 V(Deoptimize) \ | 90 V(Deoptimize) \ |
| 92 V(DivI) \ | 91 V(DivI) \ |
| 93 V(DoubleToI) \ | 92 V(DoubleToI) \ |
| 94 V(DoubleToSmi) \ | 93 V(DoubleToSmi) \ |
| 95 V(DummyUse) \ | 94 V(DummyUse) \ |
| 96 V(ElementsKind) \ | 95 V(ElementsKind) \ |
| 97 V(FunctionLiteral) \ | 96 V(FunctionLiteral) \ |
| 98 V(GetCachedArrayIndex) \ | 97 V(GetCachedArrayIndex) \ |
| 99 V(GlobalObject) \ | 98 V(GlobalObject) \ |
| 100 V(GlobalReceiver) \ | 99 V(GlobalReceiver) \ |
| 101 V(Goto) \ | 100 V(Goto) \ |
| 102 V(HasCachedArrayIndexAndBranch) \ | 101 V(HasCachedArrayIndexAndBranch) \ |
| 103 V(HasInstanceTypeAndBranch) \ | 102 V(HasInstanceTypeAndBranch) \ |
| 104 V(In) \ | |
| 105 V(InstanceOf) \ | 103 V(InstanceOf) \ |
| 106 V(InstanceOfKnownGlobal) \ | 104 V(InstanceOfKnownGlobal) \ |
| 107 V(InstanceSize) \ | 105 V(InstanceSize) \ |
| 108 V(InstructionGap) \ | 106 V(InstructionGap) \ |
| 109 V(Integer32ToDouble) \ | 107 V(Integer32ToDouble) \ |
| 110 V(Integer32ToSmi) \ | 108 V(Integer32ToSmi) \ |
| 111 V(Uint32ToDouble) \ | 109 V(Uint32ToDouble) \ |
| 112 V(InvokeFunction) \ | 110 V(InvokeFunction) \ |
| 113 V(IsConstructCallAndBranch) \ | 111 V(IsConstructCallAndBranch) \ |
| 114 V(IsObjectAndBranch) \ | 112 V(IsObjectAndBranch) \ |
| (...skipping 2569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2684 | 2682 |
| 2685 DECLARE_CONCRETE_INSTRUCTION(TypeofIsAndBranch, "typeof-is-and-branch") | 2683 DECLARE_CONCRETE_INSTRUCTION(TypeofIsAndBranch, "typeof-is-and-branch") |
| 2686 DECLARE_HYDROGEN_ACCESSOR(TypeofIsAndBranch) | 2684 DECLARE_HYDROGEN_ACCESSOR(TypeofIsAndBranch) |
| 2687 | 2685 |
| 2688 Handle<String> type_literal() { return hydrogen()->type_literal(); } | 2686 Handle<String> type_literal() { return hydrogen()->type_literal(); } |
| 2689 | 2687 |
| 2690 virtual void PrintDataTo(StringStream* stream); | 2688 virtual void PrintDataTo(StringStream* stream); |
| 2691 }; | 2689 }; |
| 2692 | 2690 |
| 2693 | 2691 |
| 2694 class LDeleteProperty: public LTemplateInstruction<1, 3, 0> { | |
| 2695 public: | |
| 2696 LDeleteProperty(LOperand* context, LOperand* obj, LOperand* key) { | |
| 2697 inputs_[0] = context; | |
| 2698 inputs_[1] = obj; | |
| 2699 inputs_[2] = key; | |
| 2700 } | |
| 2701 | |
| 2702 LOperand* context() { return inputs_[0]; } | |
| 2703 LOperand* object() { return inputs_[1]; } | |
| 2704 LOperand* key() { return inputs_[2]; } | |
| 2705 | |
| 2706 DECLARE_CONCRETE_INSTRUCTION(DeleteProperty, "delete-property") | |
| 2707 }; | |
| 2708 | |
| 2709 | |
| 2710 class LOsrEntry: public LTemplateInstruction<0, 0, 0> { | 2692 class LOsrEntry: public LTemplateInstruction<0, 0, 0> { |
| 2711 public: | 2693 public: |
| 2712 LOsrEntry() {} | 2694 LOsrEntry() {} |
| 2713 | 2695 |
| 2714 virtual bool HasInterestingComment(LCodeGen* gen) const { return false; } | 2696 virtual bool HasInterestingComment(LCodeGen* gen) const { return false; } |
| 2715 DECLARE_CONCRETE_INSTRUCTION(OsrEntry, "osr-entry") | 2697 DECLARE_CONCRETE_INSTRUCTION(OsrEntry, "osr-entry") |
| 2716 }; | 2698 }; |
| 2717 | 2699 |
| 2718 | 2700 |
| 2719 class LStackCheck: public LTemplateInstruction<0, 1, 0> { | 2701 class LStackCheck: public LTemplateInstruction<0, 1, 0> { |
| 2720 public: | 2702 public: |
| 2721 explicit LStackCheck(LOperand* context) { | 2703 explicit LStackCheck(LOperand* context) { |
| 2722 inputs_[0] = context; | 2704 inputs_[0] = context; |
| 2723 } | 2705 } |
| 2724 | 2706 |
| 2725 LOperand* context() { return inputs_[0]; } | 2707 LOperand* context() { return inputs_[0]; } |
| 2726 | 2708 |
| 2727 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") | 2709 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") |
| 2728 DECLARE_HYDROGEN_ACCESSOR(StackCheck) | 2710 DECLARE_HYDROGEN_ACCESSOR(StackCheck) |
| 2729 | 2711 |
| 2730 Label* done_label() { return &done_label_; } | 2712 Label* done_label() { return &done_label_; } |
| 2731 | 2713 |
| 2732 private: | 2714 private: |
| 2733 Label done_label_; | 2715 Label done_label_; |
| 2734 }; | 2716 }; |
| 2735 | 2717 |
| 2736 | 2718 |
| 2737 class LIn: public LTemplateInstruction<1, 3, 0> { | |
| 2738 public: | |
| 2739 LIn(LOperand* context, LOperand* key, LOperand* object) { | |
| 2740 inputs_[0] = context; | |
| 2741 inputs_[1] = key; | |
| 2742 inputs_[2] = object; | |
| 2743 } | |
| 2744 | |
| 2745 LOperand* context() { return inputs_[0]; } | |
| 2746 LOperand* key() { return inputs_[1]; } | |
| 2747 LOperand* object() { return inputs_[2]; } | |
| 2748 | |
| 2749 DECLARE_CONCRETE_INSTRUCTION(In, "in") | |
| 2750 }; | |
| 2751 | |
| 2752 | |
| 2753 class LForInPrepareMap: public LTemplateInstruction<1, 2, 0> { | 2719 class LForInPrepareMap: public LTemplateInstruction<1, 2, 0> { |
| 2754 public: | 2720 public: |
| 2755 LForInPrepareMap(LOperand* context, LOperand* object) { | 2721 LForInPrepareMap(LOperand* context, LOperand* object) { |
| 2756 inputs_[0] = context; | 2722 inputs_[0] = context; |
| 2757 inputs_[1] = object; | 2723 inputs_[1] = object; |
| 2758 } | 2724 } |
| 2759 | 2725 |
| 2760 LOperand* context() { return inputs_[0]; } | 2726 LOperand* context() { return inputs_[0]; } |
| 2761 LOperand* object() { return inputs_[1]; } | 2727 LOperand* object() { return inputs_[1]; } |
| 2762 | 2728 |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3000 | 2966 |
| 3001 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2967 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 3002 }; | 2968 }; |
| 3003 | 2969 |
| 3004 #undef DECLARE_HYDROGEN_ACCESSOR | 2970 #undef DECLARE_HYDROGEN_ACCESSOR |
| 3005 #undef DECLARE_CONCRETE_INSTRUCTION | 2971 #undef DECLARE_CONCRETE_INSTRUCTION |
| 3006 | 2972 |
| 3007 } } // namespace v8::internal | 2973 } } // namespace v8::internal |
| 3008 | 2974 |
| 3009 #endif // V8_IA32_LITHIUM_IA32_H_ | 2975 #endif // V8_IA32_LITHIUM_IA32_H_ |
| OLD | NEW |