1Internal native functions. 2 3All of the functions defined here make direct use of VM functions or data 4structures, so they can't be written with JNI and shouldn't really be in 5a separate shared library. Do not add additional functions here unless 6they need to access VM internals directly. 7 8All functions here either complete quickly or are used to enter a wait 9state, so we don't set the thread status to THREAD_NATIVE when executing 10these methods. This means that the GC will wait for these functions 11to finish. DO NOT perform long operations or blocking I/O in here. 12These methods should not be declared "synchronized", because we don't 13check for that flag when issuing the call. 14 15We use "late" binding on these, rather than explicit registration, 16because it's easier to handle the core system classes that way. 17 18The functions here use the DalvikNativeFunc prototype, but we can 19also treat them as DalvikBridgeFunc, which takes two extra arguments. 20The former represents the API that we're most likely to expose should 21JNI performance be deemed insufficient. The Bridge version is used as 22an optimization for a few high-volume Object calls, and should generally 23not be used as we may drop support for it at some point. 24 25