| Index: runtime/vm/instructions_mips.h
|
| diff --git a/runtime/vm/instructions_mips.h b/runtime/vm/instructions_mips.h
|
| deleted file mode 100644
|
| index 4223857ea0ecfe99fa250ddd9edde630b0816d3b..0000000000000000000000000000000000000000
|
| --- a/runtime/vm/instructions_mips.h
|
| +++ /dev/null
|
| @@ -1,134 +0,0 @@
|
| -// 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.
|
| -// Classes that describe assembly patterns as used by inline caches.
|
| -
|
| -#ifndef RUNTIME_VM_INSTRUCTIONS_MIPS_H_
|
| -#define RUNTIME_VM_INSTRUCTIONS_MIPS_H_
|
| -
|
| -#ifndef RUNTIME_VM_INSTRUCTIONS_H_
|
| -#error Do not include instructions_mips.h directly; use instructions.h instead.
|
| -#endif
|
| -
|
| -#include "vm/constants_mips.h"
|
| -#include "vm/native_entry.h"
|
| -#include "vm/object.h"
|
| -
|
| -namespace dart {
|
| -
|
| -class InstructionPattern : public AllStatic {
|
| - public:
|
| - // Decodes a load sequence ending at 'end' (the last instruction of the
|
| - // load sequence is the instruction before the one at end). Returns the
|
| - // address of the first instruction in the sequence. Returns the register
|
| - // being loaded and the loaded object in the output parameters 'reg' and
|
| - // 'obj' respectively.
|
| - static uword DecodeLoadObject(uword end,
|
| - const ObjectPool& object_pool,
|
| - Register* reg,
|
| - Object* obj);
|
| -
|
| - // Decodes a load sequence ending at 'end' (the last instruction of the
|
| - // load sequence is the instruction before the one at end). Returns the
|
| - // address of the first instruction in the sequence. Returns the register
|
| - // being loaded and the loaded immediate value in the output parameters
|
| - // 'reg' and 'value' respectively.
|
| - static uword DecodeLoadWordImmediate(uword end,
|
| - Register* reg,
|
| - intptr_t* value);
|
| -
|
| - // Decodes a load sequence ending at 'end' (the last instruction of the
|
| - // load sequence is the instruction before the one at end). Returns the
|
| - // address of the first instruction in the sequence. Returns the register
|
| - // being loaded and the index in the pool being read from in the output
|
| - // parameters 'reg' and 'index' respectively.
|
| - static uword DecodeLoadWordFromPool(uword end,
|
| - Register* reg,
|
| - intptr_t* index);
|
| -};
|
| -
|
| -
|
| -class CallPattern : public ValueObject {
|
| - public:
|
| - CallPattern(uword pc, const Code& code);
|
| -
|
| - RawICData* IcData();
|
| -
|
| - RawCode* TargetCode() const;
|
| - void SetTargetCode(const Code& target) const;
|
| -
|
| - private:
|
| - const ObjectPool& object_pool_;
|
| -
|
| - uword end_;
|
| - uword ic_data_load_end_;
|
| -
|
| - intptr_t target_code_pool_index_;
|
| - ICData& ic_data_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(CallPattern);
|
| -};
|
| -
|
| -
|
| -class NativeCallPattern : public ValueObject {
|
| - public:
|
| - NativeCallPattern(uword pc, const Code& code);
|
| -
|
| - RawCode* target() const;
|
| - void set_target(const Code& target) const;
|
| -
|
| - NativeFunction native_function() const;
|
| - void set_native_function(NativeFunction target) const;
|
| -
|
| - private:
|
| - const ObjectPool& object_pool_;
|
| -
|
| - uword end_;
|
| - intptr_t native_function_pool_index_;
|
| - intptr_t target_code_pool_index_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(NativeCallPattern);
|
| -};
|
| -
|
| -
|
| -// Instance call that can switch between a direct monomorphic call, an IC call,
|
| -// and a megamorphic call.
|
| -// load guarded cid load ICData load MegamorphicCache
|
| -// load monomorphic target <-> load ICLookup stub -> load MMLookup stub
|
| -// call target.entry call stub.entry call stub.entry
|
| -class SwitchableCallPattern : public ValueObject {
|
| - public:
|
| - SwitchableCallPattern(uword pc, const Code& code);
|
| -
|
| - RawObject* data() const;
|
| - RawCode* target() const;
|
| - void SetData(const Object& data) const;
|
| - void SetTarget(const Code& target) const;
|
| -
|
| - private:
|
| - const ObjectPool& object_pool_;
|
| - intptr_t data_pool_index_;
|
| - intptr_t target_pool_index_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SwitchableCallPattern);
|
| -};
|
| -
|
| -
|
| -class ReturnPattern : public ValueObject {
|
| - public:
|
| - explicit ReturnPattern(uword pc);
|
| -
|
| - // jr(RA) = 1
|
| - static const int kLengthInBytes = 1 * Instr::kInstrSize;
|
| -
|
| - int pattern_length_in_bytes() const { return kLengthInBytes; }
|
| -
|
| - bool IsValid() const;
|
| -
|
| - private:
|
| - const uword pc_;
|
| -};
|
| -
|
| -} // namespace dart
|
| -
|
| -#endif // RUNTIME_VM_INSTRUCTIONS_MIPS_H_
|
|
|