1a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers/*
2a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * Copyright (C) 2011 The Android Open Source Project
3a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers *
4a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * Licensed under the Apache License, Version 2.0 (the "License");
5a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * you may not use this file except in compliance with the License.
6a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * You may obtain a copy of the License at
7a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers *
8a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers *      http://www.apache.org/licenses/LICENSE-2.0
9a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers *
10a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * Unless required by applicable law or agreed to in writing, software
11a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * distributed under the License is distributed on an "AS IS" BASIS,
12a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * See the License for the specific language governing permissions and
14a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers * limitations under the License.
15a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers */
16a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
17a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers#include <jni.h>
18a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers#include <stdlib.h> // for abort
19a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
20a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jobject Java_dalvik_system_JniTest_returnThis(JNIEnv*, jobject obj) {
21a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  return obj;
22a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
23a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
24a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jclass Java_dalvik_system_JniTest_returnClass(JNIEnv*, jclass klass) {
25a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  return klass;
26a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
27a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
28a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jobject Java_dalvik_system_JniTest_returnObjectArgFrom16(
29a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
30a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jobject o1,  jobject o2,  jobject o3,  jobject o4,  jobject o5,
31a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jobject o6,  jobject o7,  jobject o8,  jobject o9,  jobject o10,
32a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jobject o11, jobject o12, jobject o13, jobject o14, jobject o15,
33a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jobject o16) {
34a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
35a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
36a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
37a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
38a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
39a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
40a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
41a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
42a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
43a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
44a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
45a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
46a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
47a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
48a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
49a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
50a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
51a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
52a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
53a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
54a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
55a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jboolean Java_dalvik_system_JniTest_returnBooleanArgFrom16(
56a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
57a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jboolean o1,  jboolean o2,  jboolean o3,  jboolean o4,  jboolean o5,
58a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jboolean o6,  jboolean o7,  jboolean o8,  jboolean o9,  jboolean o10,
59a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jboolean o11, jboolean o12, jboolean o13, jboolean o14, jboolean o15,
60a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jboolean o16) {
61a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
62a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
63a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
64a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
65a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
66a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
67a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
68a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
69a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
70a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
71a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
72a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
73a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
74a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
75a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
76a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
77a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
78a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
79a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
80a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
81a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
82a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jchar Java_dalvik_system_JniTest_returnCharArgFrom16(
83a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
84a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jchar o1,  jchar o2,  jchar o3,  jchar o4,  jchar o5,
85a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jchar o6,  jchar o7,  jchar o8,  jchar o9,  jchar o10,
86a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jchar o11, jchar o12, jchar o13, jchar o14, jchar o15,
87a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jchar o16) {
88a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
89a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
90a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
91a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
92a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
93a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
94a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
95a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
96a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
97a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
98a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
99a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
100a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
101a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
102a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
103a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
104a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
105a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
106a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
107a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
108a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
109a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jbyte Java_dalvik_system_JniTest_returnByteArgFrom16(
110a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
111a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jbyte o1,  jbyte o2,  jbyte o3,  jbyte o4,  jbyte o5,
112a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jbyte o6,  jbyte o7,  jbyte o8,  jbyte o9,  jbyte o10,
113a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jbyte o11, jbyte o12, jbyte o13, jbyte o14, jbyte o15,
114a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jbyte o16) {
115a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
116a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
117a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
118a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
119a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
120a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
121a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
122a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
123a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
124a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
125a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
126a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
127a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
128a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
129a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
130a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
131a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
132a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
133a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
134a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
135a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
136a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jshort Java_dalvik_system_JniTest_returnShortArgFrom16(
137a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
138a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jshort o1,  jshort o2,  jshort o3,  jshort o4,  jshort o5,
139a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jshort o6,  jshort o7,  jshort o8,  jshort o9,  jshort o10,
140a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jshort o11, jshort o12, jshort o13, jshort o14, jshort o15,
141a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jshort o16) {
142a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
143a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
144a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
145a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
146a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
147a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
148a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
149a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
150a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
151a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
152a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
153a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
154a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
155a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
156a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
157a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
158a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
159a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
160a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
161a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
162a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
163a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jint Java_dalvik_system_JniTest_returnIntArgFrom16(
164a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
165a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jint o1,  jint o2,  jint o3,  jint o4,  jint o5,
166a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jint o6,  jint o7,  jint o8,  jint o9,  jint o10,
167a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jint o11, jint o12, jint o13, jint o14, jint o15,
168a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jint o16) {
169a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
170a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
171a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
172a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
173a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
174a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
175a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
176a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
177a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
178a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
179a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
180a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
181a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
182a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
183a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
184a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
185a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
186a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
187a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
188a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
189a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
190a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jlong Java_dalvik_system_JniTest_returnLongArgFrom16(
191a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
192a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jlong o1,  jlong o2,  jlong o3,  jlong o4,  jlong o5,
193a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jlong o6,  jlong o7,  jlong o8,  jlong o9,  jlong o10,
194a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jlong o11, jlong o12, jlong o13, jlong o14, jlong o15,
195a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jlong o16) {
196a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
197a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
198a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
199a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
200a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
201a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
202a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
203a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
204a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
205a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
206a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
207a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
208a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
209a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
210a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
211a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
212a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
213a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
214a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
215a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
216a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
217a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jfloat Java_dalvik_system_JniTest_returnFloatArgFrom16(
218a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
219a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jfloat o1,  jfloat o2,  jfloat o3,  jfloat o4,  jfloat o5,
220a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jfloat o6,  jfloat o7,  jfloat o8,  jfloat o9,  jfloat o10,
221a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jfloat o11, jfloat o12, jfloat o13, jfloat o14, jfloat o15,
222a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jfloat o16) {
223a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
224a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
225a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
226a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
227a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
228a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
229a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
230a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
231a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
232a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
233a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
234a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
235a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
236a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
237a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
238a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
239a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
240a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
241a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
242a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
243a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers
244a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogersextern "C" jdouble Java_dalvik_system_JniTest_returnDoubleArgFrom16(
245a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    JNIEnv*, jobject, int arg_no,
246a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jdouble o1,  jdouble o2,  jdouble o3,  jdouble o4,  jdouble o5,
247a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jdouble o6,  jdouble o7,  jdouble o8,  jdouble o9,  jdouble o10,
248a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jdouble o11, jdouble o12, jdouble o13, jdouble o14, jdouble o15,
249a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers    jdouble o16) {
250a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  switch(arg_no){
251a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 0:  return o1;
252a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 1:  return o2;
253a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 2:  return o3;
254a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 3:  return o4;
255a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 4:  return o5;
256a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 5:  return o6;
257a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 6:  return o7;
258a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 7:  return o8;
259a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 8:  return o9;
260a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 9:  return o10;
261a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 10: return o11;
262a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 11: return o12;
263a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 12: return o13;
264a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 13: return o14;
265a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 14: return o15;
266a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  case 15: return o16;
267a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  default: abort();
268a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers  }
269a515759d83bac3e3b6bfdea20eb9576621e6596aIan Rogers}
2705dd7203e5b355bc5829260646aa4281d1182415fJesse Wilson
2715dd7203e5b355bc5829260646aa4281d1182415fJesse Wilsonextern "C" jclass Java_dalvik_system_JniTest_envGetSuperclass(
2725dd7203e5b355bc5829260646aa4281d1182415fJesse Wilson    JNIEnv* env, jobject, jclass clazz) {
2735dd7203e5b355bc5829260646aa4281d1182415fJesse Wilson  return env->GetSuperclass(clazz);
2745dd7203e5b355bc5829260646aa4281d1182415fJesse Wilson}
275