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
Link To Document :
بازگشت