/* src/vm/jit/verify/typecheck.c - typechecking (part of bytecode verification)
- Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
- C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
- E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
- J. Wenninger, Institut f. Computersprachen - TU Wien
+ Copyright (C) 1996-2005, 2006, 2007, 2008
+ CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: typecheck.c 8060 2007-06-10 20:00:40Z twisti $
-
*/
/*
#include "mm/memory.h"
-#include "native/native.h"
+#include "native/native.hpp"
#include "toolbox/logging.h"
#include "vm/access.h"
-#include "vm/builtin.h"
-#include "vm/exceptions.h"
+#include "vm/array.hpp"
+#include "vm/jit/builtin.hpp"
+#include "vm/exceptions.hpp"
#include "vm/global.h"
-#include "vm/resolve.h"
-
-#include "vm/jit/jit.h"
-#include "vm/jit/parse.h"
-#include "vm/jit/patcher.h"
-#include "vm/jit/show.h"
+#include "vm/globals.hpp"
+#include "vm/loader.hpp"
+#include "vm/options.h"
+#include "vm/primitive.hpp"
+#include "vm/resolve.hpp"
-#include "vmcore/loader.h"
-#include "vmcore/options.h"
-#include "vmcore/primitive.h"
+#include "vm/jit/jit.hpp"
+#include "vm/jit/parse.hpp"
+#include "vm/jit/show.hpp"
#include <typecheck-common.h>
s4 *localmap = jd->local_map;
varinfo *vars = jd->var;
- javaindex = state->reverselocalmap[index];
+ javaindex = jd->reverselocalmap[index];
/* invalidate locals of two-word type at index javaindex-1 */
codegendata *cd;
varinfo *savedlocals;
verifier_state state; /* current state of the verifier */
- s4 i;
- s4 t;
/* collect statistics */
if (state.initmethod)
state.numlocals++; /* VERIFIER_EXTRA_LOCALS */
- state.reverselocalmap = DMNEW(s4, state.validlocals);
- for (i=0; i<jd->maxlocals; ++i)
- for (t=0; t<5; ++t) {
- s4 varindex = jd->local_map[5*i + t];
- if (varindex >= 0)
- state.reverselocalmap[varindex] = i;
- }
-
DOLOG(
+ s4 i;
+ s4 t;
LOG("reverselocalmap:");
for (i=0; i<state.validlocals; ++i) {
- LOG2(" %i => javaindex %i", i, state.reverselocalmap[i]);
+ LOG2(" %i => javaindex %i", i, jd->reverselocalmap[i]);
});
/* allocate the buffer of active exception handlers */