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

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

Issue 1288863006: Use zone allocated growable array to populate interim static and stub calls table, thus allocating … (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: add comment Created 5 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
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 3455 matching lines...) Expand 10 before | Expand all | Expand 10 after
3466 is_object_reference_initialization_(false) { 3466 is_object_reference_initialization_(false) {
3467 SetInputAt(kInstancePos, instance); 3467 SetInputAt(kInstancePos, instance);
3468 SetInputAt(kValuePos, value); 3468 SetInputAt(kValuePos, value);
3469 } 3469 }
3470 3470
3471 StoreInstanceFieldInstr(intptr_t offset_in_bytes, 3471 StoreInstanceFieldInstr(intptr_t offset_in_bytes,
3472 Value* instance, 3472 Value* instance,
3473 Value* value, 3473 Value* value,
3474 StoreBarrierType emit_store_barrier, 3474 StoreBarrierType emit_store_barrier,
3475 intptr_t token_pos) 3475 intptr_t token_pos)
3476 : field_(Field::Handle()), 3476 : field_(Field::ZoneHandle()),
3477 offset_in_bytes_(offset_in_bytes), 3477 offset_in_bytes_(offset_in_bytes),
3478 emit_store_barrier_(emit_store_barrier), 3478 emit_store_barrier_(emit_store_barrier),
3479 token_pos_(token_pos), 3479 token_pos_(token_pos),
3480 is_potential_unboxed_initialization_(false), 3480 is_potential_unboxed_initialization_(false),
3481 is_object_reference_initialization_(false) { 3481 is_object_reference_initialization_(false) {
3482 SetInputAt(kInstancePos, instance); 3482 SetInputAt(kInstancePos, instance);
3483 SetInputAt(kValuePos, value); 3483 SetInputAt(kValuePos, value);
3484 } 3484 }
3485 3485
3486 DECLARE_INSTRUCTION(StoreInstanceField) 3486 DECLARE_INSTRUCTION(StoreInstanceField)
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
3868 3868
3869 DISALLOW_COPY_AND_ASSIGN(StringToCharCodeInstr); 3869 DISALLOW_COPY_AND_ASSIGN(StringToCharCodeInstr);
3870 }; 3870 };
3871 3871
3872 3872
3873 class StringInterpolateInstr : public TemplateDefinition<1, Throws> { 3873 class StringInterpolateInstr : public TemplateDefinition<1, Throws> {
3874 public: 3874 public:
3875 StringInterpolateInstr(Value* value, intptr_t token_pos) 3875 StringInterpolateInstr(Value* value, intptr_t token_pos)
3876 : TemplateDefinition(Isolate::Current()->GetNextDeoptId()), 3876 : TemplateDefinition(Isolate::Current()->GetNextDeoptId()),
3877 token_pos_(token_pos), 3877 token_pos_(token_pos),
3878 function_(Function::Handle()) { 3878 function_(Function::ZoneHandle()) {
3879 SetInputAt(0, value); 3879 SetInputAt(0, value);
3880 } 3880 }
3881 3881
3882 Value* value() const { return inputs_[0]; } 3882 Value* value() const { return inputs_[0]; }
3883 virtual intptr_t token_pos() const { return token_pos_; } 3883 virtual intptr_t token_pos() const { return token_pos_; }
3884 3884
3885 virtual CompileType ComputeType() const; 3885 virtual CompileType ComputeType() const;
3886 // Issues a static call to Dart code which calls toString on objects. 3886 // Issues a static call to Dart code which calls toString on objects.
3887 virtual EffectSet Effects() const { return EffectSet::All(); } 3887 virtual EffectSet Effects() const { return EffectSet::All(); }
3888 virtual bool CanDeoptimize() const { return true; } 3888 virtual bool CanDeoptimize() const { return true; }
(...skipping 4212 matching lines...) Expand 10 before | Expand all | Expand 10 after
8101 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ 8101 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \
8102 UNIMPLEMENTED(); \ 8102 UNIMPLEMENTED(); \
8103 return NULL; \ 8103 return NULL; \
8104 } \ 8104 } \
8105 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } 8105 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); }
8106 8106
8107 8107
8108 } // namespace dart 8108 } // namespace dart
8109 8109
8110 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 8110 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698