Currently, the normal kernel dispatch runs in "thread in VM" mode and thus does not need to worry about moving Oops. However, each time a deopting workitem is run through the interpreter we are back in Java mode which can cause GCs. So for each saved hsail frame, we need to know which of the saved state contain oops and make sure those locations are updated in the face of GC. The OopMap is calculated on the java side and passed down at execute time. Given a deoptimization PC, once can use the OopMap tell which 64-bit registers or stack slots are oops.