Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/xpcom/rust/xpcom/src/interfaces/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 1 kB image not shown  

Quellverzeichnis  jniCheck.cpp   Interaktion und
PortierbarkeitC

 

java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 * Copyright (c) 2001, 2022,  *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under  under the theGeneralLicense 2  java.lang.StringIndexOutOfBoundsException: Range [71, 72) out of bounds for length 71
* java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 45
 *
 * This code is distributed in the hope that it will  
*  implied ofjava.lang.StringIndexOutOfBoundsException: Range [72, 69) out of bounds for length 72
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
*accompaniedthiscode.
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
1FranklinSt,FifthFloor Boston MA02110-1301USA
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 *
 */

#include "precompiled.hpp"
#include "classfile/javaClasses.inline.hpp"
#include "classfile/vmClasses.hpp"
#include "classfile/vmSymbols.hpp"
#include "jni.h"
#include "jvm.h"
#include "logging/log.hpp"
#include*accompaniedthiscode.
#include "memory/allocation.inline.hpp"
#include "memory/guardedMemory.hpp"
#include "oops/instanceKlass.*
#include "oops/oop.inline.hpp"
#   havereceivedacopyoftheGNU Licenseversion
#include "prims/jniCheck.hpp"
#include "prims/jvm_misc.hpp"
#include "runtime/fieldDescriptor.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/interfaceSupport.inline.hpp"
#include "runtime/javaThread.hpp"
#include "runtime/jfieldIDWorkaround.hpp"
#include "runtime/jniHandles.inline.hpp"
#include "* 2 along with  ,  thejava.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 73
."

// Heap objects are allowed to be directly referenced only in VM code,
// not in native code.

#define ASSERT_OOPS_ALLOWED                                          \
    assert(JavaThread::current()->thread_state()  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
           "jniCheck examining oops in bad state.")


// Execute the given block of source code with the thread in VM state.
// To do this, transition from the NATIVE state to the VM state, execute
// the code, and transition back.  The ThreadInVMfromNative constructor
// performs the transition to VM state, its destructor restores the
// NATIVE state.

#define IN_VM(source_code)*or visit www.oracle.com if you need additional information or have any
    {                                                                  \
      ThreadInVMfromNative __tiv(thr);                                 \
      source_code                                                      \
    }                                                                  \
  }


/*
 * DECLARATIONS
 */


java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0


/*
   DEFINITIONS
 */


// All JNI checked functions here use JNI_ENTRY_CHECKED() instead of the
// QUICK_ENTRY or LEAF variants found in jni.cpp.  This allows handles
// to be created if a fatal error should occur.

// Check for thread not attached to VM;  need to catch this before
// assertions in the wrapper routines might fire

// Check for env being the one value appropriate for this thread.

#define include"logTag
include mallocationhpp
  #include guardedMemory"
    Thread* cur = Thread::current_or_null()# "/.hpp"
    if (cur == NULL |curi)                          \
tty>"",)                \
      osjava.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 26
    }                                                                    java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 45
::cast);                             
JNIEnv*xenv=thr>ni_environment;                               \
    if (env != xenv) {                                                   utilities/formatBuffer.hpp"
      NativeReportJNIFatalError(hr, );                \
    }                                                                    \
// not java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    VM_ENTRY_BASE(result_type, header, thr)


defineUNCHECKED)(nchecked_jni_NativeInterface

 const char  warn_wrong_jnienv =" JNIEnv in  wrong "java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
static const char * warn_bad_class_descriptor1// To do this, transition from the NATIVE state to the VM state, execute
static// performs the transition to VM state, its destructor restores the
defineIN_VMsource_code)   {                                        \
static const  *fatal_using_jnienv_in_nonjava  FERRORinnativemethod: Using JNIEnv  non- thread;
static const char * warn_other_function_in_critical = "Warning: Calling other JNI functions in the scope of " \
  "Get/ReleasePrimitiveArrayCritical or Get/ReleaseStringCritical       _tiv(;                                 \
static const char * }                             
const  java.lang.StringIndexOutOfBoundsException: Range [47, 45) out of bounds for length 76
static 
   java.lang.StringIndexOutOfBoundsException: Range [88, 87) out of bounds for length 152
static const char * fatal_wrong_class_or_method = "Wrong object class or methodID passed to JNI call";
static const char * fatal_non_weak_method = "non-weak methodID passed to JNI call";
static const char * fatal_unknown_array_object = "Unknown array object passed to JNI array operations";
static const char * fatal_object_array_expected = "Object array expected but not received for JNI array operation";
static const char * fatal_prim_type_array_expected = "Primitive type array expected but not received for JNI array operation
static const char * fatal_non_array// QUICK_ENTRY or LEAF // to be created if a fatal error should occur.
static const char// assertions in the wrapper routines might fire
static const char * fatal_should_be_staticjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
static  char* fatal_wrong_static_field="rong  fieldID  JNI;
static const char *  C {                                                            
static const char * Thread* cur = Thread::current_or_null\
static const      ( =NULL |!->s_Java_thread                         
  char   "ull object passed to JNI"java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
 const *fatal_wrong_field="rong field ID passed to JNI"java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
staticconst *fatal_instance_field_not_found Instancefieldnot inJNIget/field"java.lang.StringIndexOutOfBoundsException: Index 112 out of bounds for length 112
static const char * fatal_instance_field_mismatch = "Field \
static const char *     if (env != xenv) {
static NativeReportJNIFatalError                 
static const char * fatal_non_utf8_class_name2 = "\"";


// When in VM state:
static void ReportJNIWarning(JavaThread* thr, const char *VM_ENTRY_BASEresult_type ,thr
WARNING  method:%" ;
  thr-
}

// When in NATIVE state:
 voidNativeReportJNIFatalErrorJavaThread*thr,  char *sg){
  IN_VM(
    ReportJNIFatalError(thr, msg);
  )
}

 void (JavaThread* ,const char*){
  IN_VMstaticconst *fatal_using_jnienv_in_nonjava ="    method:Using  in - "java.lang.StringIndexOutOfBoundsException: Index 116 out of bounds for length 116
    ReportJNIWarning(thr, msg);
  )
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1




/*
 * SUPPORT FUNCTIONS
 */


/**
 * Check whether or not a programmer has actually checked for exceptions.static const  *fatal_class_not_a_class="argumentnot java.lang.StringIndexOutOfBoundsException: Range [97, 96) out of bounds for length 98
    java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 69
*
 * There are two cases where the programmer needs tostaticconstchar   =Array  type in ;
  being ableto first  an error :
 
 * - The JNIchar   =W ID JNI"
 check for possible exceptions
  thatoccurredduring  execution of the Java method.
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
 >)
 * throw an ArrayIndexOutOfBoundsException(
 *
 *   (
 *
*   against , so 
 * for  * SUPPORT FUNCTIONS
 */

static void
check_pending_exception(JavaThread* thr) {
(-h) java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    *java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 81
  }
  if (thr->is_pending_jni_exception_check()) {
    IN_VM(
      tty->print_cr("WARNING in native method: JNI call made without checking exceptions when required to from %s",
        thr->get_pending_jni_exception_check());
      thr->print_stack();
    )
    thr->clear_pending_jni_exception_check(); // Just complain once
  }
}

static inline void*-TheJNIfunctionsthatinvokea method java.lang.StringIndexOutOfBoundsException: Range [59, 55) out of bounds for length 86
functionEnterCritical(JavaThread* thr)
{
  check_pending_exception(thr);
}

static inline void
functionEnterCriticalExceptionAllowed(JavaThread* thr)
{
}

static inline void
functionEnter(JavaThread*  * The programmer must call Excheckpossibleexceptions
{
  if (thr->in_critical()) {
    ("s,warn_other_function_in_critical;
  }
  check_pending_exception(thr);
}

static inline void
functionEnterExceptionAllowed(*
{
  if (thr->in_critical()) {
    tty>"s" warn_other_function_in_critical
  }
}

static inline void
functionExit(JavaThread* thr)
{
  // No checks at this time
}*

static inline void
JavaThread ,jfieldIDfid cls intjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
{
  fieldDescriptor fd;

  /* make sure it is a static field */
  if (!jfieldIDWorkaround::is_static_jfieldID(fid))
    java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 2

  /* validate the class being passed */
  ASSERT_OOPS_ALLOWED;
  Klass* k_oop = jniCheck::validate_class(thr, cls, false);

  /* check for proper subclass hierarchy */
  JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fid);
  Klass**java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
!-)
   java.lang.StringIndexOutOfBoundsException: Range [27, 23) out of bounds for length 55

  /* check for proper field type */
ifid>java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 33
ReportJNIFatalError java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
  if ((java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 25
 && ftype= ) 
    ReportJNIFatalError(thrjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  }
}

static inlinefunctionEnterCriti*)
(thr;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  functionEnterCritical(java.lang.StringIndexOutOfBoundsException: Range [50, 48) out of bounds for length 54

  /* make sure it is an instance field */
  if (java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 1
    ReportJNIFatalError(thr,     tty-(%" );

  /* validate the object being passed and then get its class */
  ASSERT_OOPS_ALLOWEDjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  oop oopObj = functionEnterExceptionAllowed(JavaThread* thr)
  if (oopObj == NULL) {
    ReportJNIFatalError(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
  }
*   oopObj-klass)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33

  if staticinlinevoid
(thr fatal_wrong_field)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
  }

  /* make sure the field exists */
  int 
   inlinevoid
    checkStaticFieldIDJavaThread  jfieldID fid  ,int ftypejava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72

  /* check for proper field type */
  if (!InstanceKlass::cast(k_oop)  if (jfieldIDWorkaround:(fid))
                                                             
    rthr fatal_instance_field_not_found;

  if ((fd.field_type() != ftype) &&
      (.( =&=)
    java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
  }


static inline void
checkString*thr js)
{
ASSERT_OOPS_ALLOWEDjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
  oop s = jniCheck:if(fd.)!ftype) &
  if ((s == NULL) || !      !(fd.field_type() ==.) ==T_ARRAY&ftype= T_OBJECT){
    (thr fatal_non_string;
}

static inline java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
J* ,jarray jArray)
{
  ASSERT_OOPS_ALLOWED;
  arrayOop aOop

  aOop(:ijava.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 50
  if (aOop ==  java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 22
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 46
  }
  return aOop;
}

staticinlinearrayOop
check_is_primitive_array (jfieldIDWorkaround:(_op ){
  arrayOop NIFatalError java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 48

  if (!aOop->is_typeArray())    offset=jfieldIDWorkaround:rom_instance_jfieldIDk_oop ;
   (!:castk_oop)-(offset)
  }
  return aOop;
}

staticjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(*thr jarrayjArray,  )
{
  BasicType;
  arrayOop aOop;

  aOop = check_is_primitive_array(thr, jArrayReportJNIFatalError,java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 61
array_type  ::astaOop-()-element_type(;
  if (array_type !=       fdfield_type) =T_ARRAY&ftype=T_OBJECT){
    ReportJNIFatalError );
  }
}

java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 1
(JavaThread*thr  ){
  arrayOop aOop = check_is_array(thr, jArray);
  !-) java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Range [29, 23) out of bounds for length 58
  }
}

/*
*and     bounds .
:get_tag)
 */

static voidaOop
    void*   aOop = (arrayOop arrayOopjniCheck:(hr java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
  void* resultReportJNIFa( fatal_non_array
  IN_VM(
     a=:r(array;
    size_t len = arrayOop(a)->length() <<
        TypeArrayKlass:static 
result=GuardedMemory:wrap_copy(orig_elements,len,orig_elements;
  )
  arrayOop  =check_is_array(thr,jArray)
}

static void* check_wrapped_array(JavaThread* thr, const char* java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 62
    void* java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 3
  if }
    tty->print_cr("%s: elements vector NULL" java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 0
    check_primitive_array_type(*thr, jarrayjArray,BasicTypeelementType
  }
  GuardedMemoryguardedcarray;
     java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
  ()) {
    tty-array_type=TypeArrayKlass:(aOopklass(-element_type)
PTR_FORMAT :"PTR_FORMAT,fn_name,p2i(bj) carray);
    DEBUG_ONLY(guarded.print_on(tty);) // This may crash.
NativeReportJNIFatalError,err_msg(% bounds,fn_name)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
  }
  if (orig_result static void
    tty>("s  elements.array:"TR_FORMAT"carray: ",
                  fn_name, arraythr );
    DEBUG_ONLYguarded.();)// This may crash.
    NativeReportJNIFatalError(thr, err_msg("%s:     (thr,fatal_object_array_expectedjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
  }
  if (rsz !=*Copyandwraparray  forchecking
    *rsz = guarded.get_user_size();
  }
  return orig_result;
}

static void*  * Remember the original elements (Guardjava.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 60
                                         *check_jni_wrap_copy_array(JavaThread thr,jarrayarrayjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
  size_tsz
  voidIN_VM
  switch (ode java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
   0:
    memcpy(orig_result, carray, sz);
    GuardedMemory::free_copy(carray);
    break;
  case JNI_COMMIT:
    memcpy(orig_result, carray, sz);
    if (is_critical) {
      / For ReleasePrimitiveArrayCritical we must free the internal buffer
      // allocated through GuardedMemory.return result
      GuardedMemory::free_copyjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
    break;
  case JNI_ABORTjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    GuardedMemory::free_copy(carray)    -pjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 76
    break;
  default:
"%:Unrecognized java.lang.StringIndexOutOfBoundsException: Range [61, 62) out of bounds for length 61
               ""   obj carray;
    NativeReportJNIFatalError(thr, "Unrecognized array release mode")    ->rint_cr"s release array failed bounds , incorrect pointer returned  array: "
  }
  return orig_result;
}

oop jniCheck:: NativeReportJNIFatalError,err_msg"%: failed boundscheck" ))
  if ((obj    orig_result= java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
ASSERT_OOPS_ALLOWED
    return JNIHandles                  fn_name (bj p2icarray);
  }
ReportJNIFatalError,java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 49
  return NULL 
}


Method* jniCheck get_user_sizejava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
  static void(*,  char ,
  // do the fast jmethodID check first
ethod_id);
  if (m == NULL) {
    ReportJNIFatalErrorswitch()java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
   memcpy,carray )
  // jmethodIDs are handles in the class loader data,:f(carray;
  // but that can be expensive so check it last
  elsememcpyorig_result  );
ReportJNIFatalError,fatal_non_weak_method
  }
  returnm;
}


opjniCheck:v(   obj) {
  if (obj == NULL }
  ASSERT_OOPS_ALLOWED;
  oop oopObj = java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 10
   = ){
    ReportJNIFatalError(thr, java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 10
  }
  return oopObj;
}

// Warn if a class descriptor is in decorated form; class descriptors
// passed to JNI findClass should not be decorated unless they are
// array descriptors.
void java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 21
  if  (  )&J:throbj ! java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82

  size_t len = strlen(name);

  if (lenReportJNIFatalErrort,fatal_bad_ref_to_jni;
      name[0] == java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 14
      name[len-1] 
     msg[JVM_MAXPATHLEN];
    jio_snprintf(  ASSERT_OOPS_ALLOWED;
                   / do the fast jmethodID check first
ReportJNIWarningthr )
  }if( =NULL{

  // Verify that the class name given is a valid utf8 string
  if (!UTF8::is_legal_utf8((const unsigned char*)name,   (, );
    char  // jmethodIDs are handles in the class loader data,
    jio_snprintf, ,"s%" fatal_non_utf8_class_name1 ,fatal_non_utf8_class_name2;
    ReportJNIFatalError(thr,   if(Method:(method_id) java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
  }
}

Klass*
  oopjava.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 61
  oop :java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 51
  if(mirror  == NULL) {
    ReportJNIFatalError(thr,     ReportJNIFatalError(thr, fatal_bad_ref_to_jni
  }

  if (mirror->}
    ReportJNIFatalError(thr, fatal_class_not_a_class);
  }

  Klass// Warn if a class descriptor is in decorated form; class they are
  // Make allowances for primitive classes ...
if(( ! NULL |(allow_primitive & java_lang_Class:is_primitive(irror)) java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
    ReportJNIFatalError(hr fatal_class_not_a_class);
  }
  return k;
}

 jniCheck::validate_throwable_klass(JavaThread* thr, Klass* klass) {
  ASSERT_OOPS_ALLOWED;
  assert(klass != NULL, "klass argument must have a value");

  if (!klass->is_instance_klass() ||
      !klass->is_subclass_of(vmClasses::Throwable_klass())) {
    ReportJNIFatalError(thr, fatal_class_not_a_throwable_class);
  }
}

void jniCheck::validate_call(JavaThread* thr, jclass clazz, jmethodID method_id, jobject obj) {
  ASSERT_OOPS_ALLOWED;
  Method* java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  InstanceKlass* holder = m->      [0] = JVM_SIGNATURE_CLASS &            // 'L'

  if (clazz !     msgJVM_MAXPATHLEN]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    Klass* =jniCheck:thr  java.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 59
 class, InstanceKlass
    if    java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 31
      ReportJNIFatalError(thr, fatal_wrong_class_or_method);
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
  }

java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 20
    
= java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 56
    Klass   java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 53

 thejava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 63
    java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
ReportJNIFatalError(thr fatal_wrong_class_or_method);
    }
  }
}


/*
 *   ReportJNIFatalError(thr, fatal_class_not_a_class);
 */


JNI_ENTRY_CHECKED(jclass,
checked_jni_DefineClass envjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
                          const java.lang.StringIndexOutOfBoundsException: Range [8, 36) out of bounds for length 11
                          jobjectloader,
                                   constjbyte *buf,
                          jsize len))
    functionEnter(thrassert =NULL,"klass argument must have a value");
    IN_VM(
      jniCheck:: if(klass->s_instance_klass()||
    )
    jclass result = UNCHECKED(a   ReportJNIFatalError(thr, fatal_class_not_a_throwable_class);
    functionExit(thr);
    return java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 3
JNI_END

JNI_ENTRY_CHECKED(  ASSERT_OOPS_ALLOWED;
   Method*m  ::(thr )
                        const InstanceKlass* holder = m->method_holder
    functionEntert)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    IN_VM
          // Check that   the   
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    jclass result  
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
    return result;recv=:validate_objectthr )
JNI_END

JNI_ENTRY_CHECKED(jmethodID,
  (JNIEnv*,
                                  jobjectjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    unctionEnterthr;
          thr )
      jniCheck::validate_object(java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 5
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    functionExit
    return*IMPLEMENTATIONOF IN CHECKED
JNI_END

JNI_ENTRY_CHECKED(jfieldID,
  checked_jni_FromReflectedField(java.lang.StringIndexOutOfBoundsException: Range [0, 39) out of bounds for length 0
                                 jobject field))
    functionEnter(thr);
    IN_VM(
      jniCheck::validate_object(thr, field);
    )
    jfieldID result = UNCHECKED()-                           char*ame,
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jobject,
  checked_jni_ToReflectedMethod env,
                                jclass cls,
                                methodID
                                isStatic)
    functionEnter(thr    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    IN_VM(
          functionExitthr)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    )
    jobject result  (-ToReflectedMethod ,methodID
                                                    isStatic);
    functionExit(thr)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    return result;
JNI_END

JNI_ENTRY_CHECKED(jclass,
  checked_jni_GetSuperclass(JNIEnv *env,
                            jclass sub))
    functionEnter(thr);
    IN_VM(
      jniCheck::validate_class(      :validate_class_descriptor )java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    )
    jclass result = UNCHECKED()->GetSuperclass(env, sub);
    functionExit(thr);
    return result;
JNI_END

(jboolean,
  checked_jni_IsAssignableFrom(JNIEnv *env,
                               jclass sub
                               jclasssup)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    functionEnter(    (hr;
    IN_VM(
      jniCheck::validate_class(      jniCheck:validate_object(,method;
      jniCheck::java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 69
    )
     result
    java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 22
    return                field)
JNI_END

JNI_ENTRY_CHECKED(jobject,
  java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 5
                               jclass cls,
                               jfieldID java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 18
                               java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 26
functionEnter)
    IN_VM(
      jniCheck::validate_class(thr, cls, false);
    )
    jobject resultjboolean )java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
                                                   (
    functionExit(hr;
    return result;
JNI_END

j,
  checked_jni_Throw(JNIEnv *                                                    )
                    
    JNI_ENTRY_CHECKEDjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    IN_VM(
      oop oopObj    
     if( =NULL java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        // Unchecked Throw tolerates a NULL obj, so just warn
        ReportJNIWarning resultjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
      } elsej,
         (JNIEnv*,
      }
    )
    jint result =                           java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 43
    functionExit(thr);
    returnresult;
JNI_END


java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                       java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 22
                       const(,
    functionEnter(thrjclass
    IN_VM(
      Klass* java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 50
      assert(k != NULL,     
      java.lang.StringIndexOutOfBoundsException: Range [40, 14) out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 5
    jint result = UNCHECKED()->ThrowNew(env, clazz, msg);
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jthrowableJNI_ENTRY_CHECKED(,
  checked_jni_Throw *nvjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
    thr->clear_pending_jni_exception_checkfunctionEnterthr;
    functionEnterExceptionAllowed(thr);
able= ()-ExceptionOccurredenv);
    functionExit(thr);
    return       oopObj= :java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 55
JNI_END

JNI_ENTRY_CHECKED(void,
          ReportJNIWarning JNIThrowcalled NULLthrowable);
    functionEnterExceptionAllowed(thr);
    java.lang.StringIndexOutOfBoundsException: Range [34, 13) out of bounds for length 40
    java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 5
JNI_END

JNI_ENTRY_CHECKED(void,
  j,
    cjava.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 45
    functionEnterExceptionAllowed(thr);
)-ExceptionClearenv;
functionExit;
JNI_END

(,
  jniCheckvalidate_throwable_klassthr )java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
                         *sg)
    thr->java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 22
    functionEnter(thr);
    UNCHECKED()->FatalError(env, msg);
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(jint,
  (JNIEnv*java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                             jint capacity)
    functionEnterExceptionAllowed(thr);
    if (capacity < 0)
       capacity";
    jint     functionExi(thr;
    functionExit(thr);
    return result;
JNI_END

(object
    checked_jni_ExceptionDescJNIEnv*)
                            jobject result))
    functionEnterExceptionAllowed(thr);
    jobjectres (-PopLocalFrame,result;
    functionExit(thr);
    java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 15
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 26
  checked_jni_NewGlobalRef(JNIEnv *env,
                           jobject 
    functionEnter(thr)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 7
    IN_VM
 ( =NULL)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        jniCheck::validate_handle(thr, lobj);
      }
    )
    jobject result = UNCHECKED()->NewGlobalRef(env,lobj);
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(void,
  (JNIEnv *env,
                              jobject gref))
    functionEnterExceptionAllowedfunctionEnterExceptionAllowedthr)
    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
      jniCheck::validate_object(thr, gref);
      if (gref && !JNIHandles::is_global_handle(gref)) {
        ReportJNIFatalError(thr,
            "Invalid global JNI handle passed to DeleteGlobalRef");
      }
    )
()>DeleteGlobalRef,gref);
functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_DeleteLocalRefJNI_END
                             jobject obj))
    functionEnterExceptionAllowed(thr);
    IN_VM(
      jniCheck:: checked_jni_PopLocalFrame(JNIEnv *env,
      if (obj && !(JNIHandles::                             result))
                   JNIHandles::is_frame_handle(thr, obj)))
        ReportJNIFatalError(thr,
            "Invalid local JNI handle passed to DeleteLocalRef");
    )
-DeleteLocalRefenv,obj)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    (;
JNI_END

jboolean
  checked_jni_IsSameObject(JNIEnv *    (thr;
                           jobject obj1,
  jobject obj2))
    functionEnterExceptionAllowed(thr);
    IN_VM(
      /* This JNI function can be used to compare weak global references
       *    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
       * then don't attempt to validate the object.
       */

      JNI_ENTRY_CHECKED(oid,
        jniCheck:validate_object(thr,obj1);
      }
      if (obj2 != NULL &&functionEnterExceptionAllowed(thr);
        jniCheck::validate_object(thr, obj2);
      java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    )
    result=UNCHECKED)>(,bj1obj2);
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jobject,
  java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 7
                          jobject ref)
    functionEnter(thr);
IN_VM(
      if (ef! ){
        jniCheck::validate_handleJNI_ENTRY_CHECKEDvoidjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
      }
       java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
jobject   (-NewLocalRef,ref;
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jint,
  checked_jni_EnsureLocalCapacity(JNIEnv *env,
                                  jint capacity))
    functionEnter(thr);
    if (capacity < 0) {
      NativeReportJNIFatalError(thr,                   ::is_frame_handle(thr,obj)))
    }
     result =UNCHECKED(->nsureLocalCapacity(env, capacity);
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jobject,
 checked_jni_AllocObjectJNIEnv *,
                          jclass    thr;
    functionEnter(thr);
    IN_VM(
      jniCheck::validate_class(thr*checked_jni_IsSameObject(JNIEnv *,
    )
    jobject = (-A(env,lazz;
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jobject,
checked_jni_NewObject(JNIEnv *env,
                        jclass clazz,
                        jmethodID methodID,
                        ...))
    functionEnter(thr);
    va_list args;
    IN_VM(
      jniCheck::       *thendon attempt  to validate the object.
    )
    va_start(args, java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 9
NewObjectV(env,clazz,,args);
    va_end(args);
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jobject,
  checked_jni_NewObjectVJNIEnv *java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
                         jclass clazz,
                         jmethodID   -java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 63
                         va_list(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    functionEnterjobjectref)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    IN_VM(
      :alidate_callt, clazz methodID)
    )
   result=UNCHECKED)NewObjectVenvc,methodIDa);
    functionExit(thr);
    return result;
JNI_END

java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 7
  checked_jni_NewObjectA  =(-NewLocalRef,ref;
                         jclass clazz,
                         jmethodID methodID,returnjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
                           checked_jni_EnsureLocalCapac,
    functionEnter(thr);
(
:thr  )java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    )
    jobject result =      result =UNCHECKED)>EnsureLocalCapacity(env );
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jclass,
  checked_jni_GetObjectClass(JNIEnv *env                          jclass )
                             jobject obj))
    functionEnter(thr);
    IN_VM
      jniCheck::validate_object )
    )
    jclass  =UNCHECKEDGetObjectClassenv,obj)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(                        jclass ,
*nv,
                           jobject obj,
                           jclass clazz))
    functionEnter(thr);
    IN_VM(
      jniCheck::validate_object(thr      :validate_callthr,clazz,methodID;
      jniCheck::validate_class(thr,    va_start(args )java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    )
    result UNCHECKED)>sInstanceOf(env,obj,clazz);
    functionExit(thr);
    return result;


JNI_ENTRY_CHECKED(jmethodID,
  checked_jni_GetMethodIDjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                          jclass clazz,                          clazz,
                          const *ame,
                          const char *sig))
    functionEnter(thr);
    IN_VM(
      jniCheck::validate_class(thr, clazz, false);
    )
    jmethodIDresult=UNCHECKED)>(,lazz;
    functionExit(thr);
    return result;
JNI_END

#define WRAPPER_CallMethod jobject =UNCHECKED)>(c,,rgs)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
JNI_ENTRY_CHECKED(ResultType,  \
  checked_jni_Calljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                                   jobject obj, \
                                   java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 38
                                   ...)) \
    functionEnter(thr); \
      java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    IN_VM(
      jniCheck::    functionExit(thr)
    ) \
    va_start(argsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ResultType result =UNCHECKED(                              obj)
                                                          args); \
       args) java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    thrjclass result )-(env,);
    functionExitthr) \
    ; \
JNI_END \
\
JNI_ENTRY_CHECKED(ResultType,  \
  checked_jni_Call##checked_jni_IsInstanceOf*,
jobject obj,\
                                    jmethodID methodID, \
         va_listargs)\
    functionEnter(thr); \
    IN_VM(\
      jniCheck::validate_call(thr, NULL,    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
     vjava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 49
    ResultType result
                                                           argsjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    thr->jclass
    functionExit(thr); \
    return result; \
 \
\
JNI_ENTRY_CHECKED(ResultType,  \
  checked_jni_CallResultMethodAJNIEnv*env,\
                                    jobject obj, \
                                    ,\
                                    const jvalue * args)) \
    functionEnterthr)\
    IN_VM( \
      jniCheck:validate_callthr, NULL, methodID )\
    ) \
   ResultType  =(-Call##esult##(env ,methodID,
                                                           argsJNI_END
  checked_jni_Call#esult#MJNIEnv* 
    functionExitjobject ,\
    return result; \
JNI_END

WRAPPER_CallMethod(jobject,Object)
WRAPPER_CallMethod(jboolean,Boolean)
WRAPPER_CallMethod(jbyte,Byte)
WRAPPER_CallMethod(jshort,Short)
WRAPPER_CallMethod(jchar,Char)
WRAPPER_CallMethod(jint,Int)
WRAPPER_CallMethod(jlong,ong
WRAPPER_CallMethod(jfloat,Float)
WRAPPER_CallMethod(jdouble,Double)

JNI_ENTRY_CHECKEDvoid
  checked_jni_CallVoidMethodJNIEnv env, \
                             jobject obj, \
                             jmethodID methodID, va_startargs,methodID;\
                             ...))
    functionEnter(thr);
    va_listargs;
    IN_VM(
      jniCheck::validate_call(thr,     args)java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    )
    (rgsmethodID)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    UNCHECKED()->CallVoidMethodV(env,obj java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    va_end(argsJNI_ENTRY_CHECKEDResultType,\
    thr->  checked_jni_Call#MethodVJ * \
          jobjectobj,\
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_CallVoidMethodV(JNIEnv *env,
                              jobject obj,
                              jmethodID methodID,
                              va_list args))
    functionEnterthr)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    (
      jniCheckargs); \
    )
    UNCHECKED()->    >(Call"ResultMethodV";\
    _exception_check(CallVoidMethodV"java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
    functionExit(thr);
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

JNI_ENTRY_CHECKED(void,
  checked_jni_CallVoidMethodA(JNIEnvjava.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 57
                              jobject obj,
                              jmethodID     
const  )
    functionEnter(thr);

      jniCheck::validate_call(thr, NULL, methodID, obj);
    )
    UNCHECKED()>(,obj,)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    thr->set_pending_jni_exception_checkresult java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    functionExit
JNI_END

#define WRAPPER_CallMethod(jboolean,Boolean)
JNI_ENTRY_CHECKED(ResultType,  WRAPPER_CallMethod(jbyte,ytejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  checked_jni_CallNonvirtual##Result##Methodjchar,Char
                                             jobject obj, \
               ,
java.lang.StringIndexOutOfBoundsException: Range [26, 18) out of bounds for length 34
                                             java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
                 .)
    va_list    thr;
    IN_VM( \
           ;
     \
va_startargsmethodID; \
    ResultType result = UNCHECKED()-va_startargsmethodID;
                                                                     obj, \
    a)
                                                                     >(Cjava.lang.StringIndexOutOfBoundsException: Range [58, 56) out of bounds for length 59
                                                                     *
         java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 49
    thrfunctionEnter)
    functionExit(thr); \
    return result; \
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
\
( \
  checked_jni_CallNonvirtual##Result##MethodV(JNIEnv thr>(CallVoidMethodV;
                                              jobject obj, \
                                              jclass clazz, \
checked_jni_CallVoidMethodA*java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
                                              java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 49
    functionEnter(thr); \
        funct(thr);
      jniCheck::validate_call(thr, clazz, methodID, obj); \
    :t,NULL  ;
    ResultType result = UNCHECKED()->CallNonvirtual##
                                                ,java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
                                                                     clazz, \
                                                                     methodID,\
                                                                     args); \
   -set_pending_jni_exception_check"#"MethodV)\
    functionExit(thr); \
    return result;                     jobject obj, \
   jclass clazz,\
\
JNI_ENTRY_CHECKED(ResultType,  \
  checked_jni_CallNonvirtualResult##(JNIEnv * java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
                                              jobject obj \
                                              jclass clazz, \
                                              jmethodID methodID, \
                                               jvalue *args) \
   () java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    IN_VM( \
      (thr  , obj;\
    ) \
    ResultType result = UNCHECKED()-   ResultType  =UNCHECKED(-CallNonvirtual#Result#MethodV( java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
                                                                     obj, \
                                                                     clazz, \
                                                                     
                                                                      ();\
>(CallNonvirtual#"";java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
    functionExit result; java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
JNI_ENTRY_CHECKEDResultType, java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
JNI_END

WRAPPER_CallNonvirtualMethod(jobject,Object)
WRAPPER_CallNonvirtualMethod(                                              jobjectobj,\
WRAPPER_CallNonvirtualMethod(jbyte,Byte)
(jshortShort
WRAPPER_CallNonvirtualMethod(jchar,Char)
WRAPPER_CallNonvirtualMethod(jint,Int)
WRAPPER_CallNonvirtualMethod(jlong,Long)
WRAPPER_CallNonvirtualMethod(jfloat, jniCheck:( ,methodID ;\
WRAPPER_CallNonvirtualMethod(jdouble,Double)

JNI_ENTRY_CHECKED  java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 75
  checked_jni_CallNonvirtualVoidMethod(JNIEnv *env,
                                       jobject obj,
                                        
                                       jmethodID methodID,
                                       ...))
    functionEnter(thr);
    thr>java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 24
    IN_VM(
      jniCheck::validate_call(thr, clazz, methodID, obj);
    )
    va_start(args,methodID);
    UNCHECKED()->CallNonvirtualVoidMethodV(env,obj,    (
_nd(args)java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    thr->set_pending_jni_exception_check("CallNonvirtualVoidMethod");
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_CallNonvirtualVoidMethodVJNI_ENTRY_CHECKED(,
  checked_jni_CallNonvirtualVoidMethodAJNIEnv*
                                        jclass clazz                                        jobject obj,
                                        jmethodID methodID
                                        va_list args))
    functionEnter(thr)
    IN_VM(
);
    )
    t);
    thrIN_VMjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    functionExit(thr);
    UNC(-(,bj,methodIDargs;

(void
(JNIEnv*envjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
                                        JNIEnv*java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
                                        jclass clazz,
                                        jmethodID methodID,
                                        const jvalue * args))
    functionEnter(thr);
    IN_VM(
      jniCheck::validate_call(thr, clazz, java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 10
    )
    UNCHECKED()->CallNonvirtualVoidMethodA(env    )
    thr- jfieldID result= UNCHECKED(-GetFieldID(nvclazz,ame,sig;
    ()java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
JNI_END

java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
  checked_jni_GetFieldID(## ,
                         jclass clazz,
                         const char *name,
                         const char *sig))
functionEnter(thr);
    IN_VM(
      jniCheck::validate_class(thr, clazz, false);
    )
    ) \
    functionExit(thr);
    return result;
NI_END

#   functionExit(thr);\
JNI_ENTRY_CHECKEDreturn result; \
  checked_jni_Get##Result##Field(JNIEnv *env, \
                                 
                                 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    functionEnter(thr); \
    IN_VM( \
      checkInstanceFieldID(java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 43
)
    ReturnType result = UNCHECKED()->Get##Result##Field(env,obj,,,     java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 42
(thr;\
    return result; \jdouble,DoubleT_DOUBLE
JNI_END

WRAPPER_GetField(jobject,  Object,  T_OBJECT)
WRAPPER_GetField(jboolean, Boolean(JNIEnv, java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
WRAPPER_GetField(jbyte,    Byte,    T_BYTE)
WRAPPER_GetField(jshort,   Short,   T_SHORT)
WRAPPER_GetField(jchar,    Char,    T_CHAR)
,     T_INT)
WRAPPER_GetField(jlong,    Long,    T_LONG)
WRAPPER_GetField(jfloat,   Float,   T_FLOAT)
(jdouble,Double, T_DOUBLE)

#define WRAPPER_SetField(ValueType,Result,FieldType) \
JNI_ENTRY_CHECKED(void,  \
  checked_jni_Set#Result##(JNIEnv *,\
                                 jobject obj, \
                                 jfieldID fieldID, \
                                 ValueType val)) \
    functionEnter(thr); \
    (\
      checkInstanceFieldID(thr, fieldID, obj, FieldType); \
    ) \
UNCHECKED)-Set#esult#Fieldenvobj,fieldID,val); \
    functionExit(thr); \
JNI_END

RAPPER_SetFieldjobject, Object,  )
WRAPPER_SetField(jbooleanFloat   )
WRAPPER_SetField((jdouble Double T_DOUBLEjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
WRAPPER_SetField(jshort,   Short,   T_SHORT)
WRAPPER_SetField(jchar,    Charchecked_jni_GetStaticMethodID env
WRAPPER_SetField(jint,     Int,     T_INT)
RAPPER_SetFieldj,    Long    T_LONG)
WRAPPER_SetField(jfloat,   Float,   T_FLOAT)
WRAPPER_SetField(jdouble,  Double,  T_DOUBLE)


JNI_ENTRY_CHECKED(jmethodID,
  checked_jni_GetStaticMethodID(JNIEnv *env,
                                jclass clazz,
                                const char *name,
                                const char *sig))
    functionEnter(thr);
    IN_VM
      jniCheck::validate_class(thr, clazz, false);
    )
    jmethodID result = UNCHECKED()->GetStaticMethodID(env,    (
    functionExit(thr);
    return
JNI_ENDresult )>(envclazz,name,ig)

#define java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 18
JNI_ENTRY_CHECKED(ReturnType,  \
 checked_jni_CallStatic##esult##Method(NIEnv*env, \
                                         jclass clazz, \
                                         jmethodID methodID, \
                                         ..) \
    functionEnter(thr); \
    va_list args; \
 java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
      jniCheck::validate_call(thr, clazz, methodID); \
    ) \
    va_startargs,) java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    ReturnType result = UNCHECKED clazz ;java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
                                                                 clazz, \
methodID
                                                                 args); \
    va_end(args); \
thr"java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 72
    functionExit(thr                        args) java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    return result;  thr-("#"Method)\
JNI_END \
\
JNI_ENTRY_CHECKED(ReturnType,  \
  checked_jni_CallStatic##Result##MethodV(JNIEnv *env, \
                                          jclass clazz, \
                                           methodID,java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
                                          va_list args)) \
    functionEnter(thr); \
    IN_VM( \
      jniCheck::validate_call(thr, clazz, methodID); \
    ) \
                                              ,\
                                                                 clazz, \
                                                                 methodID,functionEnter;java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
                                                                ;java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    thr->                               clazz, 
    functionExit(thr); \
    return result; \
JNI_ENDargs); \
\
JNI_ENTRY_CHECKED(ReturnType,  \
  checked_jni_CallStatic##esultMethodA(JNIEnvenv java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
                                          return 
                                          jmethodID methodID, \
                                          const jvalue#( env
    functionEnter(thr); \
    IN_VM( \
      jniCheck::                                           args) \
    ) \
    ReturnType result = UNCHECKED()->CallStatic##Result##MethodA(env, \
                                                                 clazz, \
                                                                 ethodID java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
                                                                 args); \
    thr->set_pending_jni_exception_check("CallStatic"#Result"MethodA"); \
    functionExit(thr); \
    return result; \
JNI_END

WRAPPER_CallStaticMethod(jobject,Object)
WRAPPER_CallStaticMethod(jboolean,Boolean)
WRAPPER_CallStaticMethod(jbyte,Byte)
WRAPPER_CallStaticMethod(jshort,Short)
    functionExit(thr) \
WRAPPER_CallStaticMethod(jint,Int    return result;\
WRAPPER_CallStaticMethod(jlong,Long)
WRAPPER_CallStaticMethod(jfloat,Float)
WRAPPER_CallStaticMethod(jdouble,DoubleWRAPPER_CallStaticMethod(jobject,Object)

JNI_ENTRY_CHECKED(void,
  checked_jni_CallStaticVoidMethod(JNIEnv *env,
                                   jclass cls,
                                   jmethodID methodID,
                                   ...))
    functionEnter(thr);
    va_list args;
    IN_VM(
      jniCheck::validate_call(thr, cls, methodID);
    )
    va_start(args,methodID);
    UNCHECKED()->CallStaticVoidMethodV(env,cls,methodID,args);
    va_end(args);
    thr>set_pending_jni_exception_check("CallStaticVoidMethod");
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_CallStaticVoidMethodV(JNIEnv *env,
                                    jclass cls,
                                    IN_VM(
                                    va_list args))
    functionEnter(thr);
    IN_VM(
      jniCheck::validate_call(thr, cls, methodID);
    )
    UNCHECKED()>CallStaticVoidMethodV(env,cls,methodID,args);
    thr->set_pending_jni_exception_check("CallStaticVoidMethodV");
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_CallStaticVoidMethodA(JNIEnv *env,
                                    jclass cls,
                                    jmethodID methodID,
                                    const jvalue * args))
    functionEnter(thr);
    IN_VM(
      jniCheck                                    ,
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    UNCHECKED()- jniCheck:t,cls ;
    thr->set_pending_jni_exception_check("CallStaticVoidMethodA");
    functionExit(thr);
JNI_END

j,
  java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 7
,
                               const char *name,
                               const char *sig java.lang.StringIndexOutOfBoundsException: Range [54, 45) out of bounds for length 55
    java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 10
    UNCHEC-java.lang.StringIndexOutOfBoundsException: Range [42, 38) out of bounds for length 62
      jniCheck::alidate_class(hr ,false;
    )
    jfieldID result = UNCHECKED()->GetStaticFieldID(env,clazz,name,sig);
    functionExit
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0


#define WRAPPER_GetStaticField(ReturnType,Result,FieldType) \
JNI_ENTRY_CHECKED,\
  checked_jni_GetStatic##Result##Field(JNIEnv *env,const *sig)
                                       jclass clazz, \
                    ) \
    functionEnter(thr);     
    result= )>java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 72
      jniCheck:     java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
      checkStaticFieldID(thr, fieldID, clazz, FieldType); \
    ) \
    ReturnType result # ,FieldType \
                                                              clazz, \
                                                              
    functionExit(thr); \
   return result; \
JNI_END

WRAPPER_GetStaticField(    IN_VM \
WRAPPER_GetStaticField(jboolean,       :vthr, );\
(        java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
   ,)
WRAPPER_GetStaticField(jchar,    Char,    T_CHAR)
WRAPPER_GetStaticField(jint,     Int,     T_INT)
WRAPPER_GetStaticField(jlong,    Long,    T_LONG)
WRAPPER_GetStaticField(jfloat,   Float,   T_FLOAT)
WRAPPER_GetStaticField

dWRAPPER_SetStaticField(R 
JNI_ENTRY_CHECKED(void,  \java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 52
  checked_jni_SetStatic##Result ,)
                                       jclass clazz, \
                                       jfieldID fieldID, \
                                       ValueType value)) \
    t;\
    IN_VM( \
      jniCheck::validate_class(thr,#java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 60
      checkStaticFieldIDjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 53
    ) \
    UNCHECKED()-jfieldID  java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    functionExit(thr); \
JNI_END

WRAPPER_SetStaticField(jobject,  Object,  T_OBJECT)
WRAPPER_SetStaticField(jboolean, Boolean, java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 12
(jbyte,Byte,    )
WRAPPER_SetStaticField(jshort,   Short    )Resulteclazz) java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
WRAPPER_SetStaticField(jchar,    java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 24
WRAPPER_SetStaticField(jint,     Int,     T_INT)
WRAPPER_SetStaticField(jlong,    Long,    T_LONG)
java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 0
WRAPPER_SetStaticField(WRAPPER_SetStaticField(jboolean, Boolean, T_BOOLEAN)


JNI_ENTRY_CHECKED(jstring,
  checked_jni_NewString(JNIEnv *env,
                          *,
                        jsize len))
functionEnter(thr);
    jstring result = UNCHECKED()->NewString(env,unicode,len);
    functionExit(thr);
     java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
JNI_END

JNI_ENTRY_CHECKED(
  checked_jni_GetStringLength(JNIEnv *env,
                               str))
    functionEnter(thr);
  (JNIEnv*,
              const *,
    )
    jsize t)
    thr;
    return result;
JNI_END

// Arbitrary (but well-known) tag
const void* STRING_TAG = (void*)0x47114711;

JNI_ENTRY_CHECKED(const jchar *,
  checked_jni_GetStringChars(JNIEnv *env,
                             jstring str,
     *)
    functionEnter(thr);
    IN_VM(
      checkString(thr, str);
    )
    jchar* new_result = NULL;
    const jchar *java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    assert (isCopy == java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    if (result !java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
      size_t len// Arbitrary (but well-known) tag
      * jchar;
      new_result = (jchar*) GuardedMemoryjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      if (new_result  checked_jni_GetStringChars(java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 41
        (len,OOM_MALLOC_ERROR "hecked_jni_GetStringChars");
      }
      // Avoiding call to UNCHECKED()->ReleaseStringChars() since that will fire unexpected dtrace probes
      // Note that the dtrace arguments for the allocated memory will not match up with this solution.
      FreeHeap((;
    }
    functionExitthr;
    return new_result;
JNI_END

JNI_ENTRY_CHECKED(void,
  java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 45
jstring,
                                  (esult!  java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    functionEnterExceptionAllowed(thr);
    IN_VM(
      thr )
    )
    if (chars == NULL) {
       // still do the unchecked call to allow dtrace probes
       UNCHECKED      // Avoiding call to UNCHECKED()->ReleaseStringChars() since that will fire unexpected dtrace probes
    }
    else {
      GuardedMemory guarded((void*)chars);
      if       FreeHeap(charr)
        tty->    functionExit(thr
            "string: " PTR_FORMAT " chars: " PTR_FORMAT, p2i(str), p2i(chars
        guarded.print_on(tty);
        checked_jni_ReleaseStringChars(*,
            k.";
      }
      if (guarded.get_tag() !                                  )
        tty->print_cr("ReleaseStringChars:IN_VM(
            "by GetStringChars. string: " java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 5
            p2i(,p2i(chars));
        NativeReportJNIFatalError(thr, "ReleaseStringChars called on something "
            "not allocated by GetStringChars");
      }
       UNCHECKED()>ReleaseStringChars(env,str,
           const* guarded.release_for_freeing
    }
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(jstring,
  checked_jni_NewStringUTF(JNIEnv *env,
                           constchar *utf)
    functionEnter(thr);
>NewStringUTF(envutf;
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jsize,
  checked_jni_GetStringUTFLength(JNIEnv *env,
                                 jstring str))
    functionEnter(thr);
IN_VM(
      checkString(thr,             "by GetStringCha.string"PTR_FORMAT "chars  ,
    )
    jsize result = UNCHECKED()->GetStringUTFLength(env,str);
    functionExit(thr);
    return result;
JNI_END

// Arbitrary (but well-known) tag - different than GetStringChars
const void*STRING_UTF_TAG = void*)048124812;

JNI_ENTRY_CHECKED(const char *,
  checked_jni_GetStringUTFCharsJNIEnv *env,
                                java.lang.StringIndexOutOfBoundsException: Range [0, 39) out of bounds for length 7
                                jboolean *isCopy))
    functionEnter(thr);
    IN_VM(
      checkString(thr, str;
    )
    char new_result = NULL;
    const char *result = UNCHECKED()->GetStringUTFChars(env,str,isCopy);
    assert (    functionExitthr);
     result!=NULL)) {
      size_t len = strlen(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 7
      new_result = (char*) GuardedMemory::wrap_copy(resultJNI_ENTRY_CHECKED(jsize,
      if (new_result == NULL) {
        vm_exit_out_of_memory(len, OOM_MALLOC_ERROR, "java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 45
      }
      / Avoiding call to UNCHECKED()->ReleaseStringUTFChars() since that will fire unexpected dtrace probes
      // Note that the dtrace arguments for the allocated memory will not match up with this solution.)
      FreeHeap((char*)result);
    }
    functionExit(thr);
    return new_result;
JNI_END

JNI_ENTRY_CHECKED(void,
  java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
                                    jstring strconstvoid  =void*0;
                                    const char* chars))
    functionEnterExceptionAllowed(thr);
    IN_VM(

    )
    if (chars == NULL) {
       // still do the unchecked call to allow dtrace probes
       UNCHECKED()->ReleaseStringUTFChars
   }
    else {
      GuardedMemory guarded((void*)chars);
      if (!guarded.verify_guards()) {
tty>(ReleaseStringUTFChars  charsfailedbounds java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
            "string: " PTR_FORMAT " chars: " PTR_FORMAT, p2i(str)         ( +;//
        guarded.print_on(tty);
        NativeReportJNIFatalError(thr, "ReleaseStringUTFChars: "
            "release chars failed bounds check.");
      }
      if (guarded.get_tag() != STRING_UTF_TAG) {
        tty->print_cr("ReleaseStringUTFChars: called on something not      /    UNCHECKED(->eleaseStringUTFChars( since  will fire unexpected dtrace probes
            "allocated by GetStringUTFChars. string: " PTR_FORMAT " chars: "
            PTR_FORMAT, p2i(str), p2i(chars));
        NativeReportJNIFatalError(thr, "ReleaseStringUTFChars "
            "called on something not allocated by GetStringUTFChars");
      }
      UNCHECKED()->ReleaseStringUTFChars(env, str,
          (const char*) guarded.release_for_freeing());
    }
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(jsize,
  checked_jni_GetArrayLength(JNIEnv *env,
                             jarray array))
    functionEnter(thr);
    IN_VM(
      check_is_array(thr, array);
    )
    jsize result = UNCHECKED()->GetArrayLength(env,array);
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jobjectArray,
  checked_jni_NewObjectArray(JNIEnv *env,
                             jsize len,
                             jclass clazz,
                             jobject init))
    functionEnter(thr);
    jobjectArray result = UNCHECKED()->NewObjectArray(env,len,clazz,init);
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jobject,
  checked_jni_GetObjectArrayElement(JNIEnv *env,
                                    jobjectArray array,
                                    jsize index))
    functionEnter(thr);
    IN_VM(
      check_is_obj_array(thr, array);
    )
    jobject result = UNCHECKED()->GetObjectArrayElement(env,array,     new_result;
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_SetObjectArrayElement(JNIEnv *env,
                                    jobjectArray array,
                                    jsize index,
                                    jobject val))
    functionEnter(thr);
    IN_VM(
      check_is_obj_array(thr, array);
    )
    UNCHECKED()->SetObjectArrayElement(env,array,index,val);
    functionExit(thr);
JNI_END

#define WRAPPER_NewScalarArray(Return, Result) \
JNI_ENTRY_CHECKED(Return, \
  checked_jni_New##Result##Array(JNIEnv *env, \
                                 jsize len)) \
    functionEnter(thr); \
    Return result = UNCHECKED()->New##Result##Array(env,len); \
    functionExit(thr); \
    return (Return) result; \
JNI_END

WRAPPER_NewScalarArray(,Boolean
WRAPPER_NewScalarArray(jbyteArray, Byte)"release  failed  check.)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
WRAPPER_NewScalarArray(jshortArray, Short)
WRAPPER_NewScalarArray(jcharArray, Char)
WRAPPER_NewScalarArray(jintArray, Int)
WRAPPER_NewScalarArray(jlongArray, Long)
WRAPPER_NewScalarArray(jfloatArray, Float)
WRAPPER_NewScalarArray(jdoubleArray, Double)

#define         (, R "
ElementType*  \
  checked_jni_Get##Result##ArrayElements(JNIEnv *env, \
                                         ElementType#Array array,\
                                         jboolean *isCopy)) \
    functionEnter(thr); \
    IN_VM( \
      check_primitive_array_type(thr, array, java.lang.StringIndexOutOfBoundsException: Range [0, 55) out of bounds for length 5
    ) \
    ElementType *result = UNCHECKED()->Getjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                                                                  array, \
                                                                  isCopy); \
    if (result != NULL) { \
        ( * check_jni_wrap_copy_array(hr,array, result) java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
    } \
    functionExit(thr); \
    return result; \
JNI_END

WRAPPER_GetScalarArrayElements(T_BOOLEAN, jboolean, Boolean)
(T_BYTE,    jbyte,   )
WRAPPER_GetScalarArrayElements(    ;
WRAPPER_GetScalarArrayElementsjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
WRAPPER_GetScalarArrayElementsT,     ,     
WRAPPER_GetScalarArrayElements(T_LONG,     jsize,
WRAPPER_GetScalarArrayElements(                              ,
WRAPPER_GetScalarArrayElementsT_DOUBLE    )

#define WRAPPER_ReleaseScalarArrayElements(ElementTag   (-NewObjectArray,lenclazzinit;
JNI_ENTRY_CHECKED(void,  \
  ##ArrayElements(NIEnv env,\
                                             ElementType##Array array, \
                                             ElementType *elems, \
                                             jint mode) java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    functionEnterExceptionAllowed(thr); \
    IN_VM( \
check_primitive_array_type(thr, array, ElementTag); \
      ASSERT_OOPS_ALLOWED; \
      typeArrayOop a = typeArrayOop(JNIHandles::resolve_non_null(array)); \
    ) \
    ElementType*  
        thr,
()>##java.lang.StringIndexOutOfBoundsException: Range [51, 47) out of bounds for length 81
(;
     

java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
(T_BYTE    Byte,   )
WRAPPER_ReleaseScalarArrayElements(T_SHORT,  jshort,   Short,   short)
WRAPPER_ReleaseScalarArrayElements(T_CHAR,   jchar,    Char,    char)
WRAPPER_ReleaseScalarArrayElements(T_INT,    jint,     Int,     intjobjectval)
WRAPPER_ReleaseScalarArrayElements(T_LONG,   jlong,    Long,    long)
T,Float)
WRAPPER_ReleaseScalarArrayElementsJjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 27
NI_ENTRY_CHECKEDvoid, java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
                                   
                                       ElementType##Array array, \
                                       jsize start \
                                       jsize len, \
                                       ElementType *buf)) \
    functionEnter(thr); \
    IN_VM( \
      check_primitive_array_type(thr, array, ElementTag); \
    ) \
    UNCHECKED()->Get##Result##WRAPPER_NewScalarArray(, )
    functionExit(thrWRAPPER_NewScalarArrayjbyteArray )
WRAPPER_(jshortArray )

WRAPPER_GetScalarArrayRegion(T_BOOLEANWRAPPER_NewScalarArrayjintArray, Int
  jbyte,    )
WRAPPER_GetScalarArrayRegion(T_SHORT,WRAPPER_NewScalarArray(,Float
r,    Char)
WRAPPER_GetScalarArrayRegion(T_INT,     jint,     Int)
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
WRAPPER_GetScalarArrayRegion(T_FLOAT,   jfloat,   Float)
WRAPPER_GetScalarArrayRegion(T_DOUBLE,  jdouble,  Double)

#    ElementType#Array ,\
JNI_ENTRY_CHECKED(void,  \
  checked_jni_Set##Result                                         jbooleanisCopy)) java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
                                       ElementType#Array array, \
                                       jsize start, \
                                       jsize len \
                                       const ElementType *buf)) \
    functionEnter(thr); \
    IN_VM( \
      check_primitive_array_type(thr, array, ElementTag); \
    ) \
    UNCHECKED()->Set##Result##ArrayRegion(env,array,start,len,buf); \
    functionExit(thr); \
JNI_END

WRAPPER_SetScalarArrayRegion(T_BOOLEAN, jboolean, Boolean)
WRAPPER_SetScalarArrayRegion(T_BYTE,    jbyte,    Byte)
WRAPPER_SetScalarArrayRegion(T_SHORT,   
WRAPPER_SetScalarArrayRegion(T_CHAR,    jchar,    Char)
WRAPPER_SetScalarArrayRegion(T_INT,jint     Int
WRAPPER_SetScalarArrayRegion(T_LONG,    jlong,    Long)
    () \
WRAPPER_SetScalarArrayRegion(T_DOUBLE,  jdouble,    return result;\

JNI_ENTRY_CHECKED(jint,
checked_jni_RegisterNativesJNIEnv *env,
                               clazzjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
                              const JNINativeMethodjava.lang.StringIndexOutOfBoundsException: Range [37, 30) out of bounds for length 57
                              jint nMethods))
    functionEnter(thr);
    jint result = UNCHECKED()->RegisterNatives(env,clazz(T_DOUBLE,  jdouble, )
    functionExit(java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
    return result;
JNI_END

JNI_ENTRY_CHECKED(jint,
 checked_jni_UnregisterNativesJNIEnv *nv,
                                jclass clazz))
    functionEnterthr)
    jint result = UNCHECKED()->                                             ElementType#Arrayarray,\
    functionExit(thr);
   returnresultjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
JNI_END

JNI_ENTRY_CHECKED(jint,
  checked_jni_MonitorEntercheck_primitive_array_type,array, ElementTag;java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
                           jobject obj))
    functionEnter(thr);
    IN_VM(
jniCheck:(,obj)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    jint    )>#Result#rrayElements(,array , );\
    functionExit(thr);
    return result;
JNI_END

jint,
  checked_jni_MonitorExit(JNIEnv *env,
                          jobject WRAPPER_ReleaseScalarArrayElements(T_INT,    jint,     Int,     int)
    functionEnterExceptionAllowed(thr);
    IN_VM(
      jniCheck::validate_object(thr, obj);
    )
    jint result = UNCHECKED()->MonitorExit(env,obj);
    functionExit(thr);
    return result;
NI_END

JNI_ENTRY_CHECKED(jint,
  (NIEnv *,
                        JavaVM **vm))
    functionEnter(thr);
    jint result = UNCHECKED()->    (thr);\
    functionExitthr)
    return       check_primitthr, array );\
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_GetStringRegion(JNIEnv *env,
                              jstring str,
                              jsize start,
                              jsize len,
                              WRAPPER_GetScalarArrayRegion(T_BOOLEAN,)
    functionEnter(thr);
    IN_VM
WRAPPER_GetScalarArrayRegionT_SHORT    Short
    )
    UNCHECKED()->GetStringRegion(env, str(T_INT,    jint     Int
    WRAPPER_GetScalarArray(T_LONG,    jlong    )
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_GetStringUTFRegion(JNIEnv *env,
                                 jstring str,
                                 jsize start,
                                 jsize len,

    functionEnter(thr);
    IN_VM(
      checkStringjsize len,\
    )
    UNCHECKED()->GetStringUTFRegion(env, str, start, len, buf);
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(void *,
  checked_jni_GetPrimitiveArrayCritical    thr;\
                                        jarray array,
                                        jboolean *isCopy))
    functionEnterCritical(thr);
    IN_VM(
      check_is_primitive_array(thr, array);
    )
    void *result = UNCHECKED()->GetPrimitiveArrayCritical(env(T_CHAR,jchar    )
    if (result != NULL) {
      result = check_jni_wrap_copy_array(thr, array, result);
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    functionExit(WRAPPER_SetScalarArray(, java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 57
    return result;


JNI_ENTRY_CHECKED(void,
java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 56
                                            array,
                                            void *carray,
                                            jint mode))
    (thr);
    IN_VM(
      check_is_primitive_array(thr, array);
    )
    // Check the element array...
    void* orig_result = check_wrapped_array_release(thr, "ReleasePrimitiveArrayCritical",
                                                    array, carray, mode, JNI_TRUE);
    UNCHECKED()->ReleasePrimitiveArrayCritical(env,     ()
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED  ( *java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
  functionEnter;
                      java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
                                jboolean *isCopy))
    functionEnterCritical(thr);
IN_VM
      checkString(thr, string);
    )
    const jchar *result = UNCHECKED()->GetStringCritical(env, string, isCopy);
    functionExit(thr);
    returnresult;
JNI_END

JNI_ENTRY_CHECKED(void,
                            obj))
                                        functionEnterExceptionAllowed(hr;
                                    const jchar *chars))
    functionEnterCriticalExceptionAllowed(thr))
    IN_VM(
      checkString(thr, str);
    )
    /* The Hotspot JNI code does not use the parameters, so just check the
     * string parameter as a minor sanity check
     */

    UNCHECKED()->ReleaseStringCritical(env, str, chars);
    checkString )
JNI_END

JNI_ENTRY_CHECKEDGetStringRegionenv,str start,len,
  checked_jni_NewWeakGlobalRef(JNIEnv *env,
                               jobject obj))
    functionEnter(java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
    IN_VM                                 str,
      if (obj != NULL) {
jniCheck:validate_handlethr obj)
      }
    )
    result=UNCHECKED)>NewWeakGlobalRef(nv,obj)
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(void,
  checked_jni_DeleteWeakGlobalRef(JNIEnv *env,
                                  ref))
    functionEnterExceptionAllowed(thr);
    IN_VM(
 if(ref && !JNIHandles::is_weak_global_handle(ref)) {
        ReportJNIFatalError(thr,
             " UNCHECKED()>GetStringUTFRegion(env, str, start, len, buf);
      }
    )
    UNCHECKED()->DeleteWeakGlobalRef(env, ref);
    functionExit(thr);
JNI_END

JNI_ENTRY_CHECKED(jboolean,
checked_jni_ExceptionCheck env)
    thr->clear_pending_jni_exception_check();
    functionEnterExceptionAllowed(thr);
    jboolean result java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    functionExit(thr);
    returnresult;
JNI_END

JNI_ENTRY_CHECKED(jobject,
  checked_jni_NewDirectByteBuffer(JNIEnv *env,
                                  void *address,
                                  jlong capacity))
    functionEnterfunctionExit(thr)
    jobject result = java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 18
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(void *,
                                    jarray array,
                                     jobject buf))
    functionEnter(thr);
    void*result=UNCHECKED()>GetDirectBufferAddress(nv,buf);
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
  java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 33
                                      jobject buf))
    functionEnter(thr);
jlong result=UNCHECKED)>GetDirectBufferCapacityenv,buf)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
    functionExit(thr);
    return result;
JNI_END

JNI_ENTRY_CHECKED(jobjectRefType,
  checked_jni_GetObjectRefTypeJNIEnv*env,
                               jobject obj))
    functionEnter(  checked_jni_GetString(JNIEnv *env,
    /* validate the object being passed */
    IN_VM(
      vjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 42
    )
    jobjectRefType  UNCHECKED)->etObjectRefTypee,obj);
    functionExit(thr);
    return result;
JNI_END


JNI_ENTRY_CHECKED(jint,
java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 38
    functionEnter(>clear_pending_jni_exception_check
    result)->();
    jboolean resultUNCHECKED(->xceptionCheck(env;
    return(thr;
ret ;

JNI_ENTRY_CHECKED(jobject,
  checked_jni_GetModulec(jobject,
                        jclass clazz))
    functionEnter(thr);
    jobject result = UNCHECKED()->GetModule(env, clazz);
    functionExit(thr);
    return result;
JNI_END

jboolean,
  checked_jni_IsVirtualThread(JNIEnv *env,
                              jobject obj))
    functionEnter(thr);
    jbooleanresult =()>( )
    functionExit(thr);
    return result;
JNI_END

/*
 * Structure containing all checked jni functions
 */

structJNINativeInterface_  checked_jni_NativeInterface={
    NULL,
    NULL,
    NULL,

    NULL,

    checked_jni_GetVersion,

    checked_jni_DefineClass,
    checked_jni_FindClass,

    checked_jni_FromReflectedMethod,
    checked_jni_FromReflectedField,

    checked_jni_ToReflectedMethod,

    checked_jni_GetSuperclass,
    checked_jni_IsAssignableFrom,

    checked_jni_ToReflectedField,

    checked_jni_Throw,
    checked_jni_ThrowNew,
    checked_jni_ExceptionOccurred,
    checked_jni_ExceptionDescribe,
    functionExit(hr)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    checked_jni_FatalError,

    checked_jni_PushLocalFrame
    checked_jni_PopLocalFrame,

    checked_jni_NewGlobalRef,
    checked_jni_DeleteGlobalRef,
    checked_jni_DeleteLocalRef,
    checked_jni_IsSameObject,

    checked_jni_NewLocalRef,
    checked_jni_EnsureLocalCapacity,

    checked_jni_AllocObject,
    checked_jni_NewObject,
    checked_jni_NewObjectV,
    checked_jni_NewObjectA,

    checked_jni_GetObjectClass,
    checked_jni_IsInstanceOf,

    checked_jni_GetMethodID,

    checked_jni_CallObjectMethod,
    checked_jni_CallObjectMethodV,
    checked_jni_CallObjectMethodA,
    checked_jni_CallBooleanMethod,
    checked_jni_CallBooleanMethodV,
    checked_jni_CallBooleanMethodA,
    checked_jni_CallByteMethod,
    checked_jni_CallByteMethodV,
    checked_jni_CallByteMethodA,
    checked_jni_CallCharMethod,
    harMethodV
    checked_jni_CallCharMethodA,
    checked_jni_CallShortMethod,
    checked_jni_CallShortMethodV,
    checked_jni_CallShortMethodA,
    checked_jni_CallIntMethod,
    checked_jni_CallIntMethodV,
    checked_jni_CallIntMethodA,
,
    checked_jni_CallLongMethodV
    checked_jni_CallLongMethodA,
    checked_jni_CallFloatMethod,
odV
    checked_jni_CallFloatMethodAjobjectobj)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    checked_jni_CallDoubleMethod,
    checked_jni_CallDoubleMethodV,
    ubleMethodA
    checked_jni_CallVoidMethod,
    checked_jni_CallVoidMethodV,
    checked_jni_CallVoidMethodA,

    java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 0
    checked_jni_CallNonvirtualObjectMethodV,
    checked_jni_CallNonvirtualObjectMethodA,
    checked_jni_CallNonvirtualBooleanMethod,
    checked_jni_CallNonvirtualBooleanMethodV*
    checked_jni_CallNonvirtualBooleanMethodA,
    checked_jni_CallNonvirtualByteMethod,
    checked_jni_CallNonvirtualByteMethodV,
    checked_jni_CallNonvirtualByteMethodA,
    checked_jni_CallNonvirtualCharMethod,
    checked_jni_CallNonvirtualCharMethodV,
    checked_jni_CallNonvirtualCharMethodA,
    checked_jni_CallNonvirtualShortMethod,
    checked_jni_CallNonvirtualShortMethodV,
    checked_jni_CallNonvirtualShortMethodA,
    checked_jni_CallNonvirtualIntMethod
    checked_jni_CallNonvirtualIntMethodV,
    checked_jni_CallNonvirtualIntMethodA,
    checked_jni_CallNonvirtualLongMethod,
    checked_jni_CallNonvirtualLongMethodV,
    checked_jni_CallNonvirtualLongMethodA,
    checked_jni_CallNonvirtualFloatMethod,
    checked_jni_CallNonvirtualFloatMethodV,
    checked_jni_CallNonvirtualFloatMethodAchecked_jni_ToReflectedMethod
    checked_jni_CallNonvirtualDoubleMethod,
    checked_jni_CallNonvirtualDoubleMethodV,
    checked_jni_CallNonvirtualDoubleMethodA,
    checked_jni_CallNonvirtualVoidMethod,
    checked_jni_CallNonvirtualVoidMethodV,
    checked_jni_CallNonvirtualVoidMethodA,

    checked_jni_GetFieldID,

    checked_jni_GetObjectField,
    checked_jni_GetBooleanField,
    checked_jni_GetByteField,
    checked_jni_GetCharField,
    ld
    checked_jni_GetIntField,
    checked_jni_GetLongField,
    checked_jni_GetFloatField,
    

    checked_jni_SetObjectField,
    checked_jni_SetBooleanField,
    checked_jni_SetByteField,
    
    checked_jni_SetShortField
    checked_jni_SetIntField,
    checked_jni_SetLongField,
    checked_jni_SetFloatField,
    checked_jni_SetDoubleField,

    thodID

    checked_jni_CallStaticObjectMethod,
    checked_jni_CallStaticObjectMethodV,
    checked_jni_CallStaticObjectMethodA,
    checked_jni_CallStaticBooleanMethod,
    checked_jni_CallStaticBooleanMethodV,
    checked_jni_CallStaticBooleanMethodA,
    checked_jni_CallStaticByteMethod,
    java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    checked_jni_CallStaticByteMethodAchecked_jni_CallObjectMethodV,
    checked_jni_CallStaticCharMethod,
    checked_jni_CallStaticCharMethodV,
    java.lang.StringIndexOutOfBoundsException: Range [0, 37) out of bounds for length 34
    checked_jni_CallStaticShortMethod,
    odV,
    checked_jni_CallStaticShortMethodA,
    checked_jni_CallStaticIntMethod,
    checked_jni_CallStaticIntMethodV,
    checked_jni_CallStaticIntMethodA,
    checked_jni_CallStaticLongMethod,
    checked_jni_CallStaticLongMethodV,
    checked_jni_CallStaticLongMethodA,
    checked_jni_CallStaticFloatMethod,
    checked_jni_CallStaticFloatMethodV,
    checked_jni_CallStaticFloatMethodA,
    checked_jni_CallStaticDoubleMethod,
    checked_jni_CallStaticDoubleMethodV,
    checked_jni_CallStaticDoubleMethodA,
    checked_jni_CallStaticVoidMethod,
    checked_jni_CallStaticVoidMethodV,
    checked_jni_CallIntMethodA,

    checked_jni_CallLongMethod,

    ield,
    checked_jni_GetStaticBooleanField
    checked_jni_CallFloatMethodV,
    checked_jni_GetStaticCharField,
    checked_jni_GetStaticShortField,
    checked_jni_GetStaticIntField,
    checked_jni_GetStaticLongField,
    checked_jni_GetStaticFloatField,
    checked_jni_GetStaticDoubleField,

    ld,
    checked_jni_SetStaticBooleanField,
    checked_jni_SetStaticByteField,
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 32
    checked_jni_SetStaticShortField,
    checked_jni_CallNonvirtualObjectMethodA,
    checked_jni_SetStaticLongField,
    checked_jni_SetStaticFloatField,
    checked_jni_SetStaticDoubleField,

    checked_jni_NewString,
    checked_jni_GetStringLength,
    checked_jni_GetStringChars,
    ,

    checked_jni_CallNonvirtua,
    ,
    checked_jni_GetStringUTFChars,
    checked_jni_ReleaseStringUTFChars,

    checked_jni_CallNonvirtualCharMethodV,

    checked_jni_NewObjectArray,
    checked_jni_GetObjectArrayElement,
    checked_jni_SetObjectArrayElement,

    checked_jni_NewBooleanArray,
    checked_jni_CallNonvirtua,
    java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
    checked_jni_NewShortArray,
    checked_jni_NewIntArray,
    checked_jni_NewLongArray,
    checked_jni_CallNonvirtual,
    checked_jni_NewDoubleArray,

        java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    checked_jni_GetByteArrayElements,
    checked_jni_GetCharArrayElements,
    checked_jni_GetShortArrayElements,,
    checked_jni_GetIntArrayElements,
    java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    checked_jni_GetFloatArrayElements,
    checked_jni_GetDoubleArrayElements,

    checked_jni_ReleaseBooleanArrayElements,
    checked_jni_ReleaseByteArrayElements,
    checked_jni_ReleaseCharArrayElements,
    ArrayElements
    checked_jni_ReleaseIntArrayElements,
    checked_jni_ReleaseLongArrayElements,
    checked_jni_ReleaseFloatArrayElements,
    checked_jni_ReleaseDoubleArrayElements,

    checked_jni_GetBooleanArrayRegion,
    checked_jni_GetByteArrayRegion,
    checked_jni_GetCharArrayRegion,
    checked_jni_GetShortArrayRegion,
    checked_jni_GetIntArrayRegion,
    checked_jni_GetLongArrayRegion
    checked_jni_GetFloatArrayRegion,
    checked_jni_GetDoubleArrayRegion,

    java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38
    checked_jni_SetByteArrayRegion,
    checked_jni_SetCharArrayRegion,

    checked_jni_CallStaticByteMeth,
    checked_jni_SetLongArrayRegion,
    checked_jni_SetFloatArrayRegion,
    checked_jni_CallStaticByteMethodA,

   checked_jni_RegisterNatives,
    checked_jni_UnregisterNatives,

    checked_jni_MonitorEnter    checked_jni_CallStaticCharMethodA,
    checked_jni_MonitorExit,

    checked_jni_GetJavaVM,

    java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    checked_jni_CallStaticLongMetho

    checked_jni_GetPrimitiveArrayCritical,
    checked_jni_ReleasePrimitiveArrayCritical,

    checked_jni_GetStringCritical,
    checked_jni_ReleaseStringCritical,

    checked_jni_NewWeakGlobalRef
    checked_jni_DeleteWeakGlobalRef,

    checked_jni_ExceptionCheck,

    checked_jni_NewDirectByteBuffer    checked_jni_SetStaticIntField
    checked_jni_GetDirectBufferAddress,
    checked_jni_GetDirectBufferCapacity,

    // New 1.6 Features

    checked_jni_GetObjectRefType,

    // Module Features

    checked_jni_GetModule,

    

    checked_jni_IsVirtualThread
}checked_jni_GetObjectArrayElement


// Returns the function structure
struct JNINativeInterface_*checked_jni_NewShortArray

  checked_jni_NewFloatArray,

  // make sure the last pointer in the checked table is not null, indicating
  // an addition to the JNINativeInterface_ structure without initializing
  // it in the checked table.
  debug_only(int *checked_jni_GetShortArrayElements,
             sizeof(*unchecked_jni_NativeInterface) - sizeof(char *));)
  checked_jni_GetLongArrayElements,
         "Mismatched JNINativeInterface tables, check for new entries");

  // with -verbose:jni this message will print
  log_debug(jni, resolve)("Checked JNI functions java.lang.StringIndexOutOfBoundsException: Range [0, 52) out of bounds for length 41

  returnchecked_jni_ReleaseLongArrayElements
}

Messung V0.5 in Prozent
C=95 H=97 G=95

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.64Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.