projects
/
cacao.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* src/vm/jit/jit.c: Adapted to changes.
[cacao.git]
/
src
/
vm
/
jit
/
jit.c
diff --git
a/src/vm/jit/jit.c
b/src/vm/jit/jit.c
index ea9faea507a78b555716ad3f6522c667b906743f..4f4d93afef7491c9375cea8cc797e2f3b00bc7e4 100644
(file)
--- a/
src/vm/jit/jit.c
+++ b/
src/vm/jit/jit.c
@@
-640,7
+640,7
@@
static u1 *jit_compile_intern(jitdata *jd)
RT_TIMING_GET_TIME(time_checks);
RT_TIMING_GET_TIME(time_checks);
-#if defined(WITH_
CLASSPATH_SUN
)
+#if defined(WITH_
JAVA_RUNTIME_LIBRARY_OPENJDK
)
/* Code for Sun's OpenJDK (see
hotspot/src/share/vm/classfile/verifier.cpp
(Verifier::is_eligible_for_verification)): Don't verify
/* Code for Sun's OpenJDK (see
hotspot/src/share/vm/classfile/verifier.cpp
(Verifier::is_eligible_for_verification)): Don't verify
@@
-684,12
+684,6
@@
static u1 *jit_compile_intern(jitdata *jd)
DEBUG_JIT_COMPILEVERBOSE("Analysing done: ");
DEBUG_JIT_COMPILEVERBOSE("Analysing done: ");
- /* Build the CFG. This has to be done after stack_analyse, as
- there happens the JSR elimination. */
-
- if (!cfg_build(jd))
- return NULL;
-
#ifdef ENABLE_VERIFIER
if (JITDATA_HAS_FLAG_VERIFY(jd)) {
DEBUG_JIT_COMPILEVERBOSE("Typechecking: ");
#ifdef ENABLE_VERIFIER
if (JITDATA_HAS_FLAG_VERIFY(jd)) {
DEBUG_JIT_COMPILEVERBOSE("Typechecking: ");
@@
-706,6
+700,18
@@
static u1 *jit_compile_intern(jitdata *jd)
#endif
RT_TIMING_GET_TIME(time_typecheck);
#endif
RT_TIMING_GET_TIME(time_typecheck);
+#if defined(ENABLE_SSA)
+ if (opt_lsra) {
+ fix_exception_handlers(jd);
+ }
+#endif
+
+ /* Build the CFG. This has to be done after stack_analyse, as
+ there happens the JSR elimination. */
+
+ if (!cfg_build(jd))
+ return NULL;
+
#if defined(ENABLE_LOOP)
if (opt_loops) {
depthFirst(jd);
#if defined(ENABLE_LOOP)
if (opt_loops) {
depthFirst(jd);
@@
-763,12
+769,17
@@
static u1 *jit_compile_intern(jitdata *jd)
# endif /* defined(ENABLE_LSRA) && !defined(ENABLE_SSA) */
#if defined(ENABLE_SSA)
/* allocate registers */
# endif /* defined(ENABLE_LSRA) && !defined(ENABLE_SSA) */
#if defined(ENABLE_SSA)
/* allocate registers */
- if ((opt_lsra) /*&& (strcmp(jd->m->name->text, "findClass") == 0 || jd->exceptiontablelength == 0)*/) {
+ if (
+ (opt_lsra)
+ /*&& strncmp(jd->m->name->text, "banana", 6) == 0*/
+ /*&& jd->exceptiontablelength == 0*/
+ ) {
+ /* printf("=== %s ===\n", jd->m->name->text); */
jd->ls = DNEW(lsradata);
jd->ls = NULL;
ssa(jd);
/*lsra(jd);*/ regalloc(jd);
jd->ls = DNEW(lsradata);
jd->ls = NULL;
ssa(jd);
/*lsra(jd);*/ regalloc(jd);
- eliminate_subbasicblocks(jd);
+ /*eliminate_subbasicblocks(jd);*/
STATISTICS(count_methods_allocated_by_lsra++);
} else
STATISTICS(count_methods_allocated_by_lsra++);
} else