21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
24 |
24 |
25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
|
26 #include "aot/aotLoader.hpp" |
26 #include "classfile/classFileStream.hpp" |
27 #include "classfile/classFileStream.hpp" |
27 #include "classfile/metadataOnStackMark.hpp" |
28 #include "classfile/metadataOnStackMark.hpp" |
28 #include "classfile/systemDictionary.hpp" |
29 #include "classfile/systemDictionary.hpp" |
29 #include "classfile/verifier.hpp" |
30 #include "classfile/verifier.hpp" |
30 #include "code/codeCache.hpp" |
31 #include "code/codeCache.hpp" |
4009 the_class->set_enclosing_method_indices( |
4010 the_class->set_enclosing_method_indices( |
4010 scratch_class->enclosing_method_class_index(), |
4011 scratch_class->enclosing_method_class_index(), |
4011 scratch_class->enclosing_method_method_index()); |
4012 scratch_class->enclosing_method_method_index()); |
4012 scratch_class->set_enclosing_method_indices(old_class_idx, old_method_idx); |
4013 scratch_class->set_enclosing_method_indices(old_class_idx, old_method_idx); |
4013 |
4014 |
|
4015 // Replace fingerprint data |
|
4016 the_class->set_has_passed_fingerprint_check(scratch_class->has_passed_fingerprint_check()); |
|
4017 the_class->store_fingerprint(scratch_class->get_stored_fingerprint()); |
|
4018 |
4014 the_class->set_has_been_redefined(); |
4019 the_class->set_has_been_redefined(); |
|
4020 |
|
4021 if (!the_class->should_be_initialized()) { |
|
4022 // Class was already initialized, so AOT has only seen the original version. |
|
4023 // We need to let AOT look at it again. |
|
4024 AOTLoader::load_for_klass(the_class, THREAD); |
|
4025 } |
4015 |
4026 |
4016 // keep track of previous versions of this class |
4027 // keep track of previous versions of this class |
4017 the_class->add_previous_version(scratch_class, emcp_method_count); |
4028 the_class->add_previous_version(scratch_class, emcp_method_count); |
4018 |
4029 |
4019 _timer_rsc_phase1.stop(); |
4030 _timer_rsc_phase1.stop(); |