Chromium Code Reviews| Index: runtime/vm/assembler_arm.h |
| =================================================================== |
| --- runtime/vm/assembler_arm.h (revision 17110) |
| +++ runtime/vm/assembler_arm.h (working copy) |
| @@ -1,4 +1,4 @@ |
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| @@ -14,6 +14,33 @@ |
| namespace dart { |
| +class Operand : public ValueObject { |
| + protected: |
| + // Operand can be sub classed (e.g: Address). |
|
srdjan
2013/01/16 19:06:30
s/sub classes/ subclassed/
regis
2013/01/16 23:14:42
Done.
|
| + Operand() { } |
| + |
| + private: |
| + DISALLOW_ALLOCATION(); |
| +}; |
| + |
| + |
| +class Address : public Operand { |
| + public: |
| + Address(Register base, int32_t disp) { |
| + UNIMPLEMENTED(); |
| + } |
| + private: |
| + DISALLOW_ALLOCATION(); |
| +}; |
| + |
| + |
| +class FieldAddress : public Address { |
| + public: |
| + FieldAddress(Register base, int32_t disp) |
| + : Address(base, disp - kHeapObjectTag) {} |
| +}; |
| + |
| + |
| class Label : public ValueObject { |
| public: |
| Label() : position_(0) { } |
| @@ -34,6 +61,7 @@ |
| bool IsUnused() const { return position_ == 0; } |
| bool IsLinked() const { return position_ > 0; } |
| + |
|
srdjan
2013/01/16 19:06:30
delete line
regis
2013/01/16 23:14:42
Done.
|
| private: |
| int position_; |
| @@ -58,16 +86,25 @@ |
| }; |
| -class Assembler { |
| +class CPUFeatures : public AllStatic { |
| public: |
| - Assembler() { } |
| + static void InitOnce() { } |
| +}; |
| + |
| + |
| +class Assembler : public ValueObject { |
| + public: |
| + Assembler() { UNIMPLEMENTED(); } |
| ~Assembler() { } |
| - // Macros for High-level operations. |
| - void AddConstant(Register reg, int value, Condition cond = AL) { |
| + void PopRegister(Register r) { |
| UNIMPLEMENTED(); |
| } |
| + void Bind(Label* label) { |
| + UNIMPLEMENTED(); |
| + } |
| + |
| // Misc. functionality |
| int CodeSize() const { |
| UNIMPLEMENTED(); |
| @@ -95,6 +132,25 @@ |
| UNIMPLEMENTED(); |
| } |
| + void Comment(const char* format, ...) PRINTF_ATTRIBUTE(2, 3) { |
| + UNIMPLEMENTED(); |
| + } |
| + |
| + const Code::Comments& GetCodeComments() const { |
| + UNIMPLEMENTED(); |
| + return Code::Comments::New(0); |
| + } |
| + |
| + static const char* RegisterName(Register reg) { |
| + UNIMPLEMENTED(); |
| + return NULL; |
| + } |
| + |
| + static const char* FpuRegisterName(FpuRegister reg) { |
| + UNIMPLEMENTED(); |
| + return NULL; |
| + } |
| + |
| private: |
| ZoneGrowableArray<int>* pointer_offsets_; |
| DISALLOW_ALLOCATION(); |