According to documentation
here and elsewhere, upon entering a native function JNI guarantees that 16 local reference slots are available. Android seems to provide much more than that, and I'm aware there are functions such as
PushLocalFrame() available, but it's specifically the guaranteed minimum I'm interested in.
My question is, do reference arguments to native functions (the object/class argument, and any other arguments of object type) count against those 16 slots? For example, if a native function takes the usual object/class argument and a jstring argument, do you then only have 14 slots available?
My assumption is that function arguments don't count against the minimum. Almost all evidence I've seen seems to support that, as does a common-sense reading of the documentation, but I've also seen some sources that seem vague on this point, so I'd like to confirm it if possible.
Are function arguments counted against the 16 slots? Or are you guaranteed 16 slots irrespective of the function arguments?