In jvmtiRedefineClasses.cpp, we have a function called
```
void VM_RedefineClasses::rewrite_cp_refs_in_stack_map_table(
const methodHandle& method) {
```
This function loops over the class's stackmap table and updates the constantpool entries to point to the newly created constantpool.
For the `early_larval_frame`, we need to do two things:
1) update the NamdAndType constants of the unset fields to point to the new CP.
2) Ensure the embedded frame is also updated as the current parsing will skip the embedded frame.
```
void VM_RedefineClasses::rewrite_cp_refs_in_stack_map_table(
const methodHandle& method) {
```
This function loops over the class's stackmap table and updates the constantpool entries to point to the newly created constantpool.
For the `early_larval_frame`, we need to do two things:
1) update the NamdAndType constants of the unset fields to point to the new CP.
2) Ensure the embedded frame is also updated as the current parsing will skip the embedded frame.
- duplicates
-
JDK-8359377 [lworld] Fix cp indexes in larval stackmaps in redefinition
-
- Resolved
-