CACAO
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
source
cacao
src
vm
jit
compiler2
ICMDPrinterPass.hpp
Go to the documentation of this file.
1
/* src/vm/jit/compiler2/ICMDPrinterPass.hpp - ICMDPrinterPass
2
3
Copyright (C) 2013
4
CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
5
6
This file is part of CACAO.
7
8
This program is free software; you can redistribute it and/or
9
modify it under the terms of the GNU General Public License as
10
published by the Free Software Foundation; either version 2, or (at
11
your option) any later version.
12
13
This program is distributed in the hope that it will be useful, but
14
WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
General Public License for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with this program; if not, write to the Free Software
20
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21
02110-1301, USA.
22
23
*/
24
25
#ifndef _JIT_COMPILER2_ICMDPRINTERPASS
26
#define _JIT_COMPILER2_ICMDPRINTERPASS
27
28
#include "
vm/jit/compiler2/Pass.hpp
"
29
30
MM_MAKE_NAME
(ICMDPrinterPass)
31
32
namespace cacao {
33
namespace
jit {
34
namespace
compiler2 {
35
36
/**
37
* ICMDPrinterPass
38
*
39
* This is an example for a compiler pass that simple prints all instructions
40
* (in an unrelated order). It can be used as a pass template.
41
*/
42
class
ICMDPrinterPass
:
public
Pass
,
public
memory::ManagerMixin
<ICMDPrinterPass> {
43
public
:
44
static
char
ID
;
45
ICMDPrinterPass
() :
Pass
() {}
46
virtual
bool
run(
JITData
&JD);
47
virtual
PassUsage
& get_PassUsage(
PassUsage
&PU)
const
;
48
49
// virtual void initialize(); (optional)
50
// virtual void finalize(); (optional)
51
// virtual bool verify() const; (optional)
52
};
53
54
}
// end namespace compiler2
55
}
// end namespace jit
56
}
// end namespace cacao
57
58
#endif
/* _JIT_COMPILER2_ICMDPRINTERPASS */
59
60
61
/*
62
* These are local overrides for various environment variables in Emacs.
63
* Please do not remove this and leave it at the end of the file, where
64
* Emacs will automagically detect them.
65
* ---------------------------------------------------------------------
66
* Local variables:
67
* mode: c++
68
* indent-tabs-mode: t
69
* c-basic-offset: 4
70
* tab-width: 4
71
* End:
72
* vim:noexpandtab:sw=4:ts=4:
73
*/
cacao::jit::compiler2::Pass
Pass superclass All compiler passes should inheritate this class.
Definition:
Pass.hpp:48
cacao::jit::compiler2::memory::ManagerMixin
Custom new/delete handler mixin.
Definition:
Manager.hpp:43
MM_MAKE_NAME
#define MM_MAKE_NAME(x)
Definition:
memstats.hpp:127
cacao::jit::compiler2::ICMDPrinterPass
ICMDPrinterPass.
Definition:
ICMDPrinterPass.hpp:42
cacao::jit::compiler2::PassUsage
Stores the interdependencies of a pass.
Definition:
PassUsage.hpp:55
cacao::jit::compiler2::JITData
Definition:
JITData.hpp:42
cacao::jit::compiler2::ICMDPrinterPass::ID
static char ID
Definition:
ICMDPrinterPass.hpp:44
cacao::jit::compiler2::ICMDPrinterPass::ICMDPrinterPass
ICMDPrinterPass()
Definition:
ICMDPrinterPass.hpp:45
Pass.hpp
Generated on Fri Aug 4 2017 03:01:51 for CACAO by
1.8.5