JDK-8312753 : Assimilate Deoptimization::reassign_type_array_elements and reassign_fields_by_klass
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: New
  • Resolution: Unresolved
  • Submitted: 2023-07-25
  • Updated: 2023-07-25
Related Reports
Relates :  
Description
`case T_INT: case T_FLOAT` are handled differently in Deoptimization::reassign_type_array_elements and in reassign_fields_by_klass. It should be investigated if reassign_type_array_elements can be simplified and assimilated to reassign_fields_by_klass.

More specifically: is it possible to combine the 2 stores with the complex casts at

https://github.com/openjdk/jdk/blob/8008e27c55030b397e2040bc3cf8408e47edf412/src/hotspot/share/runtime/deoptimization.cpp#L1383-L1384

into one store `obj->long_field_put(offset, res)` like here

https://github.com/openjdk/jdk/blob/2bdfa836adbeba3319bee4ee61017907d6d84d58/src/hotspot/share/runtime/deoptimization.cpp#L1528

Note: that store is reached by falling through from `case T_INT: case T_FLOAT`