#include "vm/jit/codegen-common.h"
#include "vm/jit/patcher-common.h"
#include "vm/jit/dseg.h"
++#include "vm/jit/linenumbertable.h"
#include "vm/jit/emit-common.h"
#include "vm/jit/jit.h"
#include "vm/jit/abi.h"
case ICMD_INLINE_BODY:
REPLACEMENT_POINT_INLINE_BODY(cd, iptr);
- dseg_addlinenumber_inline_start(cd, iptr);
- dseg_addlinenumber(cd, iptr->line);
- linenumbertable_list_entry_add_inline_start(cd, iptr);
++ linenumbertable_list_entry_add_intern(cd, iptr);
+ linenumbertable_list_entry_add(cd, iptr->line);
break;
case ICMD_INLINE_END:
- dseg_addlinenumber_inline_end(cd, iptr);
- dseg_addlinenumber(cd, iptr->line);
- linenumbertable_list_entry_add_inline_end(cd, iptr);
++ linenumbertable_list_entry_add_inline(cd, iptr);
+ linenumbertable_list_entry_add(cd, iptr->line);
break;
case ICMD_CHECKNULL: /* ..., objectref ==> ..., objectref */
return true;
}
- #if 0
- /* codegen_emit_stub_compiler **************************************************
-
- Emits a stub routine which calls the compiler.
-
- *******************************************************************************/
-
- void codegen_emit_stub_compiler(jitdata *jd)
- {
- methodinfo *m;
- codegendata *cd;
-
- /* get required compiler data */
-
- m = jd->m;
- cd = jd->cd;
-
- /* code for the stub */
-
- M_AMOV_IMM(m, REG_ATMP1);
- M_AMOV_IMM(asm_call_jit_compiler, REG_ATMP3);
- M_JMP(REG_ATMP3);
- }
- #endif
-
-/* codegen_emit_stub_compiler **************************************************
-
- Emits a stub routine which calls the compiler.
-
-*******************************************************************************/
-
-void codegen_emit_stub_compiler(jitdata *jd)
-{
- methodinfo *m;
- codegendata *cd;
-
- /* get required compiler data */
-
- m = jd->m;
- cd = jd->cd;
-
- /* code for the stub */
-
- M_AMOV_IMM(m, REG_ATMP1);
- M_AMOV_IMM(asm_call_jit_compiler, REG_ATMP3);
- M_JMP(REG_ATMP3);
-}
/* codegen_emit_stub_native ****************************************************
Emits a stub routine which calls a native method.
4; /* args for codegen_start_native_call */
/* create method header */
- (void) dseg_add_unique_address(cd, code); /* CodeinfoPointer */
- (void) dseg_add_unique_s4(cd, cd->stackframesize * 4); /* FrameSize */
- (void) dseg_add_unique_s4(cd, 0); /* IsLeaf */
- (void) dseg_add_unique_s4(cd, 0); /* IntSave */
- (void) dseg_add_unique_s4(cd, 0); /* FltSave */
+ (void) dseg_add_unique_address(cd, code); /* CodeinfoPointer */
+ (void) dseg_add_unique_s4(cd, cd->stackframesize * 8); /* FrameSize */
- (void) dseg_add_unique_s4(cd, 0); /* IsSync */
+ (void) dseg_add_unique_s4(cd, 0); /* IsLeaf */
+ (void) dseg_add_unique_s4(cd, 0); /* IntSave */
+ (void) dseg_add_unique_s4(cd, 0); /* FltSave */
- (void) dseg_addlinenumbertablesize(cd);
- (void) dseg_add_unique_s4(cd, 0); /* ExTableSize */
/* print call trace */
#if !defined(NDEBUG)