comparison src/share/vm/classfile/vmSymbols.hpp @ 6006:0105f367a14c

7160570: Intrinsification support for tracing framework Reviewed-by: sla, never
author rbackman
date Tue, 06 Mar 2012 12:36:59 +0100
parents 645162d94294
children 8f972594effc
comparison
equal deleted inserted replaced
6005:c263e0e9f14b 6006:0105f367a14c
25 #ifndef SHARE_VM_CLASSFILE_VMSYMBOLS_HPP 25 #ifndef SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
26 #define SHARE_VM_CLASSFILE_VMSYMBOLS_HPP 26 #define SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
27 27
28 #include "oops/symbol.hpp" 28 #include "oops/symbol.hpp"
29 #include "memory/iterator.hpp" 29 #include "memory/iterator.hpp"
30 #include "trace/traceMacros.hpp"
30 31
31 // The class vmSymbols is a name space for fast lookup of 32 // The class vmSymbols is a name space for fast lookup of
32 // symbols commonly used in the VM. 33 // symbols commonly used in the VM.
33 // 34 //
34 // Sample usage: 35 // Sample usage:
422 template(throwable_void_signature, "(Ljava/lang/Throwable;)V") \ 423 template(throwable_void_signature, "(Ljava/lang/Throwable;)V") \
423 template(void_throwable_signature, "()Ljava/lang/Throwable;") \ 424 template(void_throwable_signature, "()Ljava/lang/Throwable;") \
424 template(throwable_throwable_signature, "(Ljava/lang/Throwable;)Ljava/lang/Throwable;") \ 425 template(throwable_throwable_signature, "(Ljava/lang/Throwable;)Ljava/lang/Throwable;") \
425 template(class_void_signature, "(Ljava/lang/Class;)V") \ 426 template(class_void_signature, "(Ljava/lang/Class;)V") \
426 template(class_int_signature, "(Ljava/lang/Class;)I") \ 427 template(class_int_signature, "(Ljava/lang/Class;)I") \
428 template(class_long_signature, "(Ljava/lang/Class;)J") \
427 template(class_boolean_signature, "(Ljava/lang/Class;)Z") \ 429 template(class_boolean_signature, "(Ljava/lang/Class;)Z") \
428 template(throwable_string_void_signature, "(Ljava/lang/Throwable;Ljava/lang/String;)V") \ 430 template(throwable_string_void_signature, "(Ljava/lang/Throwable;Ljava/lang/String;)V") \
429 template(string_array_void_signature, "([Ljava/lang/String;)V") \ 431 template(string_array_void_signature, "([Ljava/lang/String;)V") \
430 template(string_array_string_array_void_signature, "([Ljava/lang/String;[Ljava/lang/String;)V") \ 432 template(string_array_string_array_void_signature, "([Ljava/lang/String;[Ljava/lang/String;)V") \
431 template(thread_throwable_void_signature, "(Ljava/lang/Thread;Ljava/lang/Throwable;)V") \ 433 template(thread_throwable_void_signature, "(Ljava/lang/Thread;Ljava/lang/Throwable;)V") \
537 do_alias(appendToClassPathForInstrumentation_signature, string_void_signature) \ 539 do_alias(appendToClassPathForInstrumentation_signature, string_void_signature) \
538 template(serializePropertiesToByteArray_name, "serializePropertiesToByteArray") \ 540 template(serializePropertiesToByteArray_name, "serializePropertiesToByteArray") \
539 template(serializePropertiesToByteArray_signature, "()[B") \ 541 template(serializePropertiesToByteArray_signature, "()[B") \
540 template(serializeAgentPropertiesToByteArray_name, "serializeAgentPropertiesToByteArray") \ 542 template(serializeAgentPropertiesToByteArray_name, "serializeAgentPropertiesToByteArray") \
541 template(classRedefinedCount_name, "classRedefinedCount") \ 543 template(classRedefinedCount_name, "classRedefinedCount") \
544 \
545 /* trace signatures */ \
546 TRACE_TEMPLATES(template) \
547 \
542 /*end*/ 548 /*end*/
543
544
545 549
546 // Here are all the intrinsics known to the runtime and the CI. 550 // Here are all the intrinsics known to the runtime and the CI.
547 // Each intrinsic consists of a public enum name (like _hashCode), 551 // Each intrinsic consists of a public enum name (like _hashCode),
548 // followed by a specification of its klass, name, and signature: 552 // followed by a specification of its klass, name, and signature:
549 // template(<id>, <klass>, <name>, <sig>, <FCODE>) 553 // template(<id>, <klass>, <name>, <sig>, <FCODE>)
646 \ 650 \
647 do_name( currentTimeMillis_name, "currentTimeMillis") \ 651 do_name( currentTimeMillis_name, "currentTimeMillis") \
648 do_intrinsic(_nanoTime, java_lang_System, nanoTime_name, void_long_signature, F_S) \ 652 do_intrinsic(_nanoTime, java_lang_System, nanoTime_name, void_long_signature, F_S) \
649 do_name( nanoTime_name, "nanoTime") \ 653 do_name( nanoTime_name, "nanoTime") \
650 \ 654 \
655 TRACE_INTRINSICS(do_intrinsic, do_class, do_name, do_signature, do_alias) \
656 \
651 do_intrinsic(_arraycopy, java_lang_System, arraycopy_name, arraycopy_signature, F_S) \ 657 do_intrinsic(_arraycopy, java_lang_System, arraycopy_name, arraycopy_signature, F_S) \
652 do_name( arraycopy_name, "arraycopy") \ 658 do_name( arraycopy_name, "arraycopy") \
653 do_signature(arraycopy_signature, "(Ljava/lang/Object;ILjava/lang/Object;II)V") \ 659 do_signature(arraycopy_signature, "(Ljava/lang/Object;ILjava/lang/Object;II)V") \
654 do_intrinsic(_isInterrupted, java_lang_Thread, isInterrupted_name, isInterrupted_signature, F_R) \ 660 do_intrinsic(_isInterrupted, java_lang_Thread, isInterrupted_name, isInterrupted_signature, F_R) \
655 do_name( isInterrupted_name, "isInterrupted") \ 661 do_name( isInterrupted_name, "isInterrupted") \