mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8054492: Casting can result in redundant null checks in generated code
Add C2 intrinsic for Class.cast() method and force inline it too. Reviewed-by: jrose, roland, drchase, iignatyev
This commit is contained in:
parent
daf2fd0593
commit
74def215cd
7 changed files with 451 additions and 4 deletions
|
@ -455,6 +455,7 @@
|
|||
template(object_void_signature, "(Ljava/lang/Object;)V") \
|
||||
template(object_int_signature, "(Ljava/lang/Object;)I") \
|
||||
template(object_boolean_signature, "(Ljava/lang/Object;)Z") \
|
||||
template(object_object_signature, "(Ljava/lang/Object;)Ljava/lang/Object;") \
|
||||
template(string_void_signature, "(Ljava/lang/String;)V") \
|
||||
template(string_int_signature, "(Ljava/lang/String;)I") \
|
||||
template(throwable_void_signature, "(Ljava/lang/Throwable;)V") \
|
||||
|
@ -746,6 +747,8 @@
|
|||
do_name( isPrimitive_name, "isPrimitive") \
|
||||
do_intrinsic(_getSuperclass, java_lang_Class, getSuperclass_name, void_class_signature, F_RN) \
|
||||
do_name( getSuperclass_name, "getSuperclass") \
|
||||
do_intrinsic(_Class_cast, java_lang_Class, Class_cast_name, object_object_signature, F_R) \
|
||||
do_name( Class_cast_name, "cast") \
|
||||
\
|
||||
do_intrinsic(_getClassAccessFlags, sun_reflect_Reflection, getClassAccessFlags_name, class_int_signature, F_SN) \
|
||||
do_name( getClassAccessFlags_name, "getClassAccessFlags") \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue