• Title of article

    Java heap protection for debugging native methods

  • Author/Authors

    Yuji Chiba، نويسنده ,

  • Issue Information
    دوهفته نامه با شماره پیاپی سال 2008
  • Pages
    19
  • From page
    149
  • To page
    167
  • Abstract
    Java virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM heap. Before the bug that caused the invalid reference can be fixed, its location must be identified. It can be in either the JVM implementation or the native library written in C invoked from Java applications. To help system engineers identify the location, we implemented a feature using page protection that prevents threads executing native methods from referring to the JVM heap. This feature protects the JVM heap during native method execution; if the heap is referred to invalidly, it interrupts the execution by generating a page-fault exception. It then reports the location where the exception was generated. The runtime overhead for using this feature depends on the frequency of native method calls because the protection is switched on each time a native method is called. We evaluated the runtime overhead by running the SPECjvm98, SPECjbb2000, VolanoMark, and JFCMark benchmark suites on a PC with two Intel Xeon® 1.6 GHz processors. The performance loss was less than 2% for the benchmark items that do not call native methods so frequently (∼104 times per second) and 5%–20% for the benchmark items that do (104–105 times per second). The worst performance loss was 54%, which was recorded for a benchmark item that calls native methods 2.0×106 times per second.
  • Keywords
    Java , Memory protection , Debugging , Protection domain
  • Journal title
    Science of Computer Programming
  • Serial Year
    2008
  • Journal title
    Science of Computer Programming
  • Record number

    1080007