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 { ...@@ -89,23 +89,17 @@ namespace internal {
// must provide implementations for all of these functions. // must provide implementations for all of these functions.
class DecoderVisitor { class DecoderVisitor {
public: public:
virtual ~DecoderVisitor() {}
#define DECLARE(A) virtual void Visit##A(Instruction* instr) = 0; #define DECLARE(A) virtual void Visit##A(Instruction* instr) = 0;
VISITOR_LIST(DECLARE) VISITOR_LIST(DECLARE)
#undef 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: public:
explicit Decoder() {} Decoder() {}
// Top-level instruction decoder function. Decodes an instruction and calls // Top-level instruction decoder function. Decodes an instruction and calls
// the visitor functions registered with the Decoder class. // the visitor functions registered with the Decoder class.
...@@ -194,6 +188,9 @@ class Decoder: public DecoderVisitor { ...@@ -194,6 +188,9 @@ class Decoder: public DecoderVisitor {
// tree, and call the corresponding visitors. // tree, and call the corresponding visitors.
// On entry, instruction bits 27:25 = 0x7. // On entry, instruction bits 27:25 = 0x7.
void DecodeAdvSIMDDataProcessing(Instruction* instr); 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