Mercurial > hg > truffle
comparison src/share/vm/c1/c1_LIR.hpp @ 2491:0654ee04b214
Merge with OpenJDK.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 22 Apr 2011 15:30:53 +0200 |
parents | 13bc79b5c9c8 |
children | 5cceda753a4a |
comparison
equal
deleted
inserted
replaced
2490:29246b1d2d3c | 2491:0654ee04b214 |
---|---|
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"); |
1213 dst_pos_positive_check = 1 << 3, | 1213 dst_pos_positive_check = 1 << 3, |
1214 length_positive_check = 1 << 4, | 1214 length_positive_check = 1 << 4, |
1215 src_range_check = 1 << 5, | 1215 src_range_check = 1 << 5, |
1216 dst_range_check = 1 << 6, | 1216 dst_range_check = 1 << 6, |
1217 type_check = 1 << 7, | 1217 type_check = 1 << 7, |
1218 all_flags = (1 << 8) - 1 | 1218 overlapping = 1 << 8, |
1219 unaligned = 1 << 9, | |
1220 src_objarray = 1 << 10, | |
1221 dst_objarray = 1 << 11, | |
1222 all_flags = (1 << 12) - 1 | |
1219 }; | 1223 }; |
1220 | 1224 |
1221 LIR_OpArrayCopy(LIR_Opr src, LIR_Opr src_pos, LIR_Opr dst, LIR_Opr dst_pos, LIR_Opr length, LIR_Opr tmp, | 1225 LIR_OpArrayCopy(LIR_Opr src, LIR_Opr src_pos, LIR_Opr dst, LIR_Opr dst_pos, LIR_Opr length, LIR_Opr tmp, |
1222 ciArrayKlass* expected_type, int flags, CodeEmitInfo* info); | 1226 ciArrayKlass* expected_type, int flags, CodeEmitInfo* info); |
1223 | 1227 |