CACAO
escape.hpp
Go to the documentation of this file.
1 /* src/vm/optimizing/escape.hpp
2 
3  Copyright (C) 2008-2013
4  CACAOVM - Verein zu Foerderung der freien virtuellen Machine 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 #ifndef ESCAPE_HPP_
25 #define ESCAPE_HPP_
26 
27 #include "vm/jit/jit.hpp"
28 
29 struct methodinfo;
30 
31 typedef enum {
38 
40  return (escape_state_t)(x & ~0x80);
41 }
42 
44  return (u1)x;
45 }
46 
48 
49 void escape_analysis_escape_check(void *vp);
50 
52 
53 bool escape_is_monomorphic(methodinfo *caller, methodinfo *callee);
54 
55 #endif // ESCAPE_HPP_
56 
57 
58 /*
59  * These are local overrides for various environment variables in Emacs.
60  * Please do not remove this and leave it at the end of the file, where
61  * Emacs will automagically detect them.
62  * ---------------------------------------------------------------------
63  * Local variables:
64  * mode: c++
65  * indent-tabs-mode: t
66  * c-basic-offset: 4
67  * tab-width: 4
68  * End:
69  * vim:noexpandtab:sw=4:ts=4:
70  */
Definition: jit.hpp:126
uint8_t u1
Definition: types.hpp:40
void escape_analysis_perform(jitdata *jd)
Definition: escape.cpp:1277
bool escape_is_monomorphic(methodinfo *caller, methodinfo *callee)
Definition: escape.cpp:1324
void escape_analysis_escape_check(void *vp)
Definition: escape.cpp:1319
static u1 escape_state_to_u1(escape_state_t x)
Definition: escape.hpp:43
escape_state_t
Definition: escape.hpp:31
static escape_state_t escape_state_from_u1(u1 x)
Definition: escape.hpp:39
void bc_escape_analysis_perform(methodinfo *m)