comparison src/share/vm/opto/callGenerator.hpp @ 4137:04b9a2566eec

Merge with hsx23/hotspot.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sat, 17 Dec 2011 21:40:27 +0100
parents a04a201f0f5a
children 716a2c5c0656
comparison
equal deleted inserted replaced
3737:9dc19b7d89a3 4137:04b9a2566eec
1 /* 1 /*
2 * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2000, 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.
106 // How to generate code for an on-stack replacement handler. 106 // How to generate code for an on-stack replacement handler.
107 static CallGenerator* for_osr(ciMethod* m, int osr_bci); 107 static CallGenerator* for_osr(ciMethod* m, int osr_bci);
108 108
109 // How to generate vanilla out-of-line call sites: 109 // How to generate vanilla out-of-line call sites:
110 static CallGenerator* for_direct_call(ciMethod* m, bool separate_io_projs = false); // static, special 110 static CallGenerator* for_direct_call(ciMethod* m, bool separate_io_projs = false); // static, special
111 static CallGenerator* for_virtual_call(ciMethod* m, int vtable_index); // virtual, interface
111 static CallGenerator* for_dynamic_call(ciMethod* m); // invokedynamic 112 static CallGenerator* for_dynamic_call(ciMethod* m); // invokedynamic
112 static CallGenerator* for_virtual_call(ciMethod* m, int vtable_index); // virtual, interface 113
114 static CallGenerator* for_method_handle_call(Node* method_handle, JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
115 static CallGenerator* for_invokedynamic_call( JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
116
117 static CallGenerator* for_method_handle_inline(Node* method_handle, JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
118 static CallGenerator* for_invokedynamic_inline(ciCallSite* call_site, JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
113 119
114 static CallGenerator* for_method_handle_inline(Node* method_handle, JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile); 120 static CallGenerator* for_method_handle_inline(Node* method_handle, JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
115 121
116 // How to generate a replace a direct call with an inline version 122 // How to generate a replace a direct call with an inline version
117 static CallGenerator* for_late_inline(ciMethod* m, CallGenerator* inline_cg); 123 static CallGenerator* for_late_inline(ciMethod* m, CallGenerator* inline_cg);