Chromium Code Reviews| Index: runtime/vm/assembler_arm.h |
| =================================================================== |
| --- runtime/vm/assembler_arm.h (revision 17160) |
| +++ 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,51 @@ |
| namespace dart { |
| +class Operand { |
| + public: |
| + Operand(const Operand& other) { |
| + UNIMPLEMENTED(); |
| + } |
| + |
| + Operand& operator=(const Operand& other) { |
| + UNIMPLEMENTED(); |
| + return *this; |
| + } |
| + |
| + protected: |
| + Operand() { } // Needed by subclass Address. |
|
srdjan
2013/01/16 23:57:56
DISALLOW_ALLOCATION ?
regis
2013/01/17 01:02:09
Done.
|
| +}; |
| + |
| + |
| +class Address : public Operand { |
| + public: |
| + Address(Register base, int32_t disp) { |
| + UNIMPLEMENTED(); |
| + } |
| + |
| + Address(const Address& other) : Operand(other) { } |
| + |
| + Address& operator=(const Address& other) { |
| + Operand::operator=(other); |
| + return *this; |
| + } |
| +}; |
| + |
| + |
| +class FieldAddress : public Address { |
| + public: |
| + FieldAddress(Register base, int32_t disp) |
| + : Address(base, disp - kHeapObjectTag) { } |
| + |
| + FieldAddress(const FieldAddress& other) : Address(other) { } |
| + |
| + FieldAddress& operator=(const FieldAddress& other) { |
| + Address::operator=(other); |
| + return *this; |
| + } |
| +}; |
| + |
| + |
| class Label : public ValueObject { |
| public: |
| Label() : position_(0) { } |
| @@ -58,16 +103,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 +149,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(); |