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

Side by Side Diff: src/crankshaft/arm/lithium-arm.cc

Issue 1419823003: Remove support for "loads and stores to global vars through property cell shortcuts inst… (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@disable-shortcuts
Patch Set: Addressing comments Created 5 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-arm.h ('k') | src/crankshaft/arm/lithium-codegen-arm.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 "src/crankshaft/arm/lithium-arm.h" 5 #include "src/crankshaft/arm/lithium-arm.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/crankshaft/arm/lithium-codegen-arm.h" 9 #include "src/crankshaft/arm/lithium-codegen-arm.h"
10 #include "src/crankshaft/hydrogen-osr.h" 10 #include "src/crankshaft/hydrogen-osr.h"
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 316
317 void LAccessArgumentsAt::PrintDataTo(StringStream* stream) { 317 void LAccessArgumentsAt::PrintDataTo(StringStream* stream) {
318 arguments()->PrintTo(stream); 318 arguments()->PrintTo(stream);
319 stream->Add(" length "); 319 stream->Add(" length ");
320 length()->PrintTo(stream); 320 length()->PrintTo(stream);
321 stream->Add(" index "); 321 stream->Add(" index ");
322 index()->PrintTo(stream); 322 index()->PrintTo(stream);
323 } 323 }
324 324
325 325
326 void LLoadGlobalViaContext::PrintDataTo(StringStream* stream) {
327 stream->Add("depth:%d slot:%d", depth(), slot_index());
328 }
329
330
331 void LStoreNamedField::PrintDataTo(StringStream* stream) { 326 void LStoreNamedField::PrintDataTo(StringStream* stream) {
332 object()->PrintTo(stream); 327 object()->PrintTo(stream);
333 std::ostringstream os; 328 std::ostringstream os;
334 os << hydrogen()->access() << " <- "; 329 os << hydrogen()->access() << " <- ";
335 stream->Add(os.str().c_str()); 330 stream->Add(os.str().c_str());
336 value()->PrintTo(stream); 331 value()->PrintTo(stream);
337 } 332 }
338 333
339 334
340 void LStoreNamedGeneric::PrintDataTo(StringStream* stream) { 335 void LStoreNamedGeneric::PrintDataTo(StringStream* stream) {
341 object()->PrintTo(stream); 336 object()->PrintTo(stream);
342 stream->Add("."); 337 stream->Add(".");
343 stream->Add(String::cast(*name())->ToCString().get()); 338 stream->Add(String::cast(*name())->ToCString().get());
344 stream->Add(" <- "); 339 stream->Add(" <- ");
345 value()->PrintTo(stream); 340 value()->PrintTo(stream);
346 } 341 }
347 342
348 343
349 void LStoreGlobalViaContext::PrintDataTo(StringStream* stream) {
350 stream->Add("depth:%d slot:%d <- ", depth(), slot_index());
351 value()->PrintTo(stream);
352 }
353
354
355 void LLoadKeyed::PrintDataTo(StringStream* stream) { 344 void LLoadKeyed::PrintDataTo(StringStream* stream) {
356 elements()->PrintTo(stream); 345 elements()->PrintTo(stream);
357 stream->Add("["); 346 stream->Add("[");
358 key()->PrintTo(stream); 347 key()->PrintTo(stream);
359 if (hydrogen()->IsDehoisted()) { 348 if (hydrogen()->IsDehoisted()) {
360 stream->Add(" + %d]", base_offset()); 349 stream->Add(" + %d]", base_offset());
361 } else { 350 } else {
362 stream->Add("]"); 351 stream->Add("]");
363 } 352 }
364 } 353 }
(...skipping 1768 matching lines...) Expand 10 before | Expand all | Expand 10 after
2133 LOperand* vector = NULL; 2122 LOperand* vector = NULL;
2134 if (instr->HasVectorAndSlot()) { 2123 if (instr->HasVectorAndSlot()) {
2135 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); 2124 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister());
2136 } 2125 }
2137 LLoadGlobalGeneric* result = 2126 LLoadGlobalGeneric* result =
2138 new(zone()) LLoadGlobalGeneric(context, global_object, vector); 2127 new(zone()) LLoadGlobalGeneric(context, global_object, vector);
2139 return MarkAsCall(DefineFixed(result, r0), instr); 2128 return MarkAsCall(DefineFixed(result, r0), instr);
2140 } 2129 }
2141 2130
2142 2131
2143 LInstruction* LChunkBuilder::DoLoadGlobalViaContext(
2144 HLoadGlobalViaContext* instr) {
2145 LOperand* context = UseFixed(instr->context(), cp);
2146 DCHECK(instr->slot_index() > 0);
2147 LLoadGlobalViaContext* result = new (zone()) LLoadGlobalViaContext(context);
2148 return MarkAsCall(DefineFixed(result, r0), instr);
2149 }
2150
2151
2152 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { 2132 LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) {
2153 LOperand* context = UseRegisterAtStart(instr->value()); 2133 LOperand* context = UseRegisterAtStart(instr->value());
2154 LInstruction* result = 2134 LInstruction* result =
2155 DefineAsRegister(new(zone()) LLoadContextSlot(context)); 2135 DefineAsRegister(new(zone()) LLoadContextSlot(context));
2156 if (instr->RequiresHoleCheck() && instr->DeoptimizesOnHole()) { 2136 if (instr->RequiresHoleCheck() && instr->DeoptimizesOnHole()) {
2157 result = AssignEnvironment(result); 2137 result = AssignEnvironment(result);
2158 } 2138 }
2159 return result; 2139 return result;
2160 } 2140 }
2161 2141
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
2425 slot = FixedTemp(VectorStoreICDescriptor::SlotRegister()); 2405 slot = FixedTemp(VectorStoreICDescriptor::SlotRegister());
2426 vector = FixedTemp(VectorStoreICDescriptor::VectorRegister()); 2406 vector = FixedTemp(VectorStoreICDescriptor::VectorRegister());
2427 } 2407 }
2428 2408
2429 LStoreNamedGeneric* result = 2409 LStoreNamedGeneric* result =
2430 new (zone()) LStoreNamedGeneric(context, obj, val, slot, vector); 2410 new (zone()) LStoreNamedGeneric(context, obj, val, slot, vector);
2431 return MarkAsCall(result, instr); 2411 return MarkAsCall(result, instr);
2432 } 2412 }
2433 2413
2434 2414
2435 LInstruction* LChunkBuilder::DoStoreGlobalViaContext(
2436 HStoreGlobalViaContext* instr) {
2437 LOperand* context = UseFixed(instr->context(), cp);
2438 LOperand* value = UseFixed(instr->value(),
2439 StoreGlobalViaContextDescriptor::ValueRegister());
2440 DCHECK(instr->slot_index() > 0);
2441
2442 LStoreGlobalViaContext* result =
2443 new (zone()) LStoreGlobalViaContext(context, value);
2444 return MarkAsCall(result, instr);
2445 }
2446
2447
2448 LInstruction* LChunkBuilder::DoStringAdd(HStringAdd* instr) { 2415 LInstruction* LChunkBuilder::DoStringAdd(HStringAdd* instr) {
2449 LOperand* context = UseFixed(instr->context(), cp); 2416 LOperand* context = UseFixed(instr->context(), cp);
2450 LOperand* left = UseFixed(instr->left(), r1); 2417 LOperand* left = UseFixed(instr->left(), r1);
2451 LOperand* right = UseFixed(instr->right(), r0); 2418 LOperand* right = UseFixed(instr->right(), r0);
2452 return MarkAsCall( 2419 return MarkAsCall(
2453 DefineFixed(new(zone()) LStringAdd(context, left, right), r0), 2420 DefineFixed(new(zone()) LStringAdd(context, left, right), r0),
2454 instr); 2421 instr);
2455 } 2422 }
2456 2423
2457 2424
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
2691 HAllocateBlockContext* instr) { 2658 HAllocateBlockContext* instr) {
2692 LOperand* context = UseFixed(instr->context(), cp); 2659 LOperand* context = UseFixed(instr->context(), cp);
2693 LOperand* function = UseRegisterAtStart(instr->function()); 2660 LOperand* function = UseRegisterAtStart(instr->function());
2694 LAllocateBlockContext* result = 2661 LAllocateBlockContext* result =
2695 new(zone()) LAllocateBlockContext(context, function); 2662 new(zone()) LAllocateBlockContext(context, function);
2696 return MarkAsCall(DefineFixed(result, cp), instr); 2663 return MarkAsCall(DefineFixed(result, cp), instr);
2697 } 2664 }
2698 2665
2699 } // namespace internal 2666 } // namespace internal
2700 } // namespace v8 2667 } // namespace v8
OLDNEW
« no previous file with comments | « src/crankshaft/arm/lithium-arm.h ('k') | src/crankshaft/arm/lithium-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698