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(); |