comparison src/cpu/x86/vm/sharedRuntime_x86_32.cpp @ 2405:3d58a4983660

7022998: JSR 292 recursive method handle calls inline themselves infinitely Reviewed-by: never, kvn
author twisti
date Mon, 28 Mar 2011 03:58:07 -0700
parents 638119ce7cfd
children 167b70ff3abc
comparison
equal deleted inserted replaced
2404:b40d4fa697bf 2405:3d58a4983660
1109 // convention (handlizes oops, etc), transitions to native, makes the call, 1109 // convention (handlizes oops, etc), transitions to native, makes the call,
1110 // returns to java state (possibly blocking), unhandlizes any result and 1110 // returns to java state (possibly blocking), unhandlizes any result and
1111 // returns. 1111 // returns.
1112 nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm, 1112 nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
1113 methodHandle method, 1113 methodHandle method,
1114 int compile_id,
1114 int total_in_args, 1115 int total_in_args,
1115 int comp_args_on_stack, 1116 int comp_args_on_stack,
1116 BasicType *in_sig_bt, 1117 BasicType *in_sig_bt,
1117 VMRegPair *in_regs, 1118 VMRegPair *in_regs,
1118 BasicType ret_type) { 1119 BasicType ret_type) {
1852 __ jump(RuntimeAddress(StubRoutines::forward_exception_entry())); 1853 __ jump(RuntimeAddress(StubRoutines::forward_exception_entry()));
1853 1854
1854 __ flush(); 1855 __ flush();
1855 1856
1856 nmethod *nm = nmethod::new_native_nmethod(method, 1857 nmethod *nm = nmethod::new_native_nmethod(method,
1858 compile_id,
1857 masm->code(), 1859 masm->code(),
1858 vep_offset, 1860 vep_offset,
1859 frame_complete, 1861 frame_complete,
1860 stack_slots / VMRegImpl::slots_per_word, 1862 stack_slots / VMRegImpl::slots_per_word,
1861 (is_static ? in_ByteSize(klass_offset) : in_ByteSize(receiver_offset)), 1863 (is_static ? in_ByteSize(klass_offset) : in_ByteSize(receiver_offset)),