comparison src/share/vm/runtime/sharedRuntime.hpp @ 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 008adfd6d850 167b70ff3abc
comparison
equal deleted inserted replaced
2404:b40d4fa697bf 2405:3d58a4983660
1 /* 1 /*
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 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.
436 // convention (handlizes oops, etc), transitions to native, makes the call, 436 // convention (handlizes oops, etc), transitions to native, makes the call,
437 // returns to java state (possibly blocking), unhandlizes any result and 437 // returns to java state (possibly blocking), unhandlizes any result and
438 // returns. 438 // returns.
439 static nmethod *generate_native_wrapper(MacroAssembler* masm, 439 static nmethod *generate_native_wrapper(MacroAssembler* masm,
440 methodHandle method, 440 methodHandle method,
441 int compile_id,
441 int total_args_passed, 442 int total_args_passed,
442 int max_arg, 443 int max_arg,
443 BasicType *sig_bt, 444 BasicType *sig_bt,
444 VMRegPair *regs, 445 VMRegPair *regs,
445 BasicType ret_type ); 446 BasicType ret_type );
657 658
658 public: 659 public:
659 660
660 static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint, 661 static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint,
661 address i2c_entry, address c2i_entry, address c2i_unverified_entry); 662 address i2c_entry, address c2i_entry, address c2i_unverified_entry);
662 static nmethod* create_native_wrapper(methodHandle method); 663 static nmethod* create_native_wrapper(methodHandle method, int compile_id);
663 static AdapterHandlerEntry* get_adapter(methodHandle method); 664 static AdapterHandlerEntry* get_adapter(methodHandle method);
664 665
665 #ifdef HAVE_DTRACE_H 666 #ifdef HAVE_DTRACE_H
666 static nmethod* create_dtrace_nmethod (methodHandle method); 667 static nmethod* create_dtrace_nmethod (methodHandle method);
667 #endif // HAVE_DTRACE_H 668 #endif // HAVE_DTRACE_H