Commit 0d297e51 authored by jochen@chromium.org's avatar jochen@chromium.org

A64: Decoder should not inherit from DecoderVisitor

BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

Review URL: https://codereview.chromium.org/177073013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 5ce87611
......@@ -89,23 +89,17 @@ namespace internal {
// must provide implementations for all of these functions.
class DecoderVisitor {
public:
virtual ~DecoderVisitor() {}
#define DECLARE(A) virtual void Visit##A(Instruction* instr) = 0;
VISITOR_LIST(DECLARE)
#undef DECLARE
virtual ~DecoderVisitor() {}
private:
// Visitors are registered in a list.
std::list<DecoderVisitor*> visitors_;
friend class Decoder;
};
class Decoder: public DecoderVisitor {
class Decoder {
public:
explicit Decoder() {}
Decoder() {}
// Top-level instruction decoder function. Decodes an instruction and calls
// the visitor functions registered with the Decoder class.
......@@ -194,6 +188,9 @@ class Decoder: public DecoderVisitor {
// tree, and call the corresponding visitors.
// On entry, instruction bits 27:25 = 0x7.
void DecodeAdvSIMDDataProcessing(Instruction* instr);
// Visitors are registered in a list.
std::list<DecoderVisitor*> visitors_;
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment