question: private static Address GetFloatArrayElements ( JNIEnvironment env , int arrayJREF , Address isCopyAddress ) { if ( traceJNI ) VM . sysWrite ( "JNI called: GetFloatArrayElements  \n" ) ; RuntimeEntrypoints . checkJNICountDownToGC ( ) ; try { float [ ] sourceArray = ( float [ ] ) 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 << LOG_BYTES_IN_FLOAT ) ; if ( copyBuffer . isZero ( ) ) { env . recordException ( new OutOfMemoryError ( ) ) ; return Address . zero ( ) ; } Memory . memcopy ( copyBuffer , Magic . objectAsAddress ( sourceArray ) , size << LOG_BYTES_IN_FLOAT ) ; JNIGenericHelpers . setBoolStar ( isCopyAddress , true ) ; return copyBuffer ; } } catch ( Throwable unexpected ) { if ( traceJNI ) unexpected . printStackTrace ( System . err ) ; env . recordException ( unexpected ) ; return Address . zero ( ) ; } }
target:  GetFloatArrayElements: get all the elements of a float array