equal
deleted
inserted
replaced
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. |
1154 bool is_invokedynamic() const { return code() == lir_dynamic_call; } |
1154 bool is_invokedynamic() const { return code() == lir_dynamic_call; } |
1155 bool is_method_handle_invoke() const { |
1155 bool is_method_handle_invoke() const { |
1156 return |
1156 return |
1157 is_invokedynamic() // An invokedynamic is always a MethodHandle call site. |
1157 is_invokedynamic() // An invokedynamic is always a MethodHandle call site. |
1158 || |
1158 || |
1159 (method()->holder()->name() == ciSymbol::java_dyn_MethodHandle() && |
1159 (method()->holder()->name() == ciSymbol::java_lang_invoke_MethodHandle() && |
1160 methodOopDesc::is_method_handle_invoke_name(method()->name()->sid())); |
1160 methodOopDesc::is_method_handle_invoke_name(method()->name()->sid())); |
1161 } |
1161 } |
1162 |
1162 |
1163 intptr_t vtable_offset() const { |
1163 intptr_t vtable_offset() const { |
1164 assert(_code == lir_virtual_call, "only have vtable for real vcall"); |
1164 assert(_code == lir_virtual_call, "only have vtable for real vcall"); |