Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added a note about the first paragraph being outdated

Note: The first paragraph is outdated. Jikes RVM uses native threading since 3.1.0: For every Java thread, an instance of RVMThread is created which maps directly to a pthread (see start()in RVMThread). The current implementation of yieldpoints is similar to the one described here.

For each physical processor on the system, the system creates a pthread. Each pthread is associated with a virtual processor object that  executes one or more Java threads in a quasi-preemptive manner, as follows. Each compiler generates yield points, which are program points where the running thread checks a dedicated bit in the virtual processor object to determine if it should yield to another thread. The compilers insert yield points in method prologues, method epilogues, and on loop backedges. Currently, the system sets the thread-switch bit approximately every 10ms.

...