| Index: runtime/vm/assembler_arm.h
|
| ===================================================================
|
| --- runtime/vm/assembler_arm.h (revision 17245)
|
| +++ 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 ValueObject {
|
| + public:
|
| + Operand(const Operand& other) : ValueObject() {
|
| + UNIMPLEMENTED();
|
| + }
|
| +
|
| + Operand& operator=(const Operand& other) {
|
| + UNIMPLEMENTED();
|
| + return *this;
|
| + }
|
| +
|
| + protected:
|
| + Operand() { } // Needed by subclass Address.
|
| +};
|
| +
|
| +
|
| +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,29 @@
|
| };
|
|
|
|
|
| -class Assembler {
|
| +class CPUFeatures : public AllStatic {
|
| public:
|
| - Assembler() { }
|
| + static void InitOnce() { }
|
| + static bool double_truncate_round_supported() {
|
| + UNIMPLEMENTED();
|
| + return false;
|
| + }
|
| +};
|
| +
|
| +
|
| +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 +153,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();
|
|
|