Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/vmSymbols.hpp @ 6275:957c266d8bc5
Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 21 Aug 2012 10:39:19 +0200 |
parents | 7ee5463a4f48 93c71eb28866 |
children | df02fa2bce58 |
comparison
equal
deleted
inserted
replaced
5891:fd8832ae511d | 6275:957c266d8bc5 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
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: |
108 template(java_lang_AssertionStatusDirectives, "java/lang/AssertionStatusDirectives") \ | 109 template(java_lang_AssertionStatusDirectives, "java/lang/AssertionStatusDirectives") \ |
109 template(sun_jkernel_DownloadManager, "sun/jkernel/DownloadManager") \ | 110 template(sun_jkernel_DownloadManager, "sun/jkernel/DownloadManager") \ |
110 template(getBootClassPathEntryForClass_name, "getBootClassPathEntryForClass") \ | 111 template(getBootClassPathEntryForClass_name, "getBootClassPathEntryForClass") \ |
111 template(sun_misc_PostVMInitHook, "sun/misc/PostVMInitHook") \ | 112 template(sun_misc_PostVMInitHook, "sun/misc/PostVMInitHook") \ |
112 \ | 113 \ |
114 /* Java runtime version access */ \ | |
115 template(sun_misc_Version, "sun/misc/Version") \ | |
116 template(java_runtime_name_name, "java_runtime_name") \ | |
117 \ | |
113 /* class file format tags */ \ | 118 /* class file format tags */ \ |
114 template(tag_source_file, "SourceFile") \ | 119 template(tag_source_file, "SourceFile") \ |
115 template(tag_inner_classes, "InnerClasses") \ | 120 template(tag_inner_classes, "InnerClasses") \ |
116 template(tag_constant_value, "ConstantValue") \ | 121 template(tag_constant_value, "ConstantValue") \ |
117 template(tag_code, "Code") \ | 122 template(tag_code, "Code") \ |
153 template(java_lang_NegativeArraySizeException, "java/lang/NegativeArraySizeException") \ | 158 template(java_lang_NegativeArraySizeException, "java/lang/NegativeArraySizeException") \ |
154 template(java_lang_NoSuchFieldException, "java/lang/NoSuchFieldException") \ | 159 template(java_lang_NoSuchFieldException, "java/lang/NoSuchFieldException") \ |
155 template(java_lang_NoSuchMethodException, "java/lang/NoSuchMethodException") \ | 160 template(java_lang_NoSuchMethodException, "java/lang/NoSuchMethodException") \ |
156 template(java_lang_NullPointerException, "java/lang/NullPointerException") \ | 161 template(java_lang_NullPointerException, "java/lang/NullPointerException") \ |
157 template(java_lang_StringIndexOutOfBoundsException, "java/lang/StringIndexOutOfBoundsException")\ | 162 template(java_lang_StringIndexOutOfBoundsException, "java/lang/StringIndexOutOfBoundsException")\ |
163 template(java_lang_UnsupportedOperationException, "java/lang/UnsupportedOperationException") \ | |
158 template(java_lang_InvalidClassException, "java/lang/InvalidClassException") \ | 164 template(java_lang_InvalidClassException, "java/lang/InvalidClassException") \ |
159 template(java_lang_reflect_InvocationTargetException, "java/lang/reflect/InvocationTargetException") \ | 165 template(java_lang_reflect_InvocationTargetException, "java/lang/reflect/InvocationTargetException") \ |
160 template(java_lang_Exception, "java/lang/Exception") \ | 166 template(java_lang_Exception, "java/lang/Exception") \ |
161 template(java_lang_RuntimeException, "java/lang/RuntimeException") \ | 167 template(java_lang_RuntimeException, "java/lang/RuntimeException") \ |
162 template(java_io_IOException, "java/io/IOException") \ | 168 template(java_io_IOException, "java/io/IOException") \ |
205 template(newConstructor_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Constructor;") \ | 211 template(newConstructor_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Constructor;") \ |
206 template(newField_name, "newField") \ | 212 template(newField_name, "newField") \ |
207 template(newField_signature, "(Lsun/reflect/FieldInfo;)Ljava/lang/reflect/Field;") \ | 213 template(newField_signature, "(Lsun/reflect/FieldInfo;)Ljava/lang/reflect/Field;") \ |
208 template(newMethod_name, "newMethod") \ | 214 template(newMethod_name, "newMethod") \ |
209 template(newMethod_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Method;") \ | 215 template(newMethod_signature, "(Lsun/reflect/MethodInfo;)Ljava/lang/reflect/Method;") \ |
210 /* the following two names must be in order: */ \ | 216 template(invokeBasic_name, "invokeBasic") \ |
211 template(invokeExact_name, "invokeExact") \ | 217 template(linkToVirtual_name, "linkToVirtual") \ |
212 template(invokeGeneric_name, "invokeGeneric") \ | 218 template(linkToStatic_name, "linkToStatic") \ |
213 template(invokeVarargs_name, "invokeVarargs") \ | 219 template(linkToSpecial_name, "linkToSpecial") \ |
220 template(linkToInterface_name, "linkToInterface") \ | |
221 template(compiledLambdaForm_name, "<compiledLambdaForm>") /*fake name*/ \ | |
214 template(star_name, "*") /*not really a name*/ \ | 222 template(star_name, "*") /*not really a name*/ \ |
215 template(invoke_name, "invoke") \ | 223 template(invoke_name, "invoke") \ |
216 template(override_name, "override") \ | 224 template(override_name, "override") \ |
217 template(parameterTypes_name, "parameterTypes") \ | 225 template(parameterTypes_name, "parameterTypes") \ |
218 template(returnType_name, "returnType") \ | 226 template(returnType_name, "returnType") \ |
229 template(constantPoolOop_name, "constantPoolOop") \ | 237 template(constantPoolOop_name, "constantPoolOop") \ |
230 template(sun_reflect_UnsafeStaticFieldAccessorImpl, "sun/reflect/UnsafeStaticFieldAccessorImpl")\ | 238 template(sun_reflect_UnsafeStaticFieldAccessorImpl, "sun/reflect/UnsafeStaticFieldAccessorImpl")\ |
231 template(base_name, "base") \ | 239 template(base_name, "base") \ |
232 \ | 240 \ |
233 /* Support for JSR 292 & invokedynamic (JDK 1.7 and above) */ \ | 241 /* Support for JSR 292 & invokedynamic (JDK 1.7 and above) */ \ |
234 template(java_lang_invoke_InvokeDynamic, "java/lang/invoke/InvokeDynamic") \ | |
235 template(java_lang_invoke_Linkage, "java/lang/invoke/Linkage") \ | |
236 template(java_lang_invoke_CallSite, "java/lang/invoke/CallSite") \ | 242 template(java_lang_invoke_CallSite, "java/lang/invoke/CallSite") \ |
237 template(java_lang_invoke_ConstantCallSite, "java/lang/invoke/ConstantCallSite") \ | 243 template(java_lang_invoke_ConstantCallSite, "java/lang/invoke/ConstantCallSite") \ |
238 template(java_lang_invoke_MutableCallSite, "java/lang/invoke/MutableCallSite") \ | 244 template(java_lang_invoke_MutableCallSite, "java/lang/invoke/MutableCallSite") \ |
239 template(java_lang_invoke_VolatileCallSite, "java/lang/invoke/VolatileCallSite") \ | 245 template(java_lang_invoke_VolatileCallSite, "java/lang/invoke/VolatileCallSite") \ |
240 template(java_lang_invoke_MethodHandle, "java/lang/invoke/MethodHandle") \ | 246 template(java_lang_invoke_MethodHandle, "java/lang/invoke/MethodHandle") \ |
241 template(java_lang_invoke_MethodType, "java/lang/invoke/MethodType") \ | 247 template(java_lang_invoke_MethodType, "java/lang/invoke/MethodType") \ |
242 template(java_lang_invoke_WrongMethodTypeException, "java/lang/invoke/WrongMethodTypeException") \ | |
243 template(java_lang_invoke_MethodType_signature, "Ljava/lang/invoke/MethodType;") \ | 248 template(java_lang_invoke_MethodType_signature, "Ljava/lang/invoke/MethodType;") \ |
249 template(java_lang_invoke_MemberName_signature, "Ljava/lang/invoke/MemberName;") \ | |
250 template(java_lang_invoke_LambdaForm_signature, "Ljava/lang/invoke/LambdaForm;") \ | |
244 template(java_lang_invoke_MethodHandle_signature, "Ljava/lang/invoke/MethodHandle;") \ | 251 template(java_lang_invoke_MethodHandle_signature, "Ljava/lang/invoke/MethodHandle;") \ |
245 /* internal classes known only to the JVM: */ \ | 252 /* internal classes known only to the JVM: */ \ |
246 template(java_lang_invoke_MethodTypeForm, "java/lang/invoke/MethodTypeForm") \ | |
247 template(java_lang_invoke_MethodTypeForm_signature, "Ljava/lang/invoke/MethodTypeForm;") \ | |
248 template(java_lang_invoke_MemberName, "java/lang/invoke/MemberName") \ | 253 template(java_lang_invoke_MemberName, "java/lang/invoke/MemberName") \ |
249 template(java_lang_invoke_MethodHandleNatives, "java/lang/invoke/MethodHandleNatives") \ | 254 template(java_lang_invoke_MethodHandleNatives, "java/lang/invoke/MethodHandleNatives") \ |
250 template(java_lang_invoke_MethodHandleImpl, "java/lang/invoke/MethodHandleImpl") \ | 255 template(java_lang_invoke_LambdaForm, "java/lang/invoke/LambdaForm") \ |
251 template(java_lang_invoke_AdapterMethodHandle, "java/lang/invoke/AdapterMethodHandle") \ | 256 template(java_lang_invoke_ForceInline_signature, "Ljava/lang/invoke/ForceInline;") \ |
252 template(java_lang_invoke_BoundMethodHandle, "java/lang/invoke/BoundMethodHandle") \ | 257 template(java_lang_invoke_DontInline_signature, "Ljava/lang/invoke/DontInline;") \ |
253 template(java_lang_invoke_DirectMethodHandle, "java/lang/invoke/DirectMethodHandle") \ | 258 template(java_lang_invoke_LambdaForm_Compiled_signature, "Ljava/lang/invoke/LambdaForm$Compiled;") \ |
254 template(java_lang_invoke_CountingMethodHandle, "java/lang/invoke/CountingMethodHandle") \ | 259 template(java_lang_invoke_LambdaForm_Hidden_signature, "Ljava/lang/invoke/LambdaForm$Hidden;") \ |
255 /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */ \ | 260 /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */ \ |
256 template(findMethodHandleType_name, "findMethodHandleType") \ | 261 template(findMethodHandleType_name, "findMethodHandleType") \ |
257 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \ | 262 template(findMethodHandleType_signature, "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \ |
258 template(notifyGenericMethodType_name, "notifyGenericMethodType") \ | |
259 template(notifyGenericMethodType_signature, "(Ljava/lang/invoke/MethodType;)V") \ | |
260 template(linkMethodHandleConstant_name, "linkMethodHandleConstant") \ | 263 template(linkMethodHandleConstant_name, "linkMethodHandleConstant") \ |
261 template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;") \ | 264 template(linkMethodHandleConstant_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;") \ |
262 template(makeDynamicCallSite_name, "makeDynamicCallSite") \ | 265 template(linkMethod_name, "linkMethod") \ |
263 template(makeDynamicCallSite_signature, "(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;Ljava/lang/invoke/MemberName;I)Ljava/lang/invoke/CallSite;") \ | 266 template(linkMethod_signature, "(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \ |
267 template(linkCallSite_name, "linkCallSite") \ | |
268 template(linkCallSite_signature, "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;") \ | |
264 template(setTargetNormal_name, "setTargetNormal") \ | 269 template(setTargetNormal_name, "setTargetNormal") \ |
265 template(setTargetVolatile_name, "setTargetVolatile") \ | 270 template(setTargetVolatile_name, "setTargetVolatile") \ |
266 template(setTarget_signature, "(Ljava/lang/invoke/MethodHandle;)V") \ | 271 template(setTarget_signature, "(Ljava/lang/invoke/MethodHandle;)V") \ |
267 NOT_LP64( do_alias(intptr_signature, int_signature) ) \ | 272 NOT_LP64( do_alias(intptr_signature, int_signature) ) \ |
268 LP64_ONLY( do_alias(intptr_signature, long_signature) ) \ | 273 LP64_ONLY( do_alias(intptr_signature, long_signature) ) \ |
426 template(exclusive_owner_thread_name, "exclusiveOwnerThread") \ | 431 template(exclusive_owner_thread_name, "exclusiveOwnerThread") \ |
427 template(park_blocker_name, "parkBlocker") \ | 432 template(park_blocker_name, "parkBlocker") \ |
428 template(park_event_name, "nativeParkEventPointer") \ | 433 template(park_event_name, "nativeParkEventPointer") \ |
429 template(cache_field_name, "cache") \ | 434 template(cache_field_name, "cache") \ |
430 template(value_name, "value") \ | 435 template(value_name, "value") \ |
436 template(offset_name, "offset") \ | |
437 template(count_name, "count") \ | |
438 template(hash_name, "hash") \ | |
431 template(frontCacheEnabled_name, "frontCacheEnabled") \ | 439 template(frontCacheEnabled_name, "frontCacheEnabled") \ |
432 template(stringCacheEnabled_name, "stringCacheEnabled") \ | 440 template(stringCacheEnabled_name, "stringCacheEnabled") \ |
433 template(numberOfLeadingZeros_name, "numberOfLeadingZeros") \ | 441 template(numberOfLeadingZeros_name, "numberOfLeadingZeros") \ |
434 template(numberOfTrailingZeros_name, "numberOfTrailingZeros") \ | 442 template(numberOfTrailingZeros_name, "numberOfTrailingZeros") \ |
435 template(bitCount_name, "bitCount") \ | 443 template(bitCount_name, "bitCount") \ |
438 template(length_name, "length") \ | 446 template(length_name, "length") \ |
439 template(target_name, "target") \ | 447 template(target_name, "target") \ |
440 template(toString_name, "toString") \ | 448 template(toString_name, "toString") \ |
441 template(values_name, "values") \ | 449 template(values_name, "values") \ |
442 template(receiver_name, "receiver") \ | 450 template(receiver_name, "receiver") \ |
443 template(vmmethod_name, "vmmethod") \ | |
444 template(vmtarget_name, "vmtarget") \ | 451 template(vmtarget_name, "vmtarget") \ |
452 template(vmindex_name, "vmindex") \ | |
453 template(vmcount_name, "vmcount") \ | |
445 template(vmentry_name, "vmentry") \ | 454 template(vmentry_name, "vmentry") \ |
446 template(vmcount_name, "vmcount") \ | |
447 template(vmslots_name, "vmslots") \ | |
448 template(vmlayout_name, "vmlayout") \ | |
449 template(vmindex_name, "vmindex") \ | |
450 template(vmargslot_name, "vmargslot") \ | |
451 template(flags_name, "flags") \ | 455 template(flags_name, "flags") \ |
452 template(argument_name, "argument") \ | |
453 template(conversion_name, "conversion") \ | |
454 template(rtype_name, "rtype") \ | 456 template(rtype_name, "rtype") \ |
455 template(ptypes_name, "ptypes") \ | 457 template(ptypes_name, "ptypes") \ |
456 template(form_name, "form") \ | 458 template(form_name, "form") \ |
457 template(erasedType_name, "erasedType") \ | 459 template(basicType_name, "basicType") \ |
458 template(genericInvoker_name, "genericInvoker") \ | |
459 template(append_name, "append") \ | 460 template(append_name, "append") \ |
460 template(klass_name, "klass") \ | 461 template(klass_name, "klass") \ |
461 template(resolved_constructor_name, "resolved_constructor") \ | 462 template(resolved_constructor_name, "resolved_constructor") \ |
462 template(array_klass_name, "array_klass") \ | 463 template(array_klass_name, "array_klass") \ |
463 template(oop_size_name, "oop_size") \ | 464 template(oop_size_name, "oop_size") \ |
513 template(throwable_void_signature, "(Ljava/lang/Throwable;)V") \ | 514 template(throwable_void_signature, "(Ljava/lang/Throwable;)V") \ |
514 template(void_throwable_signature, "()Ljava/lang/Throwable;") \ | 515 template(void_throwable_signature, "()Ljava/lang/Throwable;") \ |
515 template(throwable_throwable_signature, "(Ljava/lang/Throwable;)Ljava/lang/Throwable;") \ | 516 template(throwable_throwable_signature, "(Ljava/lang/Throwable;)Ljava/lang/Throwable;") \ |
516 template(class_void_signature, "(Ljava/lang/Class;)V") \ | 517 template(class_void_signature, "(Ljava/lang/Class;)V") \ |
517 template(class_int_signature, "(Ljava/lang/Class;)I") \ | 518 template(class_int_signature, "(Ljava/lang/Class;)I") \ |
519 template(class_long_signature, "(Ljava/lang/Class;)J") \ | |
518 template(class_boolean_signature, "(Ljava/lang/Class;)Z") \ | 520 template(class_boolean_signature, "(Ljava/lang/Class;)Z") \ |
519 template(throwable_string_void_signature, "(Ljava/lang/Throwable;Ljava/lang/String;)V") \ | 521 template(throwable_string_void_signature, "(Ljava/lang/Throwable;Ljava/lang/String;)V") \ |
520 template(string_array_void_signature, "([Ljava/lang/String;)V") \ | 522 template(string_array_void_signature, "([Ljava/lang/String;)V") \ |
521 template(string_array_string_array_void_signature, "([Ljava/lang/String;[Ljava/lang/String;)V") \ | 523 template(string_array_string_array_void_signature, "([Ljava/lang/String;[Ljava/lang/String;)V") \ |
522 template(thread_throwable_void_signature, "(Ljava/lang/Thread;Ljava/lang/Throwable;)V") \ | 524 template(thread_throwable_void_signature, "(Ljava/lang/Thread;Ljava/lang/Throwable;)V") \ |
598 template(createGarbageCollectorMBean_signature, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/management/GarbageCollectorMBean;") \ | 600 template(createGarbageCollectorMBean_signature, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/management/GarbageCollectorMBean;") \ |
599 template(trigger_name, "trigger") \ | 601 template(trigger_name, "trigger") \ |
600 template(clear_name, "clear") \ | 602 template(clear_name, "clear") \ |
601 template(trigger_method_signature, "(ILjava/lang/management/MemoryUsage;)V") \ | 603 template(trigger_method_signature, "(ILjava/lang/management/MemoryUsage;)V") \ |
602 template(startAgent_name, "startAgent") \ | 604 template(startAgent_name, "startAgent") \ |
605 template(startRemoteAgent_name, "startRemoteManagementAgent") \ | |
606 template(startLocalAgent_name, "startLocalManagementAgent") \ | |
607 template(stopRemoteAgent_name, "stopRemoteManagementAgent") \ | |
603 template(java_lang_management_ThreadInfo_constructor_signature, "(Ljava/lang/Thread;ILjava/lang/Object;Ljava/lang/Thread;JJJJ[Ljava/lang/StackTraceElement;)V") \ | 608 template(java_lang_management_ThreadInfo_constructor_signature, "(Ljava/lang/Thread;ILjava/lang/Object;Ljava/lang/Thread;JJJJ[Ljava/lang/StackTraceElement;)V") \ |
604 template(java_lang_management_ThreadInfo_with_locks_constructor_signature, "(Ljava/lang/Thread;ILjava/lang/Object;Ljava/lang/Thread;JJJJ[Ljava/lang/StackTraceElement;[Ljava/lang/Object;[I[Ljava/lang/Object;)V") \ | 609 template(java_lang_management_ThreadInfo_with_locks_constructor_signature, "(Ljava/lang/Thread;ILjava/lang/Object;Ljava/lang/Thread;JJJJ[Ljava/lang/StackTraceElement;[Ljava/lang/Object;[I[Ljava/lang/Object;)V") \ |
605 template(long_long_long_long_void_signature, "(JJJJ)V") \ | 610 template(long_long_long_long_void_signature, "(JJJJ)V") \ |
606 \ | 611 \ |
607 template(java_lang_management_MemoryPoolMXBean, "java/lang/management/MemoryPoolMXBean") \ | 612 template(java_lang_management_MemoryPoolMXBean, "java/lang/management/MemoryPoolMXBean") \ |
625 do_alias(appendToClassPathForInstrumentation_signature, string_void_signature) \ | 630 do_alias(appendToClassPathForInstrumentation_signature, string_void_signature) \ |
626 template(serializePropertiesToByteArray_name, "serializePropertiesToByteArray") \ | 631 template(serializePropertiesToByteArray_name, "serializePropertiesToByteArray") \ |
627 template(serializePropertiesToByteArray_signature, "()[B") \ | 632 template(serializePropertiesToByteArray_signature, "()[B") \ |
628 template(serializeAgentPropertiesToByteArray_name, "serializeAgentPropertiesToByteArray") \ | 633 template(serializeAgentPropertiesToByteArray_name, "serializeAgentPropertiesToByteArray") \ |
629 template(classRedefinedCount_name, "classRedefinedCount") \ | 634 template(classRedefinedCount_name, "classRedefinedCount") \ |
635 \ | |
636 /* trace signatures */ \ | |
637 TRACE_TEMPLATES(template) \ | |
638 \ | |
630 /*end*/ | 639 /*end*/ |
631 | |
632 | |
633 | 640 |
634 // Here are all the intrinsics known to the runtime and the CI. | 641 // Here are all the intrinsics known to the runtime and the CI. |
635 // Each intrinsic consists of a public enum name (like _hashCode), | 642 // Each intrinsic consists of a public enum name (like _hashCode), |
636 // followed by a specification of its klass, name, and signature: | 643 // followed by a specification of its klass, name, and signature: |
637 // template(<id>, <klass>, <name>, <sig>, <FCODE>) | 644 // template(<id>, <klass>, <name>, <sig>, <FCODE>) |
734 \ | 741 \ |
735 do_name( currentTimeMillis_name, "currentTimeMillis") \ | 742 do_name( currentTimeMillis_name, "currentTimeMillis") \ |
736 do_intrinsic(_nanoTime, java_lang_System, nanoTime_name, void_long_signature, F_S) \ | 743 do_intrinsic(_nanoTime, java_lang_System, nanoTime_name, void_long_signature, F_S) \ |
737 do_name( nanoTime_name, "nanoTime") \ | 744 do_name( nanoTime_name, "nanoTime") \ |
738 \ | 745 \ |
746 TRACE_INTRINSICS(do_intrinsic, do_class, do_name, do_signature, do_alias) \ | |
747 \ | |
739 do_intrinsic(_arraycopy, java_lang_System, arraycopy_name, arraycopy_signature, F_S) \ | 748 do_intrinsic(_arraycopy, java_lang_System, arraycopy_name, arraycopy_signature, F_S) \ |
740 do_name( arraycopy_name, "arraycopy") \ | 749 do_name( arraycopy_name, "arraycopy") \ |
741 do_signature(arraycopy_signature, "(Ljava/lang/Object;ILjava/lang/Object;II)V") \ | 750 do_signature(arraycopy_signature, "(Ljava/lang/Object;ILjava/lang/Object;II)V") \ |
742 do_intrinsic(_isInterrupted, java_lang_Thread, isInterrupted_name, isInterrupted_signature, F_R) \ | 751 do_intrinsic(_isInterrupted, java_lang_Thread, isInterrupted_name, isInterrupted_signature, F_R) \ |
743 do_name( isInterrupted_name, "isInterrupted") \ | 752 do_name( isInterrupted_name, "isInterrupted") \ |
798 do_intrinsic(_checkIndex, java_nio_Buffer, checkIndex_name, int_int_signature, F_R) \ | 807 do_intrinsic(_checkIndex, java_nio_Buffer, checkIndex_name, int_int_signature, F_R) \ |
799 do_name( checkIndex_name, "checkIndex") \ | 808 do_name( checkIndex_name, "checkIndex") \ |
800 \ | 809 \ |
801 /* java/lang/ref/Reference */ \ | 810 /* java/lang/ref/Reference */ \ |
802 do_intrinsic(_Reference_get, java_lang_ref_Reference, get_name, void_object_signature, F_R) \ | 811 do_intrinsic(_Reference_get, java_lang_ref_Reference, get_name, void_object_signature, F_R) \ |
803 \ | |
804 \ | |
805 do_class(sun_misc_AtomicLongCSImpl, "sun/misc/AtomicLongCSImpl") \ | |
806 do_intrinsic(_get_AtomicLong, sun_misc_AtomicLongCSImpl, get_name, void_long_signature, F_R) \ | |
807 /* (symbols get_name and void_long_signature defined above) */ \ | |
808 \ | |
809 do_intrinsic(_attemptUpdate, sun_misc_AtomicLongCSImpl, attemptUpdate_name, attemptUpdate_signature, F_R) \ | |
810 do_name( attemptUpdate_name, "attemptUpdate") \ | |
811 do_signature(attemptUpdate_signature, "(JJ)Z") \ | |
812 \ | 812 \ |
813 /* support for sun.misc.Unsafe */ \ | 813 /* support for sun.misc.Unsafe */ \ |
814 do_class(sun_misc_Unsafe, "sun/misc/Unsafe") \ | 814 do_class(sun_misc_Unsafe, "sun/misc/Unsafe") \ |
815 \ | 815 \ |
816 do_intrinsic(_allocateInstance, sun_misc_Unsafe, allocateInstance_name, allocateInstance_signature, F_RN) \ | 816 do_intrinsic(_allocateInstance, sun_misc_Unsafe, allocateInstance_name, allocateInstance_signature, F_RN) \ |
1003 do_intrinsic(_Object_init, java_lang_Object, object_initializer_name, void_method_signature, F_R) \ | 1003 do_intrinsic(_Object_init, java_lang_Object, object_initializer_name, void_method_signature, F_R) \ |
1004 /* (symbol object_initializer_name defined above) */ \ | 1004 /* (symbol object_initializer_name defined above) */ \ |
1005 \ | 1005 \ |
1006 do_intrinsic(_invoke, java_lang_reflect_Method, invoke_name, object_object_array_object_signature, F_R) \ | 1006 do_intrinsic(_invoke, java_lang_reflect_Method, invoke_name, object_object_array_object_signature, F_R) \ |
1007 /* (symbols invoke_name and invoke_signature defined above) */ \ | 1007 /* (symbols invoke_name and invoke_signature defined above) */ \ |
1008 do_intrinsic(_checkSpreadArgument, java_lang_invoke_MethodHandleNatives, checkSpreadArgument_name, checkSpreadArgument_signature, F_S) \ | 1008 /* the polymorphic MH intrinsics must be in compact order, with _invokeGeneric first and _linkToInterface last */ \ |
1009 do_name( checkSpreadArgument_name, "checkSpreadArgument") \ | 1009 do_intrinsic(_invokeGeneric, java_lang_invoke_MethodHandle, invoke_name, star_name, F_RN) \ |
1010 do_name( checkSpreadArgument_signature, "(Ljava/lang/Object;I)V") \ | 1010 do_intrinsic(_invokeBasic, java_lang_invoke_MethodHandle, invokeBasic_name, star_name, F_RN) \ |
1011 do_intrinsic(_invokeExact, java_lang_invoke_MethodHandle, invokeExact_name, object_array_object_signature, F_RN) \ | 1011 do_intrinsic(_linkToVirtual, java_lang_invoke_MethodHandle, linkToVirtual_name, star_name, F_SN) \ |
1012 do_intrinsic(_invokeGeneric, java_lang_invoke_MethodHandle, invokeGeneric_name, object_array_object_signature, F_RN) \ | 1012 do_intrinsic(_linkToStatic, java_lang_invoke_MethodHandle, linkToStatic_name, star_name, F_SN) \ |
1013 do_intrinsic(_invokeVarargs, java_lang_invoke_MethodHandle, invokeVarargs_name, object_array_object_signature, F_R) \ | 1013 do_intrinsic(_linkToSpecial, java_lang_invoke_MethodHandle, linkToSpecial_name, star_name, F_SN) \ |
1014 do_intrinsic(_invokeDynamic, java_lang_invoke_InvokeDynamic, star_name, object_array_object_signature, F_SN) \ | 1014 do_intrinsic(_linkToInterface, java_lang_invoke_MethodHandle, linkToInterface_name, star_name, F_SN) \ |
1015 \ | 1015 /* special marker for bytecode generated for the JVM from a LambdaForm: */ \ |
1016 do_intrinsic(_selectAlternative, java_lang_invoke_MethodHandleImpl, selectAlternative_name, selectAlternative_signature, F_S) \ | 1016 do_intrinsic(_compiledLambdaForm, java_lang_invoke_MethodHandle, compiledLambdaForm_name, star_name, F_RN) \ |
1017 \ | 1017 \ |
1018 /* unboxing methods: */ \ | 1018 /* unboxing methods: */ \ |
1019 do_intrinsic(_booleanValue, java_lang_Boolean, booleanValue_name, void_boolean_signature, F_R) \ | 1019 do_intrinsic(_booleanValue, java_lang_Boolean, booleanValue_name, void_boolean_signature, F_R) \ |
1020 do_name( booleanValue_name, "booleanValue") \ | 1020 do_name( booleanValue_name, "booleanValue") \ |
1021 do_intrinsic(_byteValue, java_lang_Byte, byteValue_name, void_byte_signature, F_R) \ | 1021 do_intrinsic(_byteValue, java_lang_Byte, byteValue_name, void_byte_signature, F_R) \ |
1144 VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_ALIAS_IGNORE) | 1144 VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_ALIAS_IGNORE) |
1145 #undef VM_INTRINSIC_ENUM | 1145 #undef VM_INTRINSIC_ENUM |
1146 | 1146 |
1147 ID_LIMIT, | 1147 ID_LIMIT, |
1148 LAST_COMPILER_INLINE = _prefetchWriteStatic, | 1148 LAST_COMPILER_INLINE = _prefetchWriteStatic, |
1149 FIRST_MH_SIG_POLY = _invokeGeneric, | |
1150 FIRST_MH_STATIC = _linkToVirtual, | |
1151 LAST_MH_SIG_POLY = _linkToInterface, | |
1152 | |
1149 FIRST_ID = _none + 1 | 1153 FIRST_ID = _none + 1 |
1150 }; | 1154 }; |
1151 | 1155 |
1152 enum Flags { | 1156 enum Flags { |
1153 // AccessFlags syndromes relevant to intrinsics. | 1157 // AccessFlags syndromes relevant to intrinsics. |