Mercurial > hg > graal-compiler
comparison src/cpu/sparc/vm/sharedRuntime_sparc.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 | 3582bf76420e |
children | f7d55ea6ee56 |
comparison
equal
deleted
inserted
replaced
2404:b40d4fa697bf | 2405:3d58a4983660 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
1767 // convention (handlizes oops, etc), transitions to native, makes the call, | 1767 // convention (handlizes oops, etc), transitions to native, makes the call, |
1768 // returns to java state (possibly blocking), unhandlizes any result and | 1768 // returns to java state (possibly blocking), unhandlizes any result and |
1769 // returns. | 1769 // returns. |
1770 nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler* masm, | 1770 nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler* masm, |
1771 methodHandle method, | 1771 methodHandle method, |
1772 int compile_id, | |
1772 int total_in_args, | 1773 int total_in_args, |
1773 int comp_args_on_stack, // in VMRegStackSlots | 1774 int comp_args_on_stack, // in VMRegStackSlots |
1774 BasicType *in_sig_bt, | 1775 BasicType *in_sig_bt, |
1775 VMRegPair *in_regs, | 1776 VMRegPair *in_regs, |
1776 BasicType ret_type) { | 1777 BasicType ret_type) { |
2460 __ delayed()->restore(); | 2461 __ delayed()->restore(); |
2461 | 2462 |
2462 __ flush(); | 2463 __ flush(); |
2463 | 2464 |
2464 nmethod *nm = nmethod::new_native_nmethod(method, | 2465 nmethod *nm = nmethod::new_native_nmethod(method, |
2466 compile_id, | |
2465 masm->code(), | 2467 masm->code(), |
2466 vep_offset, | 2468 vep_offset, |
2467 frame_complete, | 2469 frame_complete, |
2468 stack_slots / VMRegImpl::slots_per_word, | 2470 stack_slots / VMRegImpl::slots_per_word, |
2469 (is_static ? in_ByteSize(klass_offset) : in_ByteSize(receiver_offset)), | 2471 (is_static ? in_ByteSize(klass_offset) : in_ByteSize(receiver_offset)), |