1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 import dalvik.annotation.optimization.CriticalNative;
18 import dalvik.annotation.optimization.FastNative;
19 
20 /*
21  * AUTOMATICALLY GENERATED FROM art/tools/mako-source-generator/...../MyClassNatives.java.mako
22  *
23  * The tool is however not available, so the changes now need to be done by hand.
24  */
25 class MyClassNatives {
26 
27     // Normal native
throwException()28     native void throwException();
29     // Normal native
synchronizedThrowException()30     synchronized native void synchronizedThrowException();
31     // Normal native
foo()32     native void foo();
33     // Normal native
bar(int count)34     native int bar(int count);
35     // Normal native
sbar(int count)36     static native int sbar(int count);
37     // Normal native
fooI(int x)38     native int fooI(int x);
39     // Normal native
fooL(Object x)40     native int fooL(Object x);
41     // Normal native
fooI_V(int x)42     native void fooI_V(int x);
43     // Normal native
fooI_B(int x)44     native byte fooI_B(int x);
45     // Normal native
fooI_C(int x)46     native char fooI_C(int x);
47     // Normal native
fooI_S(int x)48     native short fooI_S(int x);
49     // Normal native
fooI_Z(int x)50     native boolean fooI_Z(int x);
51     // Normal native
fooI_J(int x)52     native long fooI_J(int x);
53     // Normal native
fooI_F(int x)54     native float fooI_F(int x);
55     // Normal native
fooI_D(int x)56     native double fooI_D(int x);
57     // Normal native
fooI_L(int x)58     native Object fooI_L(int x);
59     // Normal native
sfooI(int x)60     static native int sfooI(int x);
61     // Normal native
sfooB(byte x)62     static native int sfooB(byte x);
63     // Normal native
sfooC(char x)64     static native int sfooC(char x);
65     // Normal native
sfooS(short x)66     static native int sfooS(short x);
67     // Normal native
sfooZ(boolean x)68     static native int sfooZ(boolean x);
69     // Normal native
sfooL(Object x)70     static native int sfooL(Object x);
71     // Normal native
fooII(int x, int y)72     native int fooII(int x, int y);
73     // Normal native
fooJJ(long x, long y)74     native long fooJJ(long x, long y);
75     // Normal native
fooO(Object x)76     native Object fooO(Object x);
77     // Normal native
fooDD(double x, double y)78     native double fooDD(double x, double y);
79     // Normal native
fooJJ_synchronized(long x, long y)80     synchronized native long fooJJ_synchronized(long x, long y);
81     // Normal native
fooIOO(int x, Object y, Object z)82     native Object fooIOO(int x, Object y, Object z);
83     // Normal native
fooSIOO(int x, Object y, Object z)84     static native Object fooSIOO(int x, Object y, Object z);
85     // Normal native
fooSII(int x, int y)86     static native int fooSII(int x, int y);
87     // Normal native
fooSDD(double x, double y)88     static native double fooSDD(double x, double y);
89     // Normal native
fooSSIOO(int x, Object y, Object z)90     static synchronized native Object fooSSIOO(int x, Object y, Object z);
91     // Normal native
arraycopy(Object src, int src_pos, Object dst, int dst_pos, int length)92     static native void arraycopy(Object src, int src_pos, Object dst, int dst_pos, int length);
93     // Normal native
compareAndSwapInt(Object obj, long offset, int expected, int newval)94     native boolean compareAndSwapInt(Object obj, long offset, int expected, int newval);
95     // Normal native
getText(long val1, Object obj1, long val2, Object obj2)96     static native int getText(long val1, Object obj1, long val2, Object obj2);
97     // Normal native
getSinkPropertiesNative(String path)98     synchronized native Object[] getSinkPropertiesNative(String path);
99 
100     // Normal native
instanceMethodThatShouldReturnClass()101     native Class<?> instanceMethodThatShouldReturnClass();
102     // Normal native
staticMethodThatShouldReturnClass()103     static native Class<?> staticMethodThatShouldReturnClass();
104 
105     // Normal native
instanceMethodThatShouldTakeClass(int i, Class<?> c)106     native void instanceMethodThatShouldTakeClass(int i, Class<?> c);
107     // Normal native
staticMethodThatShouldTakeClass(int i, Class<?> c)108     static native void staticMethodThatShouldTakeClass(int i, Class<?> c);
109 
110     // TODO: These 3 seem like they could work for @CriticalNative as well if they were static.
111     // Normal native
checkFloats(float f1, float f2)112     native float checkFloats(float f1, float f2);
113     // Normal native
forceStackParameters(int i1, int i2, int i3, int i4, int i5, int i6, int i8, int i9, float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9)114     native void forceStackParameters(int i1, int i2, int i3, int i4, int i5, int i6, int i8, int i9,
115                                      float f1, float f2, float f3, float f4, float f5, float f6,
116                                      float f7, float f8, float f9);
117     // Normal native
checkParameterAlign(int i1, long l1)118     native void checkParameterAlign(int i1, long l1);
119 
120     // Normal native
maxParamNumber(Object o0, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7, Object o8, Object o9, Object o10, Object o11, Object o12, Object o13, Object o14, Object o15, Object o16, Object o17, Object o18, Object o19, Object o20, Object o21, Object o22, Object o23, Object o24, Object o25, Object o26, Object o27, Object o28, Object o29, Object o30, Object o31, Object o32, Object o33, Object o34, Object o35, Object o36, Object o37, Object o38, Object o39, Object o40, Object o41, Object o42, Object o43, Object o44, Object o45, Object o46, Object o47, Object o48, Object o49, Object o50, Object o51, Object o52, Object o53, Object o54, Object o55, Object o56, Object o57, Object o58, Object o59, Object o60, Object o61, Object o62, Object o63, Object o64, Object o65, Object o66, Object o67, Object o68, Object o69, Object o70, Object o71, Object o72, Object o73, Object o74, Object o75, Object o76, Object o77, Object o78, Object o79, Object o80, Object o81, Object o82, Object o83, Object o84, Object o85, Object o86, Object o87, Object o88, Object o89, Object o90, Object o91, Object o92, Object o93, Object o94, Object o95, Object o96, Object o97, Object o98, Object o99, Object o100, Object o101, Object o102, Object o103, Object o104, Object o105, Object o106, Object o107, Object o108, Object o109, Object o110, Object o111, Object o112, Object o113, Object o114, Object o115, Object o116, Object o117, Object o118, Object o119, Object o120, Object o121, Object o122, Object o123, Object o124, Object o125, Object o126, Object o127, Object o128, Object o129, Object o130, Object o131, Object o132, Object o133, Object o134, Object o135, Object o136, Object o137, Object o138, Object o139, Object o140, Object o141, Object o142, Object o143, Object o144, Object o145, Object o146, Object o147, Object o148, Object o149, Object o150, Object o151, Object o152, Object o153, Object o154, Object o155, Object o156, Object o157, Object o158, Object o159, Object o160, Object o161, Object o162, Object o163, Object o164, Object o165, Object o166, Object o167, Object o168, Object o169, Object o170, Object o171, Object o172, Object o173, Object o174, Object o175, Object o176, Object o177, Object o178, Object o179, Object o180, Object o181, Object o182, Object o183, Object o184, Object o185, Object o186, Object o187, Object o188, Object o189, Object o190, Object o191, Object o192, Object o193, Object o194, Object o195, Object o196, Object o197, Object o198, Object o199, Object o200, Object o201, Object o202, Object o203, Object o204, Object o205, Object o206, Object o207, Object o208, Object o209, Object o210, Object o211, Object o212, Object o213, Object o214, Object o215, Object o216, Object o217, Object o218, Object o219, Object o220, Object o221, Object o222, Object o223, Object o224, Object o225, Object o226, Object o227, Object o228, Object o229, Object o230, Object o231, Object o232, Object o233, Object o234, Object o235, Object o236, Object o237, Object o238, Object o239, Object o240, Object o241, Object o242, Object o243, Object o244, Object o245, Object o246, Object o247, Object o248, Object o249, Object o250, Object o251, Object o252, Object o253)121     native void maxParamNumber(Object o0, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7,
122         Object o8, Object o9, Object o10, Object o11, Object o12, Object o13, Object o14, Object o15,
123         Object o16, Object o17, Object o18, Object o19, Object o20, Object o21, Object o22, Object o23,
124         Object o24, Object o25, Object o26, Object o27, Object o28, Object o29, Object o30, Object o31,
125         Object o32, Object o33, Object o34, Object o35, Object o36, Object o37, Object o38, Object o39,
126         Object o40, Object o41, Object o42, Object o43, Object o44, Object o45, Object o46, Object o47,
127         Object o48, Object o49, Object o50, Object o51, Object o52, Object o53, Object o54, Object o55,
128         Object o56, Object o57, Object o58, Object o59, Object o60, Object o61, Object o62, Object o63,
129         Object o64, Object o65, Object o66, Object o67, Object o68, Object o69, Object o70, Object o71,
130         Object o72, Object o73, Object o74, Object o75, Object o76, Object o77, Object o78, Object o79,
131         Object o80, Object o81, Object o82, Object o83, Object o84, Object o85, Object o86, Object o87,
132         Object o88, Object o89, Object o90, Object o91, Object o92, Object o93, Object o94, Object o95,
133         Object o96, Object o97, Object o98, Object o99, Object o100, Object o101, Object o102, Object o103,
134         Object o104, Object o105, Object o106, Object o107, Object o108, Object o109, Object o110, Object o111,
135         Object o112, Object o113, Object o114, Object o115, Object o116, Object o117, Object o118, Object o119,
136         Object o120, Object o121, Object o122, Object o123, Object o124, Object o125, Object o126, Object o127,
137         Object o128, Object o129, Object o130, Object o131, Object o132, Object o133, Object o134, Object o135,
138         Object o136, Object o137, Object o138, Object o139, Object o140, Object o141, Object o142, Object o143,
139         Object o144, Object o145, Object o146, Object o147, Object o148, Object o149, Object o150, Object o151,
140         Object o152, Object o153, Object o154, Object o155, Object o156, Object o157, Object o158, Object o159,
141         Object o160, Object o161, Object o162, Object o163, Object o164, Object o165, Object o166, Object o167,
142         Object o168, Object o169, Object o170, Object o171, Object o172, Object o173, Object o174, Object o175,
143         Object o176, Object o177, Object o178, Object o179, Object o180, Object o181, Object o182, Object o183,
144         Object o184, Object o185, Object o186, Object o187, Object o188, Object o189, Object o190, Object o191,
145         Object o192, Object o193, Object o194, Object o195, Object o196, Object o197, Object o198, Object o199,
146         Object o200, Object o201, Object o202, Object o203, Object o204, Object o205, Object o206, Object o207,
147         Object o208, Object o209, Object o210, Object o211, Object o212, Object o213, Object o214, Object o215,
148         Object o216, Object o217, Object o218, Object o219, Object o220, Object o221, Object o222, Object o223,
149         Object o224, Object o225, Object o226, Object o227, Object o228, Object o229, Object o230, Object o231,
150         Object o232, Object o233, Object o234, Object o235, Object o236, Object o237, Object o238, Object o239,
151         Object o240, Object o241, Object o242, Object o243, Object o244, Object o245, Object o246, Object o247,
152         Object o248, Object o249, Object o250, Object o251, Object o252, Object o253);
153 
154     // Normal native
withoutImplementation()155     native void withoutImplementation();
156     // Normal native
withoutImplementationRefReturn()157     native Object withoutImplementationRefReturn();
158     // Normal native
staticWithoutImplementation()159     native static void staticWithoutImplementation();
160 
161     // Normal native
stackArgsIntsFirst(int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9, float f10)162     native static void stackArgsIntsFirst(int i1, int i2, int i3, int i4, int i5, int i6, int i7,
163         int i8, int i9, int i10, float f1, float f2, float f3, float f4, float f5, float f6,
164         float f7, float f8, float f9, float f10);
165 
166     // Normal native
stackArgsFloatsFirst(float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9, float f10, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10)167     native static void stackArgsFloatsFirst(float f1, float f2, float f3, float f4, float f5,
168         float f6, float f7, float f8, float f9, float f10, int i1, int i2, int i3, int i4, int i5,
169         int i6, int i7, int i8, int i9, int i10);
170 
171     // Normal native
stackArgsMixed(int i1, float f1, int i2, float f2, int i3, float f3, int i4, float f4, int i5, float f5, int i6, float f6, int i7, float f7, int i8, float f8, int i9, float f9, int i10, float f10)172     native static void stackArgsMixed(int i1, float f1, int i2, float f2, int i3, float f3, int i4,
173         float f4, int i5, float f5, int i6, float f6, int i7, float f7, int i8, float f8, int i9,
174         float f9, int i10, float f10);
175 
176     // Normal native
logD(double d)177     static native double logD(double d);
178     // Normal native
logF(float f)179     static native float logF(float f);
180     // Normal native
returnTrue()181     static native boolean returnTrue();
182     // Normal native
returnFalse()183     static native boolean returnFalse();
184     // Normal native
returnInt()185     static native int returnInt();
186     // Normal native
returnDouble()187     static native double returnDouble();
188     // Normal native
returnLong()189     static native long returnLong();
190 
191     // Normal native
sfoo7FI(float f1, float f2, float f3, float f4, float f5, float f6, float f7, int i1)192     static native int sfoo7FI(float f1, float f2, float f3, float f4, float f5, float f6,
193         float f7, int i1);
194     // Normal native
sfoo3F5DI(float f1, float f2, float f3, double d1, double d2, double d3, double d4, double d5, int i1)195     static native int sfoo3F5DI(float f1, float f2, float f3, double d1, double d2, double d3,
196         double d4, double d5, int i1);
197     // Normal native
sfoo3F6DI(float f1, float f2, float f3, double d1, double d2, double d3, double d4, double d5, double d6, int i1)198     static native int sfoo3F6DI(float f1, float f2, float f3, double d1, double d2, double d3,
199         double d4, double d5, double d6, int i1);
200     // Normal native
fooL4I(Object o1, int i1, int i2, int i3, int i4)201     native int fooL4I(Object o1, int i1, int i2, int i3, int i4);
202     // Normal native
fooL5I(Object o1, int i1, int i2, int i3, int i4, int i5)203     native int fooL5I(Object o1, int i1, int i2, int i3, int i4, int i5);
204     // Normal native
fooL3IJC(Object o1, int i1, int i2, int i3, long l1, char c1)205     native int fooL3IJC(Object o1, int i1, int i2, int i3, long l1, char c1);
206     // Normal native
fooL3IJCS(Object o1, int i1, int i2, int i3, long l1, char c1, short s1)207     native int fooL3IJCS(Object o1, int i1, int i2, int i3, long l1, char c1, short s1);
208     // Normal native
foo9F(float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9)209     native int foo9F(float f1, float f2, float f3, float f4, float f5, float f6, float f7,
210         float f8, float f9);
211     // Normal native
foo7FDF(float f1, float f2, float f3, float f4, float f5, float f6, float f7, double d1, float f8)212     native int foo7FDF(float f1, float f2, float f3, float f4, float f5, float f6, float f7,
213         double d1, float f8);
214     // Normal native
foo7FIFF(float f1, float f2, float f3, float f4, float f5, float f6, float f7, int i1, float f8, float f9)215     native int foo7FIFF(float f1, float f2, float f3, float f4, float f5, float f6, float f7,
216         int i1, float f8, float f9);
217     // Normal native
foo7I(int i1, int i2, int i3, int i4, int i5, int i6, int i7)218     native int foo7I(int i1, int i2, int i3, int i4, int i5, int i6, int i7);
219     // Normal native
foo5IJI(int i1, int i2, int i3, int i4, int i5, long l1, int i6)220     native int foo5IJI(int i1, int i2, int i3, int i4, int i5, long l1, int i6);
221     // Normal native
foo5IFII(int i1, int i2, int i3, int i4, int i5, float f1, int i6, int i7)222     native int foo5IFII(int i1, int i2, int i3, int i4, int i5, float f1, int i6, int i7);
223     // Normal native
foo2FL(float f1, float f2, Object o1)224     native int foo2FL(float f1, float f2, Object o1);
225     // Normal native
fooFDL(float f1, double f2, Object o1)226     native int fooFDL(float f1, double f2, Object o1);
227     // Normal native
foo3FL(float f1, float f2, float f3, Object o1)228     native int foo3FL(float f1, float f2, float f3, Object o1);
229     // Normal native
foo2FIL(float f1, float f2, int i1, Object o1)230     native int foo2FIL(float f1, float f2, int i1, Object o1);
231     // Normal native
foo2IFL(int i1, int i2, float f1, Object o1)232     native int foo2IFL(int i1, int i2, float f1, Object o1);
233     // Normal native
fooICFL(int i1, char c1, float f1, Object o1)234     native int fooICFL(int i1, char c1, float f1, Object o1);
235     // Normal native
fooICIL(int i1, char c1, int i2, Object o1)236     native int fooICIL(int i1, char c1, int i2, Object o1);
237 
238 
239     @FastNative
throwException_Fast()240     native void throwException_Fast();
241     @FastNative
foo_Fast()242     native void foo_Fast();
243     @FastNative
bar_Fast(int count)244     native int bar_Fast(int count);
245     @FastNative
sbar_Fast(int count)246     static native int sbar_Fast(int count);
247     @FastNative
fooI_Fast(int x)248     native int fooI_Fast(int x);
249     @FastNative
fooII_Fast(int x, int y)250     native int fooII_Fast(int x, int y);
251     @FastNative
fooJJ_Fast(long x, long y)252     native long fooJJ_Fast(long x, long y);
253     @FastNative
fooO_Fast(Object x)254     native Object fooO_Fast(Object x);
255     @FastNative
fooDD_Fast(double x, double y)256     native double fooDD_Fast(double x, double y);
257     @FastNative
fooIOO_Fast(int x, Object y, Object z)258     native Object fooIOO_Fast(int x, Object y, Object z);
259     @FastNative
fooSIOO_Fast(int x, Object y, Object z)260     static native Object fooSIOO_Fast(int x, Object y, Object z);
261     @FastNative
fooSII_Fast(int x, int y)262     static native int fooSII_Fast(int x, int y);
263     @FastNative
fooSDD_Fast(double x, double y)264     static native double fooSDD_Fast(double x, double y);
265     @FastNative
arraycopy_Fast(Object src, int src_pos, Object dst, int dst_pos, int length)266     static native void arraycopy_Fast(Object src, int src_pos, Object dst, int dst_pos, int length);
267     @FastNative
compareAndSwapInt_Fast(Object obj, long offset, int expected, int newval)268     native boolean compareAndSwapInt_Fast(Object obj, long offset, int expected, int newval);
269     @FastNative
getText_Fast(long val1, Object obj1, long val2, Object obj2)270     static native int getText_Fast(long val1, Object obj1, long val2, Object obj2);
271     @FastNative
getSinkPropertiesNative_Fast(String path)272     native Object[] getSinkPropertiesNative_Fast(String path);
273 
274     @FastNative
instanceMethodThatShouldReturnClass_Fast()275     native Class<?> instanceMethodThatShouldReturnClass_Fast();
276     @FastNative
staticMethodThatShouldReturnClass_Fast()277     static native Class<?> staticMethodThatShouldReturnClass_Fast();
278 
279     @FastNative
instanceMethodThatShouldTakeClass_Fast(int i, Class<?> c)280     native void instanceMethodThatShouldTakeClass_Fast(int i, Class<?> c);
281     @FastNative
staticMethodThatShouldTakeClass_Fast(int i, Class<?> c)282     static native void staticMethodThatShouldTakeClass_Fast(int i, Class<?> c);
283 
284     // TODO: These 3 seem like they could work for @CriticalNative as well if they were static.
285     @FastNative
checkFloats_Fast(float f1, float f2)286     native float checkFloats_Fast(float f1, float f2);
287     @FastNative
forceStackParameters_Fast(int i1, int i2, int i3, int i4, int i5, int i6, int i8, int i9, float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9)288     native void forceStackParameters_Fast(int i1, int i2, int i3, int i4, int i5, int i6, int i8, int i9,
289                                      float f1, float f2, float f3, float f4, float f5, float f6,
290                                      float f7, float f8, float f9);
291     @FastNative
checkParameterAlign_Fast(int i1, long l1)292     native void checkParameterAlign_Fast(int i1, long l1);
293 
294     @FastNative
maxParamNumber_Fast(Object o0, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7, Object o8, Object o9, Object o10, Object o11, Object o12, Object o13, Object o14, Object o15, Object o16, Object o17, Object o18, Object o19, Object o20, Object o21, Object o22, Object o23, Object o24, Object o25, Object o26, Object o27, Object o28, Object o29, Object o30, Object o31, Object o32, Object o33, Object o34, Object o35, Object o36, Object o37, Object o38, Object o39, Object o40, Object o41, Object o42, Object o43, Object o44, Object o45, Object o46, Object o47, Object o48, Object o49, Object o50, Object o51, Object o52, Object o53, Object o54, Object o55, Object o56, Object o57, Object o58, Object o59, Object o60, Object o61, Object o62, Object o63, Object o64, Object o65, Object o66, Object o67, Object o68, Object o69, Object o70, Object o71, Object o72, Object o73, Object o74, Object o75, Object o76, Object o77, Object o78, Object o79, Object o80, Object o81, Object o82, Object o83, Object o84, Object o85, Object o86, Object o87, Object o88, Object o89, Object o90, Object o91, Object o92, Object o93, Object o94, Object o95, Object o96, Object o97, Object o98, Object o99, Object o100, Object o101, Object o102, Object o103, Object o104, Object o105, Object o106, Object o107, Object o108, Object o109, Object o110, Object o111, Object o112, Object o113, Object o114, Object o115, Object o116, Object o117, Object o118, Object o119, Object o120, Object o121, Object o122, Object o123, Object o124, Object o125, Object o126, Object o127, Object o128, Object o129, Object o130, Object o131, Object o132, Object o133, Object o134, Object o135, Object o136, Object o137, Object o138, Object o139, Object o140, Object o141, Object o142, Object o143, Object o144, Object o145, Object o146, Object o147, Object o148, Object o149, Object o150, Object o151, Object o152, Object o153, Object o154, Object o155, Object o156, Object o157, Object o158, Object o159, Object o160, Object o161, Object o162, Object o163, Object o164, Object o165, Object o166, Object o167, Object o168, Object o169, Object o170, Object o171, Object o172, Object o173, Object o174, Object o175, Object o176, Object o177, Object o178, Object o179, Object o180, Object o181, Object o182, Object o183, Object o184, Object o185, Object o186, Object o187, Object o188, Object o189, Object o190, Object o191, Object o192, Object o193, Object o194, Object o195, Object o196, Object o197, Object o198, Object o199, Object o200, Object o201, Object o202, Object o203, Object o204, Object o205, Object o206, Object o207, Object o208, Object o209, Object o210, Object o211, Object o212, Object o213, Object o214, Object o215, Object o216, Object o217, Object o218, Object o219, Object o220, Object o221, Object o222, Object o223, Object o224, Object o225, Object o226, Object o227, Object o228, Object o229, Object o230, Object o231, Object o232, Object o233, Object o234, Object o235, Object o236, Object o237, Object o238, Object o239, Object o240, Object o241, Object o242, Object o243, Object o244, Object o245, Object o246, Object o247, Object o248, Object o249, Object o250, Object o251, Object o252, Object o253)295     native void maxParamNumber_Fast(Object o0, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6, Object o7,
296         Object o8, Object o9, Object o10, Object o11, Object o12, Object o13, Object o14, Object o15,
297         Object o16, Object o17, Object o18, Object o19, Object o20, Object o21, Object o22, Object o23,
298         Object o24, Object o25, Object o26, Object o27, Object o28, Object o29, Object o30, Object o31,
299         Object o32, Object o33, Object o34, Object o35, Object o36, Object o37, Object o38, Object o39,
300         Object o40, Object o41, Object o42, Object o43, Object o44, Object o45, Object o46, Object o47,
301         Object o48, Object o49, Object o50, Object o51, Object o52, Object o53, Object o54, Object o55,
302         Object o56, Object o57, Object o58, Object o59, Object o60, Object o61, Object o62, Object o63,
303         Object o64, Object o65, Object o66, Object o67, Object o68, Object o69, Object o70, Object o71,
304         Object o72, Object o73, Object o74, Object o75, Object o76, Object o77, Object o78, Object o79,
305         Object o80, Object o81, Object o82, Object o83, Object o84, Object o85, Object o86, Object o87,
306         Object o88, Object o89, Object o90, Object o91, Object o92, Object o93, Object o94, Object o95,
307         Object o96, Object o97, Object o98, Object o99, Object o100, Object o101, Object o102, Object o103,
308         Object o104, Object o105, Object o106, Object o107, Object o108, Object o109, Object o110, Object o111,
309         Object o112, Object o113, Object o114, Object o115, Object o116, Object o117, Object o118, Object o119,
310         Object o120, Object o121, Object o122, Object o123, Object o124, Object o125, Object o126, Object o127,
311         Object o128, Object o129, Object o130, Object o131, Object o132, Object o133, Object o134, Object o135,
312         Object o136, Object o137, Object o138, Object o139, Object o140, Object o141, Object o142, Object o143,
313         Object o144, Object o145, Object o146, Object o147, Object o148, Object o149, Object o150, Object o151,
314         Object o152, Object o153, Object o154, Object o155, Object o156, Object o157, Object o158, Object o159,
315         Object o160, Object o161, Object o162, Object o163, Object o164, Object o165, Object o166, Object o167,
316         Object o168, Object o169, Object o170, Object o171, Object o172, Object o173, Object o174, Object o175,
317         Object o176, Object o177, Object o178, Object o179, Object o180, Object o181, Object o182, Object o183,
318         Object o184, Object o185, Object o186, Object o187, Object o188, Object o189, Object o190, Object o191,
319         Object o192, Object o193, Object o194, Object o195, Object o196, Object o197, Object o198, Object o199,
320         Object o200, Object o201, Object o202, Object o203, Object o204, Object o205, Object o206, Object o207,
321         Object o208, Object o209, Object o210, Object o211, Object o212, Object o213, Object o214, Object o215,
322         Object o216, Object o217, Object o218, Object o219, Object o220, Object o221, Object o222, Object o223,
323         Object o224, Object o225, Object o226, Object o227, Object o228, Object o229, Object o230, Object o231,
324         Object o232, Object o233, Object o234, Object o235, Object o236, Object o237, Object o238, Object o239,
325         Object o240, Object o241, Object o242, Object o243, Object o244, Object o245, Object o246, Object o247,
326         Object o248, Object o249, Object o250, Object o251, Object o252, Object o253);
327 
328     @FastNative
withoutImplementation_Fast()329     native void withoutImplementation_Fast();
330     @FastNative
withoutImplementationRefReturn_Fast()331     native Object withoutImplementationRefReturn_Fast();
332     @FastNative
staticWithoutImplementation_Fast()333     native static void staticWithoutImplementation_Fast();
334 
335     @FastNative
stackArgsIntsFirst_Fast(int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9, float f10)336     native static void stackArgsIntsFirst_Fast(int i1, int i2, int i3, int i4, int i5, int i6, int i7,
337         int i8, int i9, int i10, float f1, float f2, float f3, float f4, float f5, float f6,
338         float f7, float f8, float f9, float f10);
339 
340     @FastNative
stackArgsFloatsFirst_Fast(float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9, float f10, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10)341     native static void stackArgsFloatsFirst_Fast(float f1, float f2, float f3, float f4, float f5,
342         float f6, float f7, float f8, float f9, float f10, int i1, int i2, int i3, int i4, int i5,
343         int i6, int i7, int i8, int i9, int i10);
344 
345     @FastNative
stackArgsMixed_Fast(int i1, float f1, int i2, float f2, int i3, float f3, int i4, float f4, int i5, float f5, int i6, float f6, int i7, float f7, int i8, float f8, int i9, float f9, int i10, float f10)346     native static void stackArgsMixed_Fast(int i1, float f1, int i2, float f2, int i3, float f3, int i4,
347         float f4, int i5, float f5, int i6, float f6, int i7, float f7, int i8, float f8, int i9,
348         float f9, int i10, float f10);
349 
350     @FastNative
logD_Fast(double d)351     static native double logD_Fast(double d);
352     @FastNative
logF_Fast(float f)353     static native float logF_Fast(float f);
354     @FastNative
returnTrue_Fast()355     static native boolean returnTrue_Fast();
356     @FastNative
returnFalse_Fast()357     static native boolean returnFalse_Fast();
358     @FastNative
returnInt_Fast()359     static native int returnInt_Fast();
360     @FastNative
returnDouble_Fast()361     static native double returnDouble_Fast();
362     @FastNative
returnLong_Fast()363     static native long returnLong_Fast();
364 
365     @FastNative
fooI_Z_Fast(int i)366     native boolean fooI_Z_Fast(int i);
367     @FastNative
fooI_J_Fast(int i)368     native long fooI_J_Fast(int i);
369     @FastNative
fooICFL_Fast(int i1, char c1, float f1, Object o1)370     native int fooICFL_Fast(int i1, char c1, float f1, Object o1);
371     @FastNative
foo2IFL_Fast(int i1, int i2, float f1, Object o1)372     native int foo2IFL_Fast(int i1, int i2, float f1, Object o1);
373     @FastNative
fooICIL_Fast(int i1, char c1, int i2, Object o1)374     native int fooICIL_Fast(int i1, char c1, int i2, Object o1);
375     @FastNative
fooFDL_Fast(float f1, double d1, Object o1)376     native int fooFDL_Fast(float f1, double d1, Object o1);
377     @FastNative
foo2FL_Fast(float f1, float f2, Object o1)378     native int foo2FL_Fast(float f1, float f2, Object o1);
379     @FastNative
foo3FL_Fast(float f1, float f2, float f3, Object o1)380     native int foo3FL_Fast(float f1, float f2, float f3, Object o1);
381     @FastNative
foo2FIL_Fast(float f1, float f2, int i1, Object o1)382     native int foo2FIL_Fast(float f1, float f2, int i1, Object o1);
383     @FastNative
foo7F_Fast(float f1, float f2, float f3, float f4, float f5, float f6, float f7)384     native int foo7F_Fast(float f1, float f2, float f3, float f4, float f5, float f6, float f7);
385     @FastNative
foo3F5D_Fast(float f1, float f2, float f3, double d1, double d2, double d3, double d4, double d5)386     native int foo3F5D_Fast(float f1, float f2, float f3, double d1, double d2, double d3,
387         double d4, double d5);
388     @FastNative
foo3F6D_Fast(float f1, float f2, float f3, double d1, double d2, double d3, double d4, double d5, double d6)389     native int foo3F6D_Fast(float f1, float f2, float f3, double d1, double d2, double d3,
390         double d4, double d5, double d6);
391     @FastNative
fooL5I_Fast(Object o1, int i1, int i2, int i3, int i4, int i5)392     native int fooL5I_Fast(Object o1, int i1, int i2, int i3, int i4, int i5);
393     @FastNative
fooL3IJC_Fast(Object o1, int i1, int i2, int i3, long l1, char c1)394     native int fooL3IJC_Fast(Object o1, int i1, int i2, int i3, long l1, char c1);
395     @FastNative
fooL3IJCS_Fast(Object o1, int i1, int i2, int i3, long l1, char c1, short s1)396     native int fooL3IJCS_Fast(Object o1, int i1, int i2, int i3, long l1, char c1, short s1);
397 
398 
399     @CriticalNative
sbar_Critical(int count)400     static native int sbar_Critical(int count);
401     @CriticalNative
fooSII_Critical(int x, int y)402     static native int fooSII_Critical(int x, int y);
403     @CriticalNative
fooSDD_Critical(double x, double y)404     static native double fooSDD_Critical(double x, double y);
405 
406     @CriticalNative
staticWithoutImplementation_Critical()407     native static void staticWithoutImplementation_Critical();
408 
409     @CriticalNative
stackArgsIntsFirst_Critical(int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10, float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9, float f10)410     native static void stackArgsIntsFirst_Critical(int i1, int i2, int i3, int i4, int i5, int i6, int i7,
411         int i8, int i9, int i10, float f1, float f2, float f3, float f4, float f5, float f6,
412         float f7, float f8, float f9, float f10);
413 
414     @CriticalNative
stackArgsFloatsFirst_Critical(float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9, float f10, int i1, int i2, int i3, int i4, int i5, int i6, int i7, int i8, int i9, int i10)415     native static void stackArgsFloatsFirst_Critical(float f1, float f2, float f3, float f4, float f5,
416         float f6, float f7, float f8, float f9, float f10, int i1, int i2, int i3, int i4, int i5,
417         int i6, int i7, int i8, int i9, int i10);
418 
419     @CriticalNative
stackArgsMixed_Critical(int i1, float f1, int i2, float f2, int i3, float f3, int i4, float f4, int i5, float f5, int i6, float f6, int i7, float f7, int i8, float f8, int i9, float f9, int i10, float f10)420     native static void stackArgsMixed_Critical(int i1, float f1, int i2, float f2, int i3, float f3, int i4,
421         float f4, int i5, float f5, int i6, float f6, int i7, float f7, int i8, float f8, int i9,
422         float f9, int i10, float f10);
423 
424     @CriticalNative
logD_Critical(double d)425     static native double logD_Critical(double d);
426     @CriticalNative
logF_Critical(float f)427     static native float logF_Critical(float f);
428     @CriticalNative
returnTrue_Critical()429     static native boolean returnTrue_Critical();
430     @CriticalNative
returnFalse_Critical()431     static native boolean returnFalse_Critical();
432     @CriticalNative
returnInt_Critical()433     static native int returnInt_Critical();
434     @CriticalNative
returnDouble_Critical()435     static native double returnDouble_Critical();
436     @CriticalNative
returnLong_Critical()437     static native long returnLong_Critical();
438 
439     @CriticalNative
foo7F_Critical(float f1, float f2, float f3, float f4, float f5, float f6, float f7)440     static native int foo7F_Critical(float f1, float f2, float f3, float f4, float f5, float f6,
441         float f7);
442     @CriticalNative
foo3F5D_Critical(float f1, float f2, float f3, double d1, double d2, double d3, double d4, double d5)443     static native int foo3F5D_Critical(float f1, float f2, float f3, double d1, double d2,
444         double d3, double d4, double d5);
445     @CriticalNative
foo3F6D_Critical(float f1, float f2, float f3, double d1, double d2, double d3, double d4, double d5, double d6)446     static native int foo3F6D_Critical(float f1, float f2, float f3, double d1, double d2,
447         double d3, double d4, double d5, double d6);
448 
449 
450     // Check for @FastNative/@CriticalNative annotation presence [or lack of presence].
normalNative()451     public static native void normalNative();
452     @FastNative
fastNative()453     public static native void fastNative();
454     @CriticalNative
criticalNative()455     public static native void criticalNative();
456 }
457