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