Fix LDC, LDC_W, and INSTANCEOF opcodes, more debugging
[jamvm-avr32-jem.git] / src / sig.h
blob36851b2f7fe2de6a6266beaebe43d103f6664b8e
1 /*
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007
3 * Robert Lougher <rob@lougher.org.uk>.
5 * This file is part of JamVM.
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2,
10 * or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 #define SCAN_SIG(p, D, S) \
23 p++; /* skip start ( */ \
24 while(*p != ')') { \
25 if((*p == 'J') || (*p == 'D')) { \
26 D; \
27 p++; \
28 } else { \
29 S; \
30 if(*p == '[') \
31 for(p++; *p == '['; p++); \
32 if(*p == 'L') \
33 while(*p++ != ';'); \
34 else \
35 p++; \
36 } \
37 } \
38 p++; /* skip end ) */