264 // Specialized SignatureIterator: Used for native call purposes |
264 // Specialized SignatureIterator: Used for native call purposes |
265 |
265 |
266 class NativeSignatureIterator: public SignatureIterator { |
266 class NativeSignatureIterator: public SignatureIterator { |
267 private: |
267 private: |
268 methodHandle _method; |
268 methodHandle _method; |
269 // We need seperate JNI and Java offset values because in 64 bit mode, |
269 // We need separate JNI and Java offset values because in 64 bit mode, |
270 // the argument offsets are not in sync with the Java stack. |
270 // the argument offsets are not in sync with the Java stack. |
271 // For example a long takes up 1 "C" stack entry but 2 Java stack entries. |
271 // For example a long takes up 1 "C" stack entry but 2 Java stack entries. |
272 int _offset; // The java stack offset |
272 int _offset; // The java stack offset |
273 int _prepended; // number of prepended JNI parameters (1 JNIEnv, plus 1 mirror if static) |
273 int _prepended; // number of prepended JNI parameters (1 JNIEnv, plus 1 mirror if static) |
274 int _jni_offset; // the current parameter offset, starting with 0 |
274 int _jni_offset; // the current parameter offset, starting with 0 |