CACAO
tlh.hpp
Go to the documentation of this file.
1 /* src/mm/tlh.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 
25 
26 #ifndef TLH_HPP_
27 #define TLH_HPP_ 1
28 
29 #include "config.h"
30 
31 #include <stddef.h> // for size_t
32 #include <stdint.h> // for uint8_t
33 
34 typedef struct {
35  uint8_t *start;
36  uint8_t *end;
37  uint8_t *top;
38  uint8_t *base;
39  unsigned overflows;
40 } tlh_t;
41 
42 void tlh_init(tlh_t *tlh);
43 
44 void tlh_destroy(tlh_t *tlh);
45 
46 void tlh_add_frame(tlh_t *tlh);
47 
48 void tlh_remove_frame(tlh_t *tlh);
49 
50 void *tlh_alloc(tlh_t *tlh, size_t size);
51 
52 #endif // TLH_HPP_
53 
54 /*
55  * These are local overrides for various environment variables in Emacs.
56  * Please do not remove this and leave it at the end of the file, where
57  * Emacs will automagically detect them.
58  * ---------------------------------------------------------------------
59  * Local variables:
60  * mode: c++
61  * indent-tabs-mode: t
62  * c-basic-offset: 4
63  * tab-width: 4
64  * End:
65  * vim:noexpandtab:sw=4:ts=4:
66  */
uint8_t * top
Definition: tlh.hpp:37
Definition: tlh.hpp:34
uint8_t * start
Definition: tlh.hpp:35
JNIEnv jthread jobject jclass jlong size
Definition: jvmti.h:387
uint8_t * end
Definition: tlh.hpp:36
void tlh_destroy(tlh_t *tlh)
Definition: tlh.cpp:69
void tlh_remove_frame(tlh_t *tlh)
Definition: tlh.cpp:91
void * tlh_alloc(tlh_t *tlh, size_t size)
Definition: tlh.cpp:100
void tlh_init(tlh_t *tlh)
Definition: tlh.cpp:42
void tlh_add_frame(tlh_t *tlh)
Definition: tlh.cpp:81
uint8_t * base
Definition: tlh.hpp:38
unsigned overflows
Definition: tlh.hpp:39