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

Side by Side Diff: src/crankshaft/arm64/lithium-arm64.h

Issue 2427673004: [intrinsics] Nuke %HasCachedArrayIndex and %GetCachedArrayIndex. (Closed)
Patch Set: Created 4 years, 2 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
« no previous file with comments | « src/crankshaft/arm/lithium-codegen-arm.cc ('k') | src/crankshaft/arm64/lithium-arm64.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 // 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_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ 5 #ifndef V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_
6 #define V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ 6 #define V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_
7 7
8 #include "src/crankshaft/hydrogen.h" 8 #include "src/crankshaft/hydrogen.h"
9 #include "src/crankshaft/lithium.h" 9 #include "src/crankshaft/lithium.h"
10 #include "src/crankshaft/lithium-allocator.h" 10 #include "src/crankshaft/lithium-allocator.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 V(DoubleToIntOrSmi) \ 67 V(DoubleToIntOrSmi) \
68 V(Drop) \ 68 V(Drop) \
69 V(Dummy) \ 69 V(Dummy) \
70 V(DummyUse) \ 70 V(DummyUse) \
71 V(FastAllocate) \ 71 V(FastAllocate) \
72 V(FlooringDivByConstI) \ 72 V(FlooringDivByConstI) \
73 V(FlooringDivByPowerOf2I) \ 73 V(FlooringDivByPowerOf2I) \
74 V(FlooringDivI) \ 74 V(FlooringDivI) \
75 V(ForInCacheArray) \ 75 V(ForInCacheArray) \
76 V(ForInPrepareMap) \ 76 V(ForInPrepareMap) \
77 V(GetCachedArrayIndex) \
78 V(Goto) \ 77 V(Goto) \
79 V(HasCachedArrayIndexAndBranch) \
80 V(HasInPrototypeChainAndBranch) \ 78 V(HasInPrototypeChainAndBranch) \
81 V(HasInstanceTypeAndBranch) \ 79 V(HasInstanceTypeAndBranch) \
82 V(InnerAllocatedObject) \ 80 V(InnerAllocatedObject) \
83 V(InstructionGap) \ 81 V(InstructionGap) \
84 V(Integer32ToDouble) \ 82 V(Integer32ToDouble) \
85 V(InvokeFunction) \ 83 V(InvokeFunction) \
86 V(IsSmiAndBranch) \ 84 V(IsSmiAndBranch) \
87 V(IsStringAndBranch) \ 85 V(IsStringAndBranch) \
88 V(IsUndetectableAndBranch) \ 86 V(IsUndetectableAndBranch) \
89 V(Label) \ 87 V(Label) \
(...skipping 1182 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 inputs_[0] = context; 1270 inputs_[0] = context;
1273 inputs_[1] = object; 1271 inputs_[1] = object;
1274 } 1272 }
1275 1273
1276 LOperand* context() { return inputs_[0]; } 1274 LOperand* context() { return inputs_[0]; }
1277 LOperand* object() { return inputs_[1]; } 1275 LOperand* object() { return inputs_[1]; }
1278 1276
1279 DECLARE_CONCRETE_INSTRUCTION(ForInPrepareMap, "for-in-prepare-map") 1277 DECLARE_CONCRETE_INSTRUCTION(ForInPrepareMap, "for-in-prepare-map")
1280 }; 1278 };
1281 1279
1282
1283 class LGetCachedArrayIndex final : public LTemplateInstruction<1, 1, 0> {
1284 public:
1285 explicit LGetCachedArrayIndex(LOperand* value) {
1286 inputs_[0] = value;
1287 }
1288
1289 LOperand* value() { return inputs_[0]; }
1290
1291 DECLARE_CONCRETE_INSTRUCTION(GetCachedArrayIndex, "get-cached-array-index")
1292 DECLARE_HYDROGEN_ACCESSOR(GetCachedArrayIndex)
1293 };
1294
1295
1296 class LHasCachedArrayIndexAndBranch final : public LControlInstruction<1, 1> {
1297 public:
1298 LHasCachedArrayIndexAndBranch(LOperand* value, LOperand* temp) {
1299 inputs_[0] = value;
1300 temps_[0] = temp;
1301 }
1302
1303 LOperand* value() { return inputs_[0]; }
1304 LOperand* temp() { return temps_[0]; }
1305
1306 DECLARE_CONCRETE_INSTRUCTION(HasCachedArrayIndexAndBranch,
1307 "has-cached-array-index-and-branch")
1308 DECLARE_HYDROGEN_ACCESSOR(HasCachedArrayIndexAndBranch)
1309
1310 void PrintDataTo(StringStream* stream) override;
1311 };
1312
1313
1314 class LHasInstanceTypeAndBranch final : public LControlInstruction<1, 1> { 1280 class LHasInstanceTypeAndBranch final : public LControlInstruction<1, 1> {
1315 public: 1281 public:
1316 LHasInstanceTypeAndBranch(LOperand* value, LOperand* temp) { 1282 LHasInstanceTypeAndBranch(LOperand* value, LOperand* temp) {
1317 inputs_[0] = value; 1283 inputs_[0] = value;
1318 temps_[0] = temp; 1284 temps_[0] = temp;
1319 } 1285 }
1320 1286
1321 LOperand* value() { return inputs_[0]; } 1287 LOperand* value() { return inputs_[0]; }
1322 LOperand* temp() { return temps_[0]; } 1288 LOperand* temp() { return temps_[0]; }
1323 1289
(...skipping 1551 matching lines...) Expand 10 before | Expand all | Expand 10 after
2875 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2841 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2876 }; 2842 };
2877 2843
2878 #undef DECLARE_HYDROGEN_ACCESSOR 2844 #undef DECLARE_HYDROGEN_ACCESSOR
2879 #undef DECLARE_CONCRETE_INSTRUCTION 2845 #undef DECLARE_CONCRETE_INSTRUCTION
2880 2846
2881 } // namespace internal 2847 } // namespace internal
2882 } // namespace v8 2848 } // namespace v8
2883 2849
2884 #endif // V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ 2850 #endif // V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_
OLDNEW
« no previous file with comments | « src/crankshaft/arm/lithium-codegen-arm.cc ('k') | src/crankshaft/arm64/lithium-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698