Chromium Code Reviews

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

Issue 1845553002: [crankshaft] Get rid of the StoreFrameContext instruction. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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_PPC_LITHIUM_PPC_H_ 5 #ifndef V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_
6 #define V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_ 6 #define V8_CRANKSHAFT_PPC_LITHIUM_PPC_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 113 matching lines...)
124 V(PushArgument) \ 124 V(PushArgument) \
125 V(Return) \ 125 V(Return) \
126 V(SeqStringGetChar) \ 126 V(SeqStringGetChar) \
127 V(SeqStringSetChar) \ 127 V(SeqStringSetChar) \
128 V(ShiftI) \ 128 V(ShiftI) \
129 V(SmiTag) \ 129 V(SmiTag) \
130 V(SmiUntag) \ 130 V(SmiUntag) \
131 V(StackCheck) \ 131 V(StackCheck) \
132 V(StoreCodeEntry) \ 132 V(StoreCodeEntry) \
133 V(StoreContextSlot) \ 133 V(StoreContextSlot) \
134 V(StoreFrameContext) \
135 V(StoreKeyed) \ 134 V(StoreKeyed) \
136 V(StoreKeyedGeneric) \ 135 V(StoreKeyedGeneric) \
137 V(StoreNamedField) \ 136 V(StoreNamedField) \
138 V(StoreNamedGeneric) \ 137 V(StoreNamedGeneric) \
139 V(StringAdd) \ 138 V(StringAdd) \
140 V(StringCharCodeAt) \ 139 V(StringCharCodeAt) \
141 V(StringCharFromCode) \ 140 V(StringCharFromCode) \
142 V(StringCompareAndBranch) \ 141 V(StringCompareAndBranch) \
143 V(SubI) \ 142 V(SubI) \
144 V(RSubI) \ 143 V(RSubI) \
(...skipping 2251 matching lines...)
2396 inputs_[1] = index; 2395 inputs_[1] = index;
2397 } 2396 }
2398 2397
2399 LOperand* object() { return inputs_[0]; } 2398 LOperand* object() { return inputs_[0]; }
2400 LOperand* index() { return inputs_[1]; } 2399 LOperand* index() { return inputs_[1]; }
2401 2400
2402 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex, "load-field-by-index") 2401 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex, "load-field-by-index")
2403 }; 2402 };
2404 2403
2405 2404
2406 class LStoreFrameContext : public LTemplateInstruction<0, 1, 0> {
2407 public:
2408 explicit LStoreFrameContext(LOperand* context) { inputs_[0] = context; }
2409
2410 LOperand* context() { return inputs_[0]; }
2411
2412 DECLARE_CONCRETE_INSTRUCTION(StoreFrameContext, "store-frame-context")
2413 };
2414
2415
2416 class LChunkBuilder; 2405 class LChunkBuilder;
2417 class LPlatformChunk final : public LChunk { 2406 class LPlatformChunk final : public LChunk {
2418 public: 2407 public:
2419 LPlatformChunk(CompilationInfo* info, HGraph* graph) : LChunk(info, graph) {} 2408 LPlatformChunk(CompilationInfo* info, HGraph* graph) : LChunk(info, graph) {}
2420 2409
2421 int GetNextSpillIndex(RegisterKind kind); 2410 int GetNextSpillIndex(RegisterKind kind);
2422 LOperand* GetNextSpillSlot(RegisterKind kind); 2411 LOperand* GetNextSpillSlot(RegisterKind kind);
2423 }; 2412 };
2424 2413
2425 2414
(...skipping 128 matching lines...)
2554 2543
2555 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2544 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2556 }; 2545 };
2557 2546
2558 #undef DECLARE_HYDROGEN_ACCESSOR 2547 #undef DECLARE_HYDROGEN_ACCESSOR
2559 #undef DECLARE_CONCRETE_INSTRUCTION 2548 #undef DECLARE_CONCRETE_INSTRUCTION
2560 } // namespace internal 2549 } // namespace internal
2561 } // namespace v8 2550 } // namespace v8
2562 2551
2563 #endif // V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_ 2552 #endif // V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_
OLDNEW

Powered by Google App Engine