-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcallee_desc.hh
42 lines (35 loc) · 891 Bytes
/
callee_desc.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef CALLEE_DESC_HH
#define CALLEE_DESC_HH
#include <stddef.h>
#include <stdarg.h>
class method_desc;
class field_desc;
class constant;
#include "class_desc.hh"
#include "functions.hh"
class callee_desc {
public:
class_desc* self_class;
method_desc* method;
callee_desc* next;
void* backtrace;
int line;
int attr;
enum {
i_self = 0x01, // invoke method of self class
i_synchronized = 0x02, // method is invoked from synchronized(){} body
i_wait_deadlock = 0x04 // invocation can cause deadlock in wait()
};
void message(int code, ...);
callee_desc(class_desc* cls, method_desc* mth, callee_desc* chain,
int lineno, int call_attr)
{
self_class = cls;
method = mth;
next = chain;
line = lineno;
attr = call_attr;
backtrace = NULL;
}
};
#endif