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

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

Issue 246303004: Fixes bug where we would occasionally materialize a corrupted object. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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 | « runtime/vm/il_printer.cc ('k') | runtime/vm/intermediate_language.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 (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_
6 #define VM_INTERMEDIATE_LANGUAGE_H_ 6 #define VM_INTERMEDIATE_LANGUAGE_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/ast.h" 9 #include "vm/ast.h"
10 #include "vm/growable_array.h" 10 #include "vm/growable_array.h"
(...skipping 4182 matching lines...) Expand 10 before | Expand all | Expand 10 after
4193 } 4193 }
4194 4194
4195 virtual bool CanDeoptimize() const { return false; } 4195 virtual bool CanDeoptimize() const { return false; }
4196 virtual EffectSet Effects() const { return EffectSet::None(); } 4196 virtual EffectSet Effects() const { return EffectSet::None(); }
4197 4197
4198 Location* locations() { return locations_; } 4198 Location* locations() { return locations_; }
4199 void set_locations(Location* locations) { locations_ = locations; } 4199 void set_locations(Location* locations) { locations_ = locations; }
4200 4200
4201 virtual bool MayThrow() const { return false; } 4201 virtual bool MayThrow() const { return false; }
4202 4202
4203 void RemapRegisters(intptr_t* fpu_reg_slots,
4204 intptr_t* cpu_reg_slots);
4205
4203 private: 4206 private:
4204 virtual void RawSetInputAt(intptr_t i, Value* value) { 4207 virtual void RawSetInputAt(intptr_t i, Value* value) {
4205 (*values_)[i] = value; 4208 (*values_)[i] = value;
4206 } 4209 }
4207 4210
4208 const Class& cls_; 4211 const Class& cls_;
4209 const ZoneGrowableArray<const Object*>& slots_; 4212 const ZoneGrowableArray<const Object*>& slots_;
4210 ZoneGrowableArray<Value*>* values_; 4213 ZoneGrowableArray<Value*>* values_;
4211 Location* locations_; 4214 Location* locations_;
4212 4215
(...skipping 3500 matching lines...) Expand 10 before | Expand all | Expand 10 after
7713 } 7716 }
7714 7717
7715 const Code& code() const { return code_; } 7718 const Code& code() const { return code_; }
7716 7719
7717 Environment* DeepCopy() const { return DeepCopy(Length()); } 7720 Environment* DeepCopy() const { return DeepCopy(Length()); }
7718 7721
7719 void DeepCopyTo(Instruction* instr) const; 7722 void DeepCopyTo(Instruction* instr) const;
7720 void DeepCopyToOuter(Instruction* instr) const; 7723 void DeepCopyToOuter(Instruction* instr) const;
7721 7724
7722 void PrintTo(BufferFormatter* f) const; 7725 void PrintTo(BufferFormatter* f) const;
7726 const char* ToCString() const;
7723 7727
7724 private: 7728 private:
7725 friend class ShallowIterator; 7729 friend class ShallowIterator;
7726 7730
7727 Environment(intptr_t length, 7731 Environment(intptr_t length,
7728 intptr_t fixed_parameter_count, 7732 intptr_t fixed_parameter_count,
7729 intptr_t deopt_id, 7733 intptr_t deopt_id,
7730 const Code& code, 7734 const Code& code,
7731 Environment* outer) 7735 Environment* outer)
7732 : values_(length), 7736 : values_(length),
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
7782 ForwardInstructionIterator* current_iterator_; 7786 ForwardInstructionIterator* current_iterator_;
7783 7787
7784 private: 7788 private:
7785 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); 7789 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor);
7786 }; 7790 };
7787 7791
7788 7792
7789 } // namespace dart 7793 } // namespace dart
7790 7794
7791 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 7795 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW
« no previous file with comments | « runtime/vm/il_printer.cc ('k') | runtime/vm/intermediate_language.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698