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

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

Issue 75123002: Version 1.0.0.6 (Closed) Base URL: http://dart.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 1 month 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 | « dart/runtime/vm/flow_graph_compiler.cc ('k') | dart/runtime/vm/object.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 (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 4502 matching lines...) Expand 10 before | Expand all | Expand 10 after
4513 SetInputAt(0, value); 4513 SetInputAt(0, value);
4514 } 4514 }
4515 4515
4516 Value* value() const { return inputs_[0]; } 4516 Value* value() const { return inputs_[0]; }
4517 4517
4518 DECLARE_INSTRUCTION(BoxDouble) 4518 DECLARE_INSTRUCTION(BoxDouble)
4519 virtual CompileType ComputeType() const; 4519 virtual CompileType ComputeType() const;
4520 4520
4521 virtual bool CanDeoptimize() const { return false; } 4521 virtual bool CanDeoptimize() const { return false; }
4522 4522
4523 virtual intptr_t DeoptimizationTarget() const {
4524 return Isolate::kNoDeoptId;
4525 }
4526
4523 virtual Representation RequiredInputRepresentation(intptr_t idx) const { 4527 virtual Representation RequiredInputRepresentation(intptr_t idx) const {
4524 ASSERT(idx == 0); 4528 ASSERT(idx == 0);
4525 return kUnboxedDouble; 4529 return kUnboxedDouble;
4526 } 4530 }
4527 4531
4528 virtual bool AllowsCSE() const { return true; } 4532 virtual bool AllowsCSE() const { return true; }
4529 virtual EffectSet Effects() const { return EffectSet::None(); } 4533 virtual EffectSet Effects() const { return EffectSet::None(); }
4530 virtual EffectSet Dependencies() const { return EffectSet::None(); } 4534 virtual EffectSet Dependencies() const { return EffectSet::None(); }
4531 virtual bool AttributesEqual(Instruction* other) const { return true; } 4535 virtual bool AttributesEqual(Instruction* other) const { return true; }
4532 4536
4533 virtual bool MayThrow() const { return false; } 4537 virtual bool MayThrow() const { return false; }
4534 4538
4535 Definition* Canonicalize(FlowGraph* flow_graph); 4539 Definition* Canonicalize(FlowGraph* flow_graph);
4536 4540
4537 private: 4541 private:
4538 DISALLOW_COPY_AND_ASSIGN(BoxDoubleInstr); 4542 DISALLOW_COPY_AND_ASSIGN(BoxDoubleInstr);
4539 }; 4543 };
4540 4544
4541 4545
4542 class BoxFloat32x4Instr : public TemplateDefinition<1> { 4546 class BoxFloat32x4Instr : public TemplateDefinition<1> {
4543 public: 4547 public:
4544 explicit BoxFloat32x4Instr(Value* value) { 4548 explicit BoxFloat32x4Instr(Value* value) {
4545 SetInputAt(0, value); 4549 SetInputAt(0, value);
4546 } 4550 }
4547 4551
4548 Value* value() const { return inputs_[0]; } 4552 Value* value() const { return inputs_[0]; }
4549 4553
4550 virtual bool CanDeoptimize() const { return false; } 4554 virtual bool CanDeoptimize() const { return false; }
4551 4555
4556 virtual intptr_t DeoptimizationTarget() const {
4557 return Isolate::kNoDeoptId;
4558 }
4559
4552 virtual Representation RequiredInputRepresentation(intptr_t idx) const { 4560 virtual Representation RequiredInputRepresentation(intptr_t idx) const {
4553 ASSERT(idx == 0); 4561 ASSERT(idx == 0);
4554 return kUnboxedFloat32x4; 4562 return kUnboxedFloat32x4;
4555 } 4563 }
4556 4564
4557 DECLARE_INSTRUCTION(BoxFloat32x4) 4565 DECLARE_INSTRUCTION(BoxFloat32x4)
4558 virtual CompileType ComputeType() const; 4566 virtual CompileType ComputeType() const;
4559 4567
4560 virtual bool AllowsCSE() const { return true; } 4568 virtual bool AllowsCSE() const { return true; }
4561 virtual EffectSet Effects() const { return EffectSet::None(); } 4569 virtual EffectSet Effects() const { return EffectSet::None(); }
(...skipping 12 matching lines...) Expand all
4574 class BoxInt32x4Instr : public TemplateDefinition<1> { 4582 class BoxInt32x4Instr : public TemplateDefinition<1> {
4575 public: 4583 public:
4576 explicit BoxInt32x4Instr(Value* value) { 4584 explicit BoxInt32x4Instr(Value* value) {
4577 SetInputAt(0, value); 4585 SetInputAt(0, value);
4578 } 4586 }
4579 4587
4580 Value* value() const { return inputs_[0]; } 4588 Value* value() const { return inputs_[0]; }
4581 4589
4582 virtual bool CanDeoptimize() const { return false; } 4590 virtual bool CanDeoptimize() const { return false; }
4583 4591
4592 virtual intptr_t DeoptimizationTarget() const {
4593 return Isolate::kNoDeoptId;
4594 }
4595
4584 virtual Representation RequiredInputRepresentation(intptr_t idx) const { 4596 virtual Representation RequiredInputRepresentation(intptr_t idx) const {
4585 ASSERT(idx == 0); 4597 ASSERT(idx == 0);
4586 return kUnboxedInt32x4; 4598 return kUnboxedInt32x4;
4587 } 4599 }
4588 4600
4589 DECLARE_INSTRUCTION(BoxInt32x4) 4601 DECLARE_INSTRUCTION(BoxInt32x4)
4590 virtual CompileType ComputeType() const; 4602 virtual CompileType ComputeType() const;
4591 4603
4592 virtual bool AllowsCSE() const { return true; } 4604 virtual bool AllowsCSE() const { return true; }
4593 virtual EffectSet Effects() const { return EffectSet::None(); } 4605 virtual EffectSet Effects() const { return EffectSet::None(); }
(...skipping 12 matching lines...) Expand all
4606 class BoxIntegerInstr : public TemplateDefinition<1> { 4618 class BoxIntegerInstr : public TemplateDefinition<1> {
4607 public: 4619 public:
4608 explicit BoxIntegerInstr(Value* value) { 4620 explicit BoxIntegerInstr(Value* value) {
4609 SetInputAt(0, value); 4621 SetInputAt(0, value);
4610 } 4622 }
4611 4623
4612 Value* value() const { return inputs_[0]; } 4624 Value* value() const { return inputs_[0]; }
4613 4625
4614 virtual bool CanDeoptimize() const { return false; } 4626 virtual bool CanDeoptimize() const { return false; }
4615 4627
4628 virtual intptr_t DeoptimizationTarget() const {
4629 return Isolate::kNoDeoptId;
4630 }
4631
4616 virtual Representation RequiredInputRepresentation(intptr_t idx) const { 4632 virtual Representation RequiredInputRepresentation(intptr_t idx) const {
4617 ASSERT(idx == 0); 4633 ASSERT(idx == 0);
4618 return kUnboxedMint; 4634 return kUnboxedMint;
4619 } 4635 }
4620 4636
4621 DECLARE_INSTRUCTION(BoxInteger) 4637 DECLARE_INSTRUCTION(BoxInteger)
4622 virtual CompileType ComputeType() const; 4638 virtual CompileType ComputeType() const;
4623 4639
4624 virtual bool AllowsCSE() const { return true; } 4640 virtual bool AllowsCSE() const { return true; }
4625 virtual EffectSet Effects() const { return EffectSet::None(); } 4641 virtual EffectSet Effects() const { return EffectSet::None(); }
(...skipping 2302 matching lines...) Expand 10 before | Expand all | Expand 10 after
6928 ForwardInstructionIterator* current_iterator_; 6944 ForwardInstructionIterator* current_iterator_;
6929 6945
6930 private: 6946 private:
6931 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); 6947 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor);
6932 }; 6948 };
6933 6949
6934 6950
6935 } // namespace dart 6951 } // namespace dart
6936 6952
6937 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 6953 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW
« no previous file with comments | « dart/runtime/vm/flow_graph_compiler.cc ('k') | dart/runtime/vm/object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698