Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8331918

Lack of intialization of BasicObjectLock in deoptimization / vframeArrayElement::fill_in

      vframeArrayElement::fill_in iterates MonitorInfo. When is_scalar_replaced is true, meaning the MonitorInfo has a null owner(), it only sets a null object in the BasicObjectLock.
      BasicObjectLock was pulled from the MonitorChunks array with no other specific initialization.

      unpack_on_stack has always called src->lock()->move_to(src->obj(), top->lock()); without checking src->obj() for null.

      This not as yet know to cause a problem (crash), but looks like an existing bug, in that dest->lock() can be uninitialized, and could cause problems later on in unpack_on_stack if move_to sees a "neutral" value and tries to inflate.

            Unassigned Unassigned
            kevinw Kevin Walls
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: