53 java_objectheader *retval;
63 for (i = 0; i < vmargscount; i++) {
64 switch (vmargs[i].type) {
68 *(--
sp) = (
Cell) vmargs[
i].data.l;
73 *((
u8 *) sp) = vmargs[
i].data.l;
80 retval =
engine((
Inst *) entrypoint, sp, NULL);
96 java_objectheader *retval = NULL;
100 retval = (java_objectheader *)*
global_sp++;
177 dseg_exception_entry *ex;
178 s4 exceptiontablelength;
183 for (; fp != NULL; ) {
192 issync = *((
s4 *) (((
u1 *) f) + IsSync));
193 ex = (dseg_exception_entry *)
194 (((
u1 *) f) + ExTableStart);
195 exceptiontablelength = *((
s4 *) (((
u1 *) f) + ExTableSize));
199 builtin_trace_exception(o, m, ip, 1);
202 for (i = 0; i < exceptiontablelength; i++) {
207 if (cr.
any == NULL) {
241 ex->catchtype.cls = c;
253 if (ip-1 >= (
Inst *) ex->startpc && ip-1 < (
Inst *) ex->endpc &&
256 *new_spp = (
Cell *)(((
u1 *)fp) - framesize - SIZEOF_VOID_P);
258 return (
Inst *) (ex->handlerpc);
262 #if defined(ENABLE_THREADS)
266 java_objectheader *syncobj;
271 syncobj = (java_objectheader *) m->
clazz;
277 assert(syncobj != NULL);
294 vm_abort(
"intrp_asm_abstractmethoderror: IMPLEMENT ME!");
bool builtin_instanceof(java_handle_t *o, classinfo *c)
java_objectheader * intrp_asm_vm_call_method(methodinfo *m, s4 vmargscount, vm_arg *vmargs)
#define access_local_cell(_offset)
s4 intrp_asm_vm_call_method_int(methodinfo *m, s4 vmargscount, vm_arg *vmargs)
typedef void(JNICALL *jvmtiEventSingleStep)(jvmtiEnv *jvmti_env
bool lock_monitor_exit(java_handle_t *o)
double intrp_asm_vm_call_method_double(methodinfo *m, s4 vmargscount, vm_arg *vmargs)
void vm_abort(const char *text,...)
#define builtin_throw_exception
s8 intrp_asm_vm_call_method_long(methodinfo *m, s4 vmargscount, vm_arg *vmargs)
void intrp_asm_abstractmethoderror(void)
Inst * intrp_asm_handle_exception(Inst *ip, java_objectheader *o, Cell *fp, Cell **new_spp, Cell **new_fpp)
static bool intrp_asm_vm_call_method_intern(methodinfo *m, s4 vmargscount, vm_arg *vmargs)
float intrp_asm_vm_call_method_float(methodinfo *m, s4 vmargscount, vm_arg *vmargs)
u1 * createcalljavafunction(methodinfo *m)
classinfo * resolve_classref_eager(constant_classref *ref)