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 849 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
860 public: | 860 public: |
861 LIsStringAndBranch(LOperand* value, LOperand* temp) { | 861 LIsStringAndBranch(LOperand* value, LOperand* temp) { |
862 inputs_[0] = value; | 862 inputs_[0] = value; |
863 temps_[0] = temp; | 863 temps_[0] = temp; |
864 } | 864 } |
865 | 865 |
866 LOperand* value() { return inputs_[0]; } | 866 LOperand* value() { return inputs_[0]; } |
867 LOperand* temp() { return temps_[0]; } | 867 LOperand* temp() { return temps_[0]; } |
868 | 868 |
869 DECLARE_CONCRETE_INSTRUCTION(IsStringAndBranch, "is-string-and-branch") | 869 DECLARE_CONCRETE_INSTRUCTION(IsStringAndBranch, "is-string-and-branch") |
870 DECLARE_HYDROGEN_ACCESSOR(IsStringAndBranch) | |
870 | 871 |
871 virtual void PrintDataTo(StringStream* stream); | 872 virtual void PrintDataTo(StringStream* stream); |
872 }; | 873 }; |
873 | 874 |
874 | 875 |
875 class LIsSmiAndBranch: public LControlInstruction<1, 0> { | 876 class LIsSmiAndBranch: public LControlInstruction<1, 0> { |
876 public: | 877 public: |
877 explicit LIsSmiAndBranch(LOperand* value) { | 878 explicit LIsSmiAndBranch(LOperand* value) { |
878 inputs_[0] = value; | 879 inputs_[0] = value; |
879 } | 880 } |
(...skipping 12 matching lines...) Expand all Loading... | |
892 LIsUndetectableAndBranch(LOperand* value, LOperand* temp) { | 893 LIsUndetectableAndBranch(LOperand* value, LOperand* temp) { |
893 inputs_[0] = value; | 894 inputs_[0] = value; |
894 temps_[0] = temp; | 895 temps_[0] = temp; |
895 } | 896 } |
896 | 897 |
897 LOperand* value() { return inputs_[0]; } | 898 LOperand* value() { return inputs_[0]; } |
898 LOperand* temp() { return temps_[0]; } | 899 LOperand* temp() { return temps_[0]; } |
899 | 900 |
900 DECLARE_CONCRETE_INSTRUCTION(IsUndetectableAndBranch, | 901 DECLARE_CONCRETE_INSTRUCTION(IsUndetectableAndBranch, |
901 "is-undetectable-and-branch") | 902 "is-undetectable-and-branch") |
903 DECLARE_HYDROGEN_ACCESSOR(IsUndetectableAndBranch) | |
902 | 904 |
903 virtual void PrintDataTo(StringStream* stream); | 905 virtual void PrintDataTo(StringStream* stream); |
904 }; | 906 }; |
905 | 907 |
906 | 908 |
907 class LStringCompareAndBranch: public LControlInstruction<3, 0> { | 909 class LStringCompareAndBranch: public LControlInstruction<3, 0> { |
908 public: | 910 public: |
909 LStringCompareAndBranch(LOperand* context, LOperand* left, LOperand* right) { | 911 LStringCompareAndBranch(LOperand* context, LOperand* left, LOperand* right) { |
910 inputs_[0] = context; | 912 inputs_[0] = context; |
911 inputs_[1] = left; | 913 inputs_[1] = left; |
(...skipping 1620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2532 LOperand* scratch() { return temps_[0]; } | 2534 LOperand* scratch() { return temps_[0]; } |
2533 LOperand* scratch2() { return temps_[1]; } | 2535 LOperand* scratch2() { return temps_[1]; } |
2534 LOperand* scratch3() { return temps_[2]; } | 2536 LOperand* scratch3() { return temps_[2]; } |
2535 | 2537 |
2536 DECLARE_CONCRETE_INSTRUCTION(ClampTToUint8NoSSE2, | 2538 DECLARE_CONCRETE_INSTRUCTION(ClampTToUint8NoSSE2, |
2537 "clamp-t-to-uint8-nosse2") | 2539 "clamp-t-to-uint8-nosse2") |
2538 DECLARE_HYDROGEN_ACCESSOR(UnaryOperation) | 2540 DECLARE_HYDROGEN_ACCESSOR(UnaryOperation) |
2539 }; | 2541 }; |
2540 | 2542 |
2541 | 2543 |
2542 class LCheckNonSmi: public LTemplateInstruction<0, 1, 0> { | 2544 class LCheckNonSmi: public LTemplateInstruction<0, 1, 0> { |
ulan
2013/06/18 12:45:59
If we rename the hydrogen instruction, why not ren
| |
2543 public: | 2545 public: |
2544 explicit LCheckNonSmi(LOperand* value) { | 2546 explicit LCheckNonSmi(LOperand* value) { |
2545 inputs_[0] = value; | 2547 inputs_[0] = value; |
2546 } | 2548 } |
2547 | 2549 |
2548 LOperand* value() { return inputs_[0]; } | 2550 LOperand* value() { return inputs_[0]; } |
2549 | 2551 |
2550 DECLARE_CONCRETE_INSTRUCTION(CheckNonSmi, "check-non-smi") | 2552 DECLARE_CONCRETE_INSTRUCTION(CheckNonSmi, "check-non-smi") |
2553 DECLARE_HYDROGEN_ACCESSOR(CheckHeapObject) | |
2551 }; | 2554 }; |
2552 | 2555 |
2553 | 2556 |
2554 class LAllocate: public LTemplateInstruction<1, 2, 1> { | 2557 class LAllocate: public LTemplateInstruction<1, 2, 1> { |
2555 public: | 2558 public: |
2556 LAllocate(LOperand* context, LOperand* size, LOperand* temp) { | 2559 LAllocate(LOperand* context, LOperand* size, LOperand* temp) { |
2557 inputs_[0] = context; | 2560 inputs_[0] = context; |
2558 inputs_[1] = size; | 2561 inputs_[1] = size; |
2559 temps_[0] = temp; | 2562 temps_[0] = temp; |
2560 } | 2563 } |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2963 | 2966 |
2964 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2967 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2965 }; | 2968 }; |
2966 | 2969 |
2967 #undef DECLARE_HYDROGEN_ACCESSOR | 2970 #undef DECLARE_HYDROGEN_ACCESSOR |
2968 #undef DECLARE_CONCRETE_INSTRUCTION | 2971 #undef DECLARE_CONCRETE_INSTRUCTION |
2969 | 2972 |
2970 } } // namespace v8::internal | 2973 } } // namespace v8::internal |
2971 | 2974 |
2972 #endif // V8_IA32_LITHIUM_IA32_H_ | 2975 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |