Skip to content

Commit

Permalink
Modify ROMClass packing to normalize more
Browse files Browse the repository at this point in the history
When ROM classes are packed to be sent to the JITServer, we now
perform two additional transformations, in addition to the existing
string inlining:

1. The return bytecodes in the ROM class are fixed up if the class is
   not shared.
2. Any inlined debug info is stripped from the ROM class

Both of these are necessary to ensure that the packed representations of
shared and non-shared versions of the same ROM class are identical.

Signed-off-by: Christian Despres <despresc@ibm.com>
  • Loading branch information
cjjdespres committed Feb 2, 2024
1 parent 67f4ac1 commit a131639
Show file tree
Hide file tree
Showing 4 changed files with 366 additions and 33 deletions.
1 change: 1 addition & 0 deletions runtime/bcutil/ROMClassWriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1245,6 +1245,7 @@ ROMClassWriter::writeMethods(Cursor *cursor, Cursor *lineNumberCursor, Cursor *v
* - allSlotsInROMMethodsSectionDo() in util/romclasswalk.c
* - dbgNextROMMethod() in dbgext/j9dbgext.c
* - createBreakpointedMethod() in jvmti/jvmtiHelpers.cpp
* - JITServerHelpers::packROMClass() in compiler/control/JITServerHelpers.cpp
* All the above are involved in walking or walking over ROMMethods.
*
*/
Expand Down
Loading

0 comments on commit a131639

Please sign in to comment.