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

Side by Side Diff: runtime/vm/intermediate_language.cc

Issue 10832126: Store pointer instead of reference to LocalVariable in ast and flow graph. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 4 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/intermediate_language.h" 5 #include "vm/intermediate_language.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/dart_entry.h" 8 #include "vm/dart_entry.h"
9 #include "vm/flow_graph_builder.h" 9 #include "vm/flow_graph_builder.h"
10 #include "vm/flow_graph_compiler.h" 10 #include "vm/flow_graph_compiler.h"
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 450
451 // ==== Recording assigned variables. 451 // ==== Recording assigned variables.
452 void Computation::RecordAssignedVars(BitVector* assigned_vars, 452 void Computation::RecordAssignedVars(BitVector* assigned_vars,
453 intptr_t fixed_parameter_count) { 453 intptr_t fixed_parameter_count) {
454 // Nothing to do for the base class. 454 // Nothing to do for the base class.
455 } 455 }
456 456
457 457
458 void StoreLocalComp::RecordAssignedVars(BitVector* assigned_vars, 458 void StoreLocalComp::RecordAssignedVars(BitVector* assigned_vars,
459 intptr_t fixed_parameter_count) { 459 intptr_t fixed_parameter_count) {
460 if (!local().is_captured()) { 460 if (!local()->is_captured()) {
461 assigned_vars->Add(local().BitIndexIn(fixed_parameter_count)); 461 assigned_vars->Add(local()->BitIndexIn(fixed_parameter_count));
462 } 462 }
463 } 463 }
464 464
465 465
466 void Instruction::RecordAssignedVars(BitVector* assigned_vars, 466 void Instruction::RecordAssignedVars(BitVector* assigned_vars,
467 intptr_t fixed_parameter_count) { 467 intptr_t fixed_parameter_count) {
468 // Nothing to do for the base class. 468 // Nothing to do for the base class.
469 } 469 }
470 470
471 471
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 747
748 748
749 RawAbstractType* StaticCallComp::StaticType() const { 749 RawAbstractType* StaticCallComp::StaticType() const {
750 return function().result_type(); 750 return function().result_type();
751 } 751 }
752 752
753 753
754 RawAbstractType* LoadLocalComp::StaticType() const { 754 RawAbstractType* LoadLocalComp::StaticType() const {
755 // TODO(regis): Verify that the type of the receiver is properly set. 755 // TODO(regis): Verify that the type of the receiver is properly set.
756 if (FLAG_enable_type_checks) { 756 if (FLAG_enable_type_checks) {
757 return local().type().raw(); 757 return local()->type().raw();
758 } 758 }
759 return Type::DynamicType(); 759 return Type::DynamicType();
760 } 760 }
761 761
762 762
763 RawAbstractType* StoreLocalComp::StaticType() const { 763 RawAbstractType* StoreLocalComp::StaticType() const {
764 return value()->StaticType(); 764 return value()->StaticType();
765 } 765 }
766 766
767 767
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
1393 if (compiler->is_ssa()) { 1393 if (compiler->is_ssa()) {
1394 ASSERT(locs()->in(0).IsRegister()); 1394 ASSERT(locs()->in(0).IsRegister());
1395 __ PushRegister(locs()->in(0).reg()); 1395 __ PushRegister(locs()->in(0).reg());
1396 } 1396 }
1397 } 1397 }
1398 1398
1399 1399
1400 #undef __ 1400 #undef __
1401 1401
1402 } // namespace dart 1402 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698