x86 interpreters in hotspot
Xin Tong
xerox.time.tech at gmail.com
Fri May 18 10:53:22 PDT 2012
On Mon, May 7, 2012 at 10:49 PM, Krystal Mok <rednaxelafx at gmail.com> wrote:
> On Tue, May 8, 2012 at 10:36 AM, Xin Tong <xerox.time.tech at gmail.com>wrote:
>>
>> Thank you. This is very helpful. I want to write something that can
>> keep track of all unique the virtual PC ( Java bytecode PC the
>> interpreter has executed ). should I do a call-out in every template ?
>> can I just generate call to a function of my own sourrounded by a
>> sequence of pushes and pops.
>>
>>
> Depends on what you're tracing for. As you might have noticed already,
> there's a VM flag called "TraceBytecodes" that traces every bytecode
> instruction executed. Search for that in code, and take a look
> at TemplateInterpreterGenerator::trace_bytecode(). That should give you an
> example of how you'd write your version.
>
> So what are you tracing for anyway? If TraceBytecodes already does what
> you want, then just use it and you're done. It's only available in a
> fastdebug / jvmg build, though.
>
> Reminder: please note that this discussion is interpreter-only. There's no
> option to trace bytecodes (yet) in compiled code. You're better off doing
> bytecode instrumentation if you're trying to trace both interpreter and
> compiled code.
>
> - Kris
>
>
>> Thanks
>>
>> Xin
>>
>
>
I made a debug_build. but when i run the JVM with TraceBytecodes, i get
this error
[xtong at socrates SPECjbb2005]$ ./run.sh
VM option '+TraceBytecodes'
=============== DEBUG MESSAGE: call_VM_base ================
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/assembler_x86.cpp:5664
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error
(/home/xtong/openjdk-7-fcs-src-b147-27_jun_2011.old/hotspot/src/cpu/x86/vm/assembler_x86.cpp:5664),
pid=3959, tid=140455314401024
# assert(false) failed: DEBUG MESSAGE: call_VM_base
#
# JRE version: 7.0
# Java VM: OpenJDK 64-Bit Server VM (21.0-b17-jvmg mixed mode linux-amd64
compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core
dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
#
/home/xtong/openjdk-7-fcs-src-b147-27_jun_2011.old/benchmarks/SPECjbb2005/hs_err_pid3959.log
Locks owned:
Mutex: [0x7fbe480235e8/0x1] tty_lock - owner: 0x7fbe48028000
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20120518/d2436531/attachment-0001.html
More information about the hotspot-runtime-dev
mailing list