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

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

Issue 800433004: Use a typed array for the irregexp stack. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: naming Created 5 years, 11 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/constant_propagator.cc ('k') | runtime/vm/intermediate_language_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 (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 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 M(Float64x2OneArg) \ 554 M(Float64x2OneArg) \
555 M(ExtractNthOutput) \ 555 M(ExtractNthOutput) \
556 M(BinaryUint32Op) \ 556 M(BinaryUint32Op) \
557 M(ShiftUint32Op) \ 557 M(ShiftUint32Op) \
558 M(UnaryUint32Op) \ 558 M(UnaryUint32Op) \
559 M(BoxUint32) \ 559 M(BoxUint32) \
560 M(UnboxUint32) \ 560 M(UnboxUint32) \
561 M(BoxInt32) \ 561 M(BoxInt32) \
562 M(UnboxInt32) \ 562 M(UnboxInt32) \
563 M(UnboxedIntConverter) \ 563 M(UnboxedIntConverter) \
564 M(GrowRegExpStack) \
564 M(Deoptimize) 565 M(Deoptimize)
565 566
566 #define FOR_EACH_ABSTRACT_INSTRUCTION(M) \ 567 #define FOR_EACH_ABSTRACT_INSTRUCTION(M) \
567 M(BlockEntry) \ 568 M(BlockEntry) \
568 M(BoxInteger) \ 569 M(BoxInteger) \
569 M(UnboxInteger) \ 570 M(UnboxInteger) \
570 M(Comparison) \ 571 M(Comparison) \
571 M(UnaryIntegerOp) \ 572 M(UnaryIntegerOp) \
572 M(BinaryIntegerOp) \ 573 M(BinaryIntegerOp) \
573 574
(...skipping 7212 matching lines...) Expand 10 before | Expand all | Expand 10 after
7786 7787
7787 private: 7788 private:
7788 const Representation from_representation_; 7789 const Representation from_representation_;
7789 const Representation to_representation_; 7790 const Representation to_representation_;
7790 bool is_truncating_; 7791 bool is_truncating_;
7791 7792
7792 DISALLOW_COPY_AND_ASSIGN(UnboxedIntConverterInstr); 7793 DISALLOW_COPY_AND_ASSIGN(UnboxedIntConverterInstr);
7793 }; 7794 };
7794 7795
7795 7796
7797 class GrowRegExpStackInstr : public TemplateDefinition<1, Throws> {
7798 public:
7799 explicit GrowRegExpStackInstr(Value* typed_data_cell) {
7800 SetInputAt(0, typed_data_cell);
7801 }
7802
7803 Value* typed_data_cell() const { return inputs_[0]; }
7804
7805 virtual bool CanDeoptimize() const { return MayThrow(); }
7806 virtual EffectSet Effects() const { return EffectSet::None(); }
7807
7808 DECLARE_INSTRUCTION(GrowRegExpStack);
7809
7810 private:
7811 DISALLOW_COPY_AND_ASSIGN(GrowRegExpStackInstr);
7812 };
7813
7814
7796 #undef DECLARE_INSTRUCTION 7815 #undef DECLARE_INSTRUCTION
7797 7816
7798 class Environment : public ZoneAllocated { 7817 class Environment : public ZoneAllocated {
7799 public: 7818 public:
7800 // Iterate the non-NULL values in the innermost level of an environment. 7819 // Iterate the non-NULL values in the innermost level of an environment.
7801 class ShallowIterator : public ValueObject { 7820 class ShallowIterator : public ValueObject {
7802 public: 7821 public:
7803 explicit ShallowIterator(Environment* environment) 7822 explicit ShallowIterator(Environment* environment)
7804 : environment_(environment), index_(0) { } 7823 : environment_(environment), index_(0) { }
7805 7824
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
8037 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ 8056 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \
8038 UNIMPLEMENTED(); \ 8057 UNIMPLEMENTED(); \
8039 return NULL; \ 8058 return NULL; \
8040 } \ 8059 } \
8041 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } 8060 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); }
8042 8061
8043 8062
8044 } // namespace dart 8063 } // namespace dart
8045 8064
8046 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 8065 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW
« no previous file with comments | « runtime/vm/constant_propagator.cc ('k') | runtime/vm/intermediate_language_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698