Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Side by Side Diff: src/a64/lithium-a64.h

Issue 143633007: A64: Synchronize with r18764. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/a64/ic-a64.cc ('k') | src/a64/lithium-a64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 V(Allocate) \ 47 V(Allocate) \
48 V(ApplyArguments) \ 48 V(ApplyArguments) \
49 V(ArgumentsElements) \ 49 V(ArgumentsElements) \
50 V(ArgumentsLength) \ 50 V(ArgumentsLength) \
51 V(ArithmeticD) \ 51 V(ArithmeticD) \
52 V(ArithmeticT) \ 52 V(ArithmeticT) \
53 V(BitI) \ 53 V(BitI) \
54 V(BitS) \ 54 V(BitS) \
55 V(BoundsCheck) \ 55 V(BoundsCheck) \
56 V(Branch) \ 56 V(Branch) \
57 V(CallFunction) \
57 V(CallJSFunction) \ 58 V(CallJSFunction) \
58 V(CallWithDescriptor) \
59 V(CallFunction) \
60 V(CallNew) \ 59 V(CallNew) \
61 V(CallNewArray) \ 60 V(CallNewArray) \
62 V(CallRuntime) \ 61 V(CallRuntime) \
63 V(CallStub) \ 62 V(CallStub) \
63 V(CallWithDescriptor) \
64 V(CheckInstanceType) \ 64 V(CheckInstanceType) \
65 V(CheckMapValue) \
65 V(CheckMaps) \ 66 V(CheckMaps) \
66 V(CheckMapValue) \
67 V(CheckNonSmi) \ 67 V(CheckNonSmi) \
68 V(CheckSmi) \ 68 V(CheckSmi) \
69 V(CheckValue) \ 69 V(CheckValue) \
70 V(ClampDToUint8) \ 70 V(ClampDToUint8) \
71 V(ClampIToUint8) \ 71 V(ClampIToUint8) \
72 V(ClampTToUint8) \ 72 V(ClampTToUint8) \
73 V(ClassOfTestAndBranch) \ 73 V(ClassOfTestAndBranch) \
74 V(CmpHoleAndBranchD) \ 74 V(CmpHoleAndBranchD) \
75 V(CmpHoleAndBranchT) \ 75 V(CmpHoleAndBranchT) \
76 V(CmpMapAndBranch) \ 76 V(CmpMapAndBranch) \
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 V(SeqStringGetChar) \ 158 V(SeqStringGetChar) \
159 V(SeqStringSetChar) \ 159 V(SeqStringSetChar) \
160 V(ShiftI) \ 160 V(ShiftI) \
161 V(ShiftS) \ 161 V(ShiftS) \
162 V(SmiTag) \ 162 V(SmiTag) \
163 V(SmiUntag) \ 163 V(SmiUntag) \
164 V(StackCheck) \ 164 V(StackCheck) \
165 V(StoreCodeEntry) \ 165 V(StoreCodeEntry) \
166 V(StoreContextSlot) \ 166 V(StoreContextSlot) \
167 V(StoreGlobalCell) \ 167 V(StoreGlobalCell) \
168 V(StoreGlobalGeneric) \
169 V(StoreKeyedExternal) \ 168 V(StoreKeyedExternal) \
170 V(StoreKeyedFixed) \ 169 V(StoreKeyedFixed) \
171 V(StoreKeyedFixedDouble) \ 170 V(StoreKeyedFixedDouble) \
172 V(StoreKeyedGeneric) \ 171 V(StoreKeyedGeneric) \
173 V(StoreNamedField) \ 172 V(StoreNamedField) \
174 V(StoreNamedGeneric) \ 173 V(StoreNamedGeneric) \
175 V(StringAdd) \ 174 V(StringAdd) \
176 V(StringCharCodeAt) \ 175 V(StringCharCodeAt) \
177 V(StringCharFromCode) \ 176 V(StringCharFromCode) \
178 V(StringCompareAndBranch) \ 177 V(StringCompareAndBranch) \
(...skipping 1502 matching lines...) Expand 10 before | Expand all | Expand 10 after
1681 } 1680 }
1682 1681
1683 LOperand* elements() { return this->inputs_[0]; } 1682 LOperand* elements() { return this->inputs_[0]; }
1684 LOperand* key() { return this->inputs_[1]; } 1683 LOperand* key() { return this->inputs_[1]; }
1685 ElementsKind elements_kind() const { 1684 ElementsKind elements_kind() const {
1686 return this->hydrogen()->elements_kind(); 1685 return this->hydrogen()->elements_kind();
1687 } 1686 }
1688 bool is_external() const { 1687 bool is_external() const {
1689 return this->hydrogen()->is_external(); 1688 return this->hydrogen()->is_external();
1690 } 1689 }
1690 bool is_fixed_typed_array() const {
1691 return hydrogen()->is_fixed_typed_array();
1692 }
1693 bool is_typed_elements() const {
1694 return is_external() || is_fixed_typed_array();
1695 }
1691 uint32_t additional_index() const { 1696 uint32_t additional_index() const {
1692 return this->hydrogen()->index_offset(); 1697 return this->hydrogen()->index_offset();
1693 } 1698 }
1694 void PrintDataTo(StringStream* stream) V8_OVERRIDE { 1699 void PrintDataTo(StringStream* stream) V8_OVERRIDE {
1695 this->elements()->PrintTo(stream); 1700 this->elements()->PrintTo(stream);
1696 stream->Add("["); 1701 stream->Add("[");
1697 this->key()->PrintTo(stream); 1702 this->key()->PrintTo(stream);
1698 if (this->hydrogen()->IsDehoisted()) { 1703 if (this->hydrogen()->IsDehoisted()) {
1699 stream->Add(" + %d]", this->additional_index()); 1704 stream->Add(" + %d]", this->additional_index());
1700 } else { 1705 } else {
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
2199 template<int T> 2204 template<int T>
2200 class LStoreKeyed : public LTemplateInstruction<0, 3, T> { 2205 class LStoreKeyed : public LTemplateInstruction<0, 3, T> {
2201 public: 2206 public:
2202 LStoreKeyed(LOperand* elements, LOperand* key, LOperand* value) { 2207 LStoreKeyed(LOperand* elements, LOperand* key, LOperand* value) {
2203 this->inputs_[0] = elements; 2208 this->inputs_[0] = elements;
2204 this->inputs_[1] = key; 2209 this->inputs_[1] = key;
2205 this->inputs_[2] = value; 2210 this->inputs_[2] = value;
2206 } 2211 }
2207 2212
2208 bool is_external() const { return this->hydrogen()->is_external(); } 2213 bool is_external() const { return this->hydrogen()->is_external(); }
2214 bool is_fixed_typed_array() const {
2215 return hydrogen()->is_fixed_typed_array();
2216 }
2217 bool is_typed_elements() const {
2218 return is_external() || is_fixed_typed_array();
2219 }
2209 LOperand* elements() { return this->inputs_[0]; } 2220 LOperand* elements() { return this->inputs_[0]; }
2210 LOperand* key() { return this->inputs_[1]; } 2221 LOperand* key() { return this->inputs_[1]; }
2211 LOperand* value() { return this->inputs_[2]; } 2222 LOperand* value() { return this->inputs_[2]; }
2212 ElementsKind elements_kind() const { 2223 ElementsKind elements_kind() const {
2213 return this->hydrogen()->elements_kind(); 2224 return this->hydrogen()->elements_kind();
2214 } 2225 }
2215 2226
2216 bool NeedsCanonicalization() { 2227 bool NeedsCanonicalization() {
2217 return this->hydrogen()->NeedsCanonicalization(); 2228 return this->hydrogen()->NeedsCanonicalization();
2218 } 2229 }
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
2531 2542
2532 LOperand* value() { return inputs_[0]; } 2543 LOperand* value() { return inputs_[0]; }
2533 LOperand* temp1() { return temps_[0]; } 2544 LOperand* temp1() { return temps_[0]; }
2534 LOperand* temp2() { return temps_[1]; } 2545 LOperand* temp2() { return temps_[1]; }
2535 2546
2536 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell, "store-global-cell") 2547 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalCell, "store-global-cell")
2537 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalCell) 2548 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalCell)
2538 }; 2549 };
2539 2550
2540 2551
2541 class LStoreGlobalGeneric V8_FINAL : public LTemplateInstruction<0, 2, 0> {
2542 public:
2543 LStoreGlobalGeneric(LOperand* global_object, LOperand* value) {
2544 inputs_[0] = global_object;
2545 inputs_[1] = value;
2546 }
2547
2548 LOperand* global_object() { return inputs_[0]; }
2549 LOperand* value() { return inputs_[1]; }
2550
2551 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic")
2552 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric)
2553
2554 Handle<Object> name() const { return hydrogen()->name(); }
2555 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); }
2556 };
2557
2558
2559 class LSubI V8_FINAL : public LTemplateInstruction<1, 2, 0> { 2552 class LSubI V8_FINAL : public LTemplateInstruction<1, 2, 0> {
2560 public: 2553 public:
2561 LSubI(LOperand* left, LOperand* right) { 2554 LSubI(LOperand* left, LOperand* right) {
2562 inputs_[0] = left; 2555 inputs_[0] = left;
2563 inputs_[1] = right; 2556 inputs_[1] = right;
2564 } 2557 }
2565 2558
2566 LOperand* left() { return inputs_[0]; } 2559 LOperand* left() { return inputs_[0]; }
2567 LOperand* right() { return inputs_[1]; } 2560 LOperand* right() { return inputs_[1]; }
2568 2561
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
2959 2952
2960 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2953 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2961 }; 2954 };
2962 2955
2963 #undef DECLARE_HYDROGEN_ACCESSOR 2956 #undef DECLARE_HYDROGEN_ACCESSOR
2964 #undef DECLARE_CONCRETE_INSTRUCTION 2957 #undef DECLARE_CONCRETE_INSTRUCTION
2965 2958
2966 } } // namespace v8::internal 2959 } } // namespace v8::internal
2967 2960
2968 #endif // V8_A64_LITHIUM_A64_H_ 2961 #endif // V8_A64_LITHIUM_A64_H_
OLDNEW
« no previous file with comments | « src/a64/ic-a64.cc ('k') | src/a64/lithium-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698