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