src/hotspot/share/interpreter/interpreterRuntime.cpp
changeset 52823 f5d0926026ec
parent 52142 ca0c25e01c5b
child 53547 9d1a788dea3d
equal deleted inserted replaced
52822:106ad76acf31 52823:f5d0926026ec
   726   //
   726   //
   727   // Also, we need to delay resolving getstatic and putstatic instructions until the
   727   // Also, we need to delay resolving getstatic and putstatic instructions until the
   728   // class is initialized.  This is required so that access to the static
   728   // class is initialized.  This is required so that access to the static
   729   // field will call the initialization function every time until the class
   729   // field will call the initialization function every time until the class
   730   // is completely initialized ala. in 2.17.5 in JVM Specification.
   730   // is completely initialized ala. in 2.17.5 in JVM Specification.
   731   InstanceKlass* klass = InstanceKlass::cast(info.field_holder());
   731   InstanceKlass* klass = info.field_holder();
   732   bool uninitialized_static = is_static && !klass->is_initialized();
   732   bool uninitialized_static = is_static && !klass->is_initialized();
   733   bool has_initialized_final_update = info.field_holder()->major_version() >= 53 &&
   733   bool has_initialized_final_update = info.field_holder()->major_version() >= 53 &&
   734                                       info.has_initialized_final_update();
   734                                       info.has_initialized_final_update();
   735   assert(!(has_initialized_final_update && !info.access_flags().is_final()), "Fields with initialized final updates must be final");
   735   assert(!(has_initialized_final_update && !info.access_flags().is_final()), "Fields with initialized final updates must be final");
   736 
   736