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.h (jitdata): Removed isleafmethod.
[cacao.git]
/
src
/
vm
/
jit
/
mips
/
codegen.c
diff --git
a/src/vm/jit/mips/codegen.c
b/src/vm/jit/mips/codegen.c
index 84b1b8af59348e7f9501f257e2557d404035f056..4bf2d0552a01e412c838f7393dc63171fe73086e 100644
(file)
--- a/
src/vm/jit/mips/codegen.c
+++ b/
src/vm/jit/mips/codegen.c
@@
-118,7
+118,7
@@
bool codegen_emit(jitdata *jd)
s4 i, p, t, l;
s4 savedregs_num;
s4 i, p, t, l;
s4 savedregs_num;
- savedregs_num =
(jd->isleafmethod) ? 0 : 1;
/* space to save the RA */
+ savedregs_num =
code_is_leafmethod(code) ? 0 : 1;
/* space to save the RA */
/* space to save used callee saved registers */
/* space to save used callee saved registers */
@@
-163,7
+163,13
@@
bool codegen_emit(jitdata *jd)
#endif
(void) dseg_add_unique_s4(cd, 0); /* IsSync */
#endif
(void) dseg_add_unique_s4(cd, 0); /* IsSync */
- (void) dseg_add_unique_s4(cd, jd->isleafmethod); /* IsLeaf */
+ /* REMOVEME: We still need it for exception handling in assembler. */
+
+ if (code_is_leafmethod(code))
+ (void) dseg_add_unique_s4(cd, 1);
+ else
+ (void) dseg_add_unique_s4(cd, 0);
+
(void) dseg_add_unique_s4(cd, INT_SAV_CNT - rd->savintreguse); /* IntSave */
(void) dseg_add_unique_s4(cd, FLT_SAV_CNT - rd->savfltreguse); /* FltSave */
dseg_addlinenumbertablesize(cd);
(void) dseg_add_unique_s4(cd, INT_SAV_CNT - rd->savintreguse); /* IntSave */
(void) dseg_add_unique_s4(cd, FLT_SAV_CNT - rd->savfltreguse); /* FltSave */
dseg_addlinenumbertablesize(cd);
@@
-186,7
+192,7
@@
bool codegen_emit(jitdata *jd)
/* save return address and used callee saved registers */
p = cd->stackframesize;
/* save return address and used callee saved registers */
p = cd->stackframesize;
- if (!
jd->isleafmethod
) {
+ if (!
code_is_leafmethod(code)
) {
p--; M_AST(REG_RA, REG_SP, p * 8);
}
for (i = INT_SAV_CNT - 1; i >= rd->savintreguse; i--) {
p--; M_AST(REG_RA, REG_SP, p * 8);
}
for (i = INT_SAV_CNT - 1; i >= rd->savintreguse; i--) {
@@
-2893,7
+2899,7
@@
nowperformreturn:
/* restore return address */
/* restore return address */
- if (!
jd->isleafmethod
) {
+ if (!
code_is_leafmethod(code)
) {
p--; M_ALD(REG_RA, REG_SP, p * 8);
}
p--; M_ALD(REG_RA, REG_SP, p * 8);
}