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") \ |