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

Side by Side Diff: src/ppc/lithium-ppc.cc

Issue 1018333003: PPC: Remove PropertyCell space (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 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/ppc/lithium-ppc.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include <sstream> 5 #include <sstream>
6 6
7 #include "src/v8.h" 7 #include "src/v8.h"
8 8
9 #include "src/hydrogen-osr.h" 9 #include "src/hydrogen-osr.h"
10 #include "src/lithium-inl.h" 10 #include "src/lithium-inl.h"
(...skipping 2080 matching lines...) Expand 10 before | Expand all | Expand 10 after
2091 return DefineAsRegister(new (zone()) LConstantE); 2091 return DefineAsRegister(new (zone()) LConstantE);
2092 } else if (r.IsTagged()) { 2092 } else if (r.IsTagged()) {
2093 return DefineAsRegister(new (zone()) LConstantT); 2093 return DefineAsRegister(new (zone()) LConstantT);
2094 } else { 2094 } else {
2095 UNREACHABLE(); 2095 UNREACHABLE();
2096 return NULL; 2096 return NULL;
2097 } 2097 }
2098 } 2098 }
2099 2099
2100 2100
2101 LInstruction* LChunkBuilder::DoLoadGlobalCell(HLoadGlobalCell* instr) {
2102 LLoadGlobalCell* result = new (zone()) LLoadGlobalCell;
2103 return instr->RequiresHoleCheck()
2104 ? AssignEnvironment(DefineAsRegister(result))
2105 : DefineAsRegister(result);
2106 }
2107
2108
2109 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { 2101 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) {
2110 LOperand* context = UseFixed(instr->context(), cp); 2102 LOperand* context = UseFixed(instr->context(), cp);
2111 LOperand* global_object = 2103 LOperand* global_object =
2112 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); 2104 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister());
2113 LOperand* vector = NULL; 2105 LOperand* vector = NULL;
2114 if (instr->HasVectorAndSlot()) { 2106 if (instr->HasVectorAndSlot()) {
2115 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); 2107 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister());
2116 } 2108 }
2117 LLoadGlobalGeneric* result = 2109 LLoadGlobalGeneric* result =
2118 new (zone()) LLoadGlobalGeneric(context, global_object, vector); 2110 new (zone()) LLoadGlobalGeneric(context, global_object, vector);
2119 return MarkAsCall(DefineFixed(result, r3), instr); 2111 return MarkAsCall(DefineFixed(result, r3), instr);
2120 } 2112 }
2121 2113
2122 2114
2123 LInstruction* LChunkBuilder::DoStoreGlobalCell(HStoreGlobalCell* instr) {
2124 LOperand* value = UseRegister(instr->value());
2125 // Use a temp to check the value in the cell in the case where we perform
2126 // a hole check.
2127 return instr->RequiresHoleCheck()
2128 ? AssignEnvironment(new (zone())
2129 LStoreGlobalCell(value, TempRegister()))
2130 : new (zone()) LStoreGlobalCell(value, NULL);
2131 }
2132
2133
2134 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { 2115 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) {
2135 LOperand* context = UseRegisterAtStart(instr->value()); 2116 LOperand* context = UseRegisterAtStart(instr->value());
2136 LInstruction* result = 2117 LInstruction* result =
2137 DefineAsRegister(new (zone()) LLoadContextSlot(context)); 2118 DefineAsRegister(new (zone()) LLoadContextSlot(context));
2138 if (instr->RequiresHoleCheck() && instr->DeoptimizesOnHole()) { 2119 if (instr->RequiresHoleCheck() && instr->DeoptimizesOnHole()) {
2139 result = AssignEnvironment(result); 2120 result = AssignEnvironment(result);
2140 } 2121 }
2141 return result; 2122 return result;
2142 } 2123 }
2143 2124
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
2625 LInstruction* LChunkBuilder::DoAllocateBlockContext( 2606 LInstruction* LChunkBuilder::DoAllocateBlockContext(
2626 HAllocateBlockContext* instr) { 2607 HAllocateBlockContext* instr) {
2627 LOperand* context = UseFixed(instr->context(), cp); 2608 LOperand* context = UseFixed(instr->context(), cp);
2628 LOperand* function = UseRegisterAtStart(instr->function()); 2609 LOperand* function = UseRegisterAtStart(instr->function());
2629 LAllocateBlockContext* result = 2610 LAllocateBlockContext* result =
2630 new (zone()) LAllocateBlockContext(context, function); 2611 new (zone()) LAllocateBlockContext(context, function);
2631 return MarkAsCall(DefineFixed(result, cp), instr); 2612 return MarkAsCall(DefineFixed(result, cp), instr);
2632 } 2613 }
2633 } 2614 }
2634 } // namespace v8::internal 2615 } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/ppc/lithium-ppc.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698