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

Side by Side Diff: src/lithium.cc

Issue 292993003: Revert "Refactor transitioning stores." (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 7 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 | « src/lithium.h ('k') | src/lithium-codegen.h » ('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 "v8.h" 5 #include "v8.h"
6 #include "lithium.h" 6 #include "lithium.h"
7 #include "scopes.h" 7 #include "scopes.h"
8 #include "serialize.h" 8 #include "serialize.h"
9 9
10 #if V8_TARGET_ARCH_IA32 10 #if V8_TARGET_ARCH_IA32
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 } 231 }
232 232
233 233
234 LChunk::LChunk(CompilationInfo* info, HGraph* graph) 234 LChunk::LChunk(CompilationInfo* info, HGraph* graph)
235 : spill_slot_count_(0), 235 : spill_slot_count_(0),
236 info_(info), 236 info_(info),
237 graph_(graph), 237 graph_(graph),
238 instructions_(32, graph->zone()), 238 instructions_(32, graph->zone()),
239 pointer_maps_(8, graph->zone()), 239 pointer_maps_(8, graph->zone()),
240 inlined_closures_(1, graph->zone()), 240 inlined_closures_(1, graph->zone()),
241 deprecation_dependencies_(MapLess(), MapAllocator(graph->zone())),
241 stability_dependencies_(MapLess(), MapAllocator(graph->zone())) { 242 stability_dependencies_(MapLess(), MapAllocator(graph->zone())) {
242 } 243 }
243 244
244 245
245 LLabel* LChunk::GetLabel(int block_id) const { 246 LLabel* LChunk::GetLabel(int block_id) const {
246 HBasicBlock* block = graph_->blocks()->at(block_id); 247 HBasicBlock* block = graph_->blocks()->at(block_id);
247 int first_instruction = block->first_instruction_index(); 248 int first_instruction = block->first_instruction_index();
248 return LLabel::cast(instructions_[first_instruction]); 249 return LLabel::cast(instructions_[first_instruction]);
249 } 250 }
250 251
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 } 372 }
372 373
373 374
374 Representation LChunk::LookupLiteralRepresentation( 375 Representation LChunk::LookupLiteralRepresentation(
375 LConstantOperand* operand) const { 376 LConstantOperand* operand) const {
376 return graph_->LookupValue(operand->index())->representation(); 377 return graph_->LookupValue(operand->index())->representation();
377 } 378 }
378 379
379 380
380 void LChunk::CommitDependencies(Handle<Code> code) const { 381 void LChunk::CommitDependencies(Handle<Code> code) const {
382 for (MapSet::const_iterator it = deprecation_dependencies_.begin(),
383 iend = deprecation_dependencies_.end(); it != iend; ++it) {
384 Handle<Map> map = *it;
385 ASSERT(!map->is_deprecated());
386 ASSERT(map->CanBeDeprecated());
387 Map::AddDependentCode(map, DependentCode::kTransitionGroup, code);
388 }
389
381 for (MapSet::const_iterator it = stability_dependencies_.begin(), 390 for (MapSet::const_iterator it = stability_dependencies_.begin(),
382 iend = stability_dependencies_.end(); it != iend; ++it) { 391 iend = stability_dependencies_.end(); it != iend; ++it) {
383 Handle<Map> map = *it; 392 Handle<Map> map = *it;
384 ASSERT(map->is_stable()); 393 ASSERT(map->is_stable());
385 ASSERT(map->CanTransition()); 394 ASSERT(map->CanTransition());
386 Map::AddDependentCode(map, DependentCode::kPrototypeCheckGroup, code); 395 Map::AddDependentCode(map, DependentCode::kPrototypeCheckGroup, code);
387 } 396 }
388 397
389 info_->CommitDependencies(code); 398 info_->CommitDependencies(code);
390 } 399 }
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 618
610 619
611 LPhase::~LPhase() { 620 LPhase::~LPhase() {
612 if (ShouldProduceTraceOutput()) { 621 if (ShouldProduceTraceOutput()) {
613 isolate()->GetHTracer()->TraceLithium(name(), chunk_); 622 isolate()->GetHTracer()->TraceLithium(name(), chunk_);
614 } 623 }
615 } 624 }
616 625
617 626
618 } } // namespace v8::internal 627 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/lithium.h ('k') | src/lithium-codegen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698