Faculty of Information Technology
Software Engineering Group

Opened 2 years ago

#94 new todo

Revamp thinlocks

Reported by: Jan Vrany Owned by: Jan Vraný
Priority: major Milestone: milestone:8.0.0
Component: stx:libjava Keywords:
Cc:

Description

Thinlocks as implemented now are indeed a lot faster then "fatlocks",
but still, current implementation is not the optimal one:

  • enter/exit routines are overly complex due to a need to deal with JavaObject and JavaClass instances which both have lockword on different offsets.
  • For locked object with nesting level 1 one still has to construct lockword - this is not necessary (see the paper)
  • enter/exit is implemented as VM routine and as such prevents inlining. Tnis is not much of an issue for interpreter but it'd be nice to have it separate so custom JIT compiler may inline it (DragonFly comes to mind)

The aim is to provide a fresh implementation of thinlocks addressing
these issues.

Change History (0)

Note: See TracTickets for help on using tickets.