question: private static Address GetShortArrayElements ( JNIEnvironment env , int arrayJREF , Address isCopyAddress ) { if ( traceJNI ) VM . sysWrite ( "JNI called: GetShortArrayElements  \n" ) ; RuntimeEntrypoints . checkJNICountDownToGC ( ) ; try { short [ ] sourceArray = ( short [ ] ) env . getJNIRef ( arrayJREF ) ; int size = sourceArray . length ; if ( MemoryManager . willNeverMove ( sourceArray ) ) { JNIGenericHelpers . setBoolStar ( isCopyAddress , false ) ; return Magic . objectAsAddress ( sourceArray ) ; } else { Address copyBuffer = sysCall . sysMalloc ( size * BYTES_IN_SHORT ) ; if ( copyBuffer . isZero ( ) ) { env . recordException ( new OutOfMemoryError ( ) ) ; return Address . zero ( ) ; } Memory . memcopy ( copyBuffer , Magic . objectAsAddress ( sourceArray ) , size * BYTES_IN_SHORT ) ; JNIGenericHelpers . setBoolStar ( isCopyAddress , true ) ; return copyBuffer ; } } catch ( Throwable unexpected ) { if ( traceJNI ) unexpected . printStackTrace ( System . err ) ; env . recordException ( unexpected ) ; return Address . zero ( ) ; } }
target:  GetShortArrayElements: get all the elements of a short array