< prev index next >

src/hotspot/share/include/jvm.h

Print this page
rev 52749 : Bootstrap method consolidation
* clean up and simplify JDK support code for BSM invocation
* simplify JVM bootstrap handshake: use BootstrapCallInfo only
* remove unused JVM paths and data fields
* move bootstrap argument processing from MethodHandleNatives to ConstantPool
* remove ConstantGroup; merge argument access into BootstrapCallInfo
* adjust BSM argument access: remove copyArguments, add argumentRef API
* add metadata-free BSM modes, including symbolic arguments from CP


 538 /* The following two reflection routines are still needed due to startup time issues */
 539 /*
 540  * java.lang.reflect.Method
 541  */
 542 JNIEXPORT jobject JNICALL
 543 JVM_InvokeMethod(JNIEnv *env, jobject method, jobject obj, jobjectArray args0);
 544 
 545 /*
 546  * java.lang.reflect.Constructor
 547  */
 548 JNIEXPORT jobject JNICALL
 549 JVM_NewInstanceFromConstructor(JNIEnv *env, jobject c, jobjectArray args0);
 550 
 551 /*
 552  * Constant pool access; currently used to implement reflective access to annotations (JDK 1.5)
 553  */
 554 
 555 JNIEXPORT jobject JNICALL
 556 JVM_GetClassConstantPool(JNIEnv *env, jclass cls);
 557 
 558 JNIEXPORT jint JNICALL JVM_ConstantPoolGetSize
 559 (JNIEnv *env, jobject unused, jobject jcpool);
 560 
 561 JNIEXPORT jclass JNICALL JVM_ConstantPoolGetClassAt
 562 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 563 
 564 JNIEXPORT jclass JNICALL JVM_ConstantPoolGetClassAtIfLoaded
 565 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 566 
 567 JNIEXPORT jint JNICALL JVM_ConstantPoolGetClassRefIndexAt
 568 (JNIEnv *env, jobject obj, jobject unused, jint index);
 569 
 570 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetMethodAt
 571 (JNIEnv *env, jobject unused, jobject jcpool, jint index);


 572 
 573 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetMethodAtIfLoaded
 574 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 575 
 576 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetFieldAt
 577 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 578 
 579 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetFieldAtIfLoaded
 580 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 581 
 582 JNIEXPORT jobjectArray JNICALL JVM_ConstantPoolGetMemberRefInfoAt
 583 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 584 
 585 JNIEXPORT jint JNICALL JVM_ConstantPoolGetNameAndTypeRefIndexAt
 586 (JNIEnv *env, jobject obj, jobject unused, jint index);
 587 
 588 JNIEXPORT jobjectArray JNICALL JVM_ConstantPoolGetNameAndTypeRefInfoAt
 589 (JNIEnv *env, jobject obj, jobject unused, jint index);
 590 
 591 JNIEXPORT jint JNICALL JVM_ConstantPoolGetIntAt
 592 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 593 
 594 JNIEXPORT jlong JNICALL JVM_ConstantPoolGetLongAt
 595 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 596 
 597 JNIEXPORT jfloat JNICALL JVM_ConstantPoolGetFloatAt
 598 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 599 
 600 JNIEXPORT jdouble JNICALL JVM_ConstantPoolGetDoubleAt
 601 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 602 
 603 JNIEXPORT jstring JNICALL JVM_ConstantPoolGetStringAt
 604 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 605 
 606 JNIEXPORT jstring JNICALL JVM_ConstantPoolGetUTF8At
 607 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 608 
 609 JNIEXPORT jbyte JNICALL JVM_ConstantPoolGetTagAt
 610 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
 611 
 612 /*
 613  * Parameter reflection
 614  */
 615 
 616 JNIEXPORT jobjectArray JNICALL
 617 JVM_GetMethodParameters(JNIEnv *env, jobject method);
 618 
 619 /*
 620  * java.security.*
 621  */
 622 
 623 JNIEXPORT jobject JNICALL
 624 JVM_DoPrivileged(JNIEnv *env, jclass cls,
 625                  jobject action, jobject context, jboolean wrapException);
 626 
 627 JNIEXPORT jobject JNICALL
 628 JVM_GetInheritedAccessControlContext(JNIEnv *env, jclass cls);
 629 
 630 JNIEXPORT jobject JNICALL




 538 /* The following two reflection routines are still needed due to startup time issues */
 539 /*
 540  * java.lang.reflect.Method
 541  */
 542 JNIEXPORT jobject JNICALL
 543 JVM_InvokeMethod(JNIEnv *env, jobject method, jobject obj, jobjectArray args0);
 544 
 545 /*
 546  * java.lang.reflect.Constructor
 547  */
 548 JNIEXPORT jobject JNICALL
 549 JVM_NewInstanceFromConstructor(JNIEnv *env, jobject c, jobjectArray args0);
 550 
 551 /*
 552  * Constant pool access; currently used to implement reflective access to annotations (JDK 1.5)
 553  */
 554 
 555 JNIEXPORT jobject JNICALL
 556 JVM_GetClassConstantPool(JNIEnv *env, jclass cls);
 557 
 558 JNIEXPORT jclass JNICALL JVM_ConstantPool1GetHolder
 559 (JNIEnv *env, jobject jcpool);
 560 
 561 JNIEXPORT jint JNICALL JVM_ConstantPool1GetSize
 562 (JNIEnv *env, jobject jcpool);
 563 
 564 JNIEXPORT jint JNICALL JVM_ConstantPool1GetWordCountAt
 565 (JNIEnv *env, jobject jcpool, jint index);
 566 
 567 JNIEXPORT jobject JNICALL JVM_ConstantPool1GetRefAt
 568 (JNIEnv *env, jobject jcpool, jint index, jint word, jbyte resolving, jobject if_not_present);
 569 
 570 JNIEXPORT void JNICALL JVM_ConstantPool1CopyOutRefsAt
 571 (JNIEnv *env, jobject jcpool, jint index, jint start_word, jint end_word,
 572  jobject buf, jint buf_pos, jbyte resolving,
 573  jobject if_not_present, jobject if_null_constant, jboolean skip_non_null);
 574 
 575 JNIEXPORT jint JNICALL JVM_ConstantPool1GetWordAt
 576 (JNIEnv *env, jobject jcpool, jint index, jint word);
 577 
 578 JNIEXPORT jint JNICALL JVM_ConstantPool1GetIntAt
 579 (JNIEnv *env, jobject jcpool, jint index);
 580 
 581 JNIEXPORT jlong JNICALL JVM_ConstantPool1GetLongAt
 582 (JNIEnv *env, jobject jcpool, jint index);
 583 
 584 JNIEXPORT jfloat JNICALL JVM_ConstantPool1GetFloatAt
 585 (JNIEnv *env, jobject jcpool, jint index);
 586 
 587 JNIEXPORT jdouble JNICALL JVM_ConstantPool1GetDoubleAt
 588 (JNIEnv *env, jobject jcpool, jint index);
 589 
 590 JNIEXPORT jbyte JNICALL JVM_ConstantPool1GetTagAt
 591 (JNIEnv *env, jobject jcpool, jint index);
 592 
 593 JNIEXPORT jbyteArray JNICALL JVM_ConstantPool1GetTags
 594 (JNIEnv *env, jobject jcpool);


















 595 
 596 /*
 597  * Parameter reflection
 598  */
 599 
 600 JNIEXPORT jobjectArray JNICALL
 601 JVM_GetMethodParameters(JNIEnv *env, jobject method);
 602 
 603 /*
 604  * java.security.*
 605  */
 606 
 607 JNIEXPORT jobject JNICALL
 608 JVM_DoPrivileged(JNIEnv *env, jclass cls,
 609                  jobject action, jobject context, jboolean wrapException);
 610 
 611 JNIEXPORT jobject JNICALL
 612 JVM_GetInheritedAccessControlContext(JNIEnv *env, jclass cls);
 613 
 614 JNIEXPORT jobject JNICALL


< prev index next >