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

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

Issue 146893002: A64: Add LGetCachedArrayIndex and LHasCachedArrayIndexAndBranch (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 | « no previous file | 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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 V(DivI) \ 96 V(DivI) \
97 V(DoubleToI) \ 97 V(DoubleToI) \
98 V(DoubleToSmi) \ 98 V(DoubleToSmi) \
99 V(Drop) \ 99 V(Drop) \
100 V(DummyUse) \ 100 V(DummyUse) \
101 V(ElementsKind) \ 101 V(ElementsKind) \
102 V(FixedArrayBaseLength) \ 102 V(FixedArrayBaseLength) \
103 V(ForInCacheArray) \ 103 V(ForInCacheArray) \
104 V(ForInPrepareMap) \ 104 V(ForInPrepareMap) \
105 V(FunctionLiteral) \ 105 V(FunctionLiteral) \
106 V(GetCachedArrayIndex) \
106 V(GlobalObject) \ 107 V(GlobalObject) \
107 V(GlobalReceiver) \ 108 V(GlobalReceiver) \
108 V(Goto) \ 109 V(Goto) \
110 V(HasCachedArrayIndexAndBranch) \
109 V(HasInstanceTypeAndBranch) \ 111 V(HasInstanceTypeAndBranch) \
110 V(In) \ 112 V(In) \
111 V(InnerAllocatedObject) \ 113 V(InnerAllocatedObject) \
112 V(InstanceOf) \ 114 V(InstanceOf) \
113 V(InstanceOfKnownGlobal) \ 115 V(InstanceOfKnownGlobal) \
114 V(InstanceSize) \ 116 V(InstanceSize) \
115 V(InstructionGap) \ 117 V(InstructionGap) \
116 V(Integer32ToDouble) \ 118 V(Integer32ToDouble) \
117 V(Integer32ToSmi) \ 119 V(Integer32ToSmi) \
118 V(InvokeFunction) \ 120 V(InvokeFunction) \
(...skipping 1168 matching lines...) Expand 10 before | Expand all | Expand 10 after
1287 explicit LForInPrepareMap(LOperand* object) { 1289 explicit LForInPrepareMap(LOperand* object) {
1288 inputs_[0] = object; 1290 inputs_[0] = object;
1289 } 1291 }
1290 1292
1291 LOperand* object() { return inputs_[0]; } 1293 LOperand* object() { return inputs_[0]; }
1292 1294
1293 DECLARE_CONCRETE_INSTRUCTION(ForInPrepareMap, "for-in-prepare-map") 1295 DECLARE_CONCRETE_INSTRUCTION(ForInPrepareMap, "for-in-prepare-map")
1294 }; 1296 };
1295 1297
1296 1298
1299 class LGetCachedArrayIndex: public LTemplateInstruction<1, 1, 0> {
1300 public:
1301 explicit LGetCachedArrayIndex(LOperand* value) {
1302 inputs_[0] = value;
1303 }
1304
1305 LOperand* value() { return inputs_[0]; }
1306
1307 DECLARE_CONCRETE_INSTRUCTION(GetCachedArrayIndex, "get-cached-array-index")
1308 DECLARE_HYDROGEN_ACCESSOR(GetCachedArrayIndex)
1309 };
1310
1311
1297 class LGlobalObject: public LTemplateInstruction<1, 1, 0> { 1312 class LGlobalObject: public LTemplateInstruction<1, 1, 0> {
1298 public: 1313 public:
1299 explicit LGlobalObject(LOperand* context) { 1314 explicit LGlobalObject(LOperand* context) {
1300 inputs_[0] = context; 1315 inputs_[0] = context;
1301 } 1316 }
1302 1317
1303 DECLARE_CONCRETE_INSTRUCTION(GlobalObject, "global-object") 1318 DECLARE_CONCRETE_INSTRUCTION(GlobalObject, "global-object")
1304 1319
1305 LOperand* context() { return inputs_[0]; } 1320 LOperand* context() { return inputs_[0]; }
1306 }; 1321 };
1307 1322
1308 1323
1309 class LGlobalReceiver: public LTemplateInstruction<1, 1, 0> { 1324 class LGlobalReceiver: public LTemplateInstruction<1, 1, 0> {
1310 public: 1325 public:
1311 explicit LGlobalReceiver(LOperand* global_object) { 1326 explicit LGlobalReceiver(LOperand* global_object) {
1312 inputs_[0] = global_object; 1327 inputs_[0] = global_object;
1313 } 1328 }
1314 1329
1315 LOperand* global_object() { return inputs_[0]; } 1330 LOperand* global_object() { return inputs_[0]; }
1316 1331
1317 DECLARE_CONCRETE_INSTRUCTION(GlobalReceiver, "global-receiver") 1332 DECLARE_CONCRETE_INSTRUCTION(GlobalReceiver, "global-receiver")
1318 }; 1333 };
1319 1334
1320 1335
1336 class LHasCachedArrayIndexAndBranch: public LControlInstruction<1, 1> {
1337 public:
1338 LHasCachedArrayIndexAndBranch(LOperand* value, LOperand* temp) {
1339 inputs_[0] = value;
1340 temps_[0] = temp;
1341 }
1342
1343 LOperand* value() { return inputs_[0]; }
1344 LOperand* temp() { return temps_[0]; }
1345
1346 DECLARE_CONCRETE_INSTRUCTION(HasCachedArrayIndexAndBranch,
1347 "has-cached-array-index-and-branch")
1348 DECLARE_HYDROGEN_ACCESSOR(HasCachedArrayIndexAndBranch)
1349
1350 virtual void PrintDataTo(StringStream* stream);
1351 };
1352
1353
1321 class LHasInstanceTypeAndBranch: public LControlInstruction<1, 1> { 1354 class LHasInstanceTypeAndBranch: public LControlInstruction<1, 1> {
1322 public: 1355 public:
1323 LHasInstanceTypeAndBranch(LOperand* value, LOperand* temp) { 1356 LHasInstanceTypeAndBranch(LOperand* value, LOperand* temp) {
1324 inputs_[0] = value; 1357 inputs_[0] = value;
1325 temps_[0] = temp; 1358 temps_[0] = temp;
1326 } 1359 }
1327 1360
1328 LOperand* value() { return inputs_[0]; } 1361 LOperand* value() { return inputs_[0]; }
1329 LOperand* temp() { return temps_[0]; } 1362 LOperand* temp() { return temps_[0]; }
1330 1363
(...skipping 1512 matching lines...) Expand 10 before | Expand all | Expand 10 after
2843 2876
2844 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2877 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2845 }; 2878 };
2846 2879
2847 #undef DECLARE_HYDROGEN_ACCESSOR 2880 #undef DECLARE_HYDROGEN_ACCESSOR
2848 #undef DECLARE_CONCRETE_INSTRUCTION 2881 #undef DECLARE_CONCRETE_INSTRUCTION
2849 2882
2850 } } // namespace v8::internal 2883 } } // namespace v8::internal
2851 2884
2852 #endif // V8_A64_LITHIUM_A64_H_ 2885 #endif // V8_A64_LITHIUM_A64_H_
OLDNEW
« no previous file with comments | « no previous file | src/a64/lithium-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698