| /* |
| * Copyright (C) 2011 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| import dalvik.annotation.optimization.CriticalNative; |
| import dalvik.annotation.optimization.FastNative; |
| |
| /* |
| * AUTOMATICALLY GENERATED FROM art/tools/mako-source-generator/...../MyClassNatives.java.mako |
| * |
| * The tool is however not available, so the changes now need to be done by hand. |
| */ |
| class MyClassNatives { |
| |
| // Normal native |
| native void throwException(); |
| // Normal native |
| synchronized native void synchronizedThrowException(); |
| // Normal native |
| native void foo(); |
| // Normal native |
| native int bar(int count); |
| // Normal native |
| static native int sbar(int count); |
| // Normal native |
| native int fooI(int x); |
| // Normal native |
| native int fooII(int x, int y); |
| // Normal native |
| native long fooJJ(long x, long y); |
| // Normal native |
| native Object fooO(Object x); |
| // Normal native |
| native double fooDD(double x, double y); |
| // Normal native |
| synchronized native long fooJJ_synchronized(long x, long y); |
| // Normal native |
| native Object fooIOO(int x, Object y, Object z); |
| // Normal native |
| static native Object fooSIOO(int x, Object y, Object z); |
| // Normal native |
| static native int fooSII(int x, int y); |
| // Normal native |
| static native double fooSDD(double x, double y); |
| // Normal native |
| static synchronized native Object fooSSIOO(int x, Object y, Object z); |
| // Normal native |
| static native void arraycopy(Object src, int src_pos, Object dst, int dst_pos, int length); |
| // Normal native |
| native boolean compareAndSwapInt(Object obj, long offset, int expected, int newval); |
| // Normal native |
| static native int getText(long val1, Object obj1, long val2, Object obj2); |
| // Normal native |
| synchronized native Object[] getSinkPropertiesNative(String path); |
| |
| // Normal native |
| native Class<?> instanceMethodThatShouldReturnClass(); |
| // Normal native |
| static native Class<?> staticMethodThatShouldReturnClass(); |
| |
| // Normal native |
| native void instanceMethodThatShouldTakeClass(int i, Class<?> c); |
| // Normal native |
| static native void staticMethodThatShouldTakeClass(int i, Class<?> c); |
| |
| // TODO: These 3 seem like they could work for @CriticalNative as well if they were static. |
| // Normal native |
| native float checkFloats(float f1, float f2); |
| // Normal native |
| native void 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); |
| // Normal native |
| native void checkParameterAlign(int i1, long l1); |
| |
| // Normal native |
| native void 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); |
| |
| // Normal native |
| native void withoutImplementation(); |
| // Normal native |
| native Object withoutImplementationRefReturn(); |
| // Normal native |
| native static void staticWithoutImplementation(); |
| |
| // Normal native |
| native static void 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); |
| |
| // Normal native |
| native static void 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); |
| |
| // Normal native |
| native static void 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); |
| |
| // Normal native |
| static native double logD(double d); |
| // Normal native |
| static native float logF(float f); |
| // Normal native |
| static native boolean returnTrue(); |
| // Normal native |
| static native boolean returnFalse(); |
| // Normal native |
| static native int returnInt(); |
| // Normal native |
| static native double returnDouble(); |
| // Normal native |
| static native long returnLong(); |
| |
| |
| |
| @FastNative |
| native void throwException_Fast(); |
| @FastNative |
| native void foo_Fast(); |
| @FastNative |
| native int bar_Fast(int count); |
| @FastNative |
| static native int sbar_Fast(int count); |
| @FastNative |
| native int fooI_Fast(int x); |
| @FastNative |
| native int fooII_Fast(int x, int y); |
| @FastNative |
| native long fooJJ_Fast(long x, long y); |
| @FastNative |
| native Object fooO_Fast(Object x); |
| @FastNative |
| native double fooDD_Fast(double x, double y); |
| @FastNative |
| native Object fooIOO_Fast(int x, Object y, Object z); |
| @FastNative |
| static native Object fooSIOO_Fast(int x, Object y, Object z); |
| @FastNative |
| static native int fooSII_Fast(int x, int y); |
| @FastNative |
| static native double fooSDD_Fast(double x, double y); |
| @FastNative |
| static native void arraycopy_Fast(Object src, int src_pos, Object dst, int dst_pos, int length); |
| @FastNative |
| native boolean compareAndSwapInt_Fast(Object obj, long offset, int expected, int newval); |
| @FastNative |
| static native int getText_Fast(long val1, Object obj1, long val2, Object obj2); |
| @FastNative |
| native Object[] getSinkPropertiesNative_Fast(String path); |
| |
| @FastNative |
| native Class<?> instanceMethodThatShouldReturnClass_Fast(); |
| @FastNative |
| static native Class<?> staticMethodThatShouldReturnClass_Fast(); |
| |
| @FastNative |
| native void instanceMethodThatShouldTakeClass_Fast(int i, Class<?> c); |
| @FastNative |
| static native void staticMethodThatShouldTakeClass_Fast(int i, Class<?> c); |
| |
| // TODO: These 3 seem like they could work for @CriticalNative as well if they were static. |
| @FastNative |
| native float checkFloats_Fast(float f1, float f2); |
| @FastNative |
| native void 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); |
| @FastNative |
| native void checkParameterAlign_Fast(int i1, long l1); |
| |
| @FastNative |
| native void 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); |
| |
| @FastNative |
| native void withoutImplementation_Fast(); |
| @FastNative |
| native Object withoutImplementationRefReturn_Fast(); |
| @FastNative |
| native static void staticWithoutImplementation_Fast(); |
| |
| @FastNative |
| native static void 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); |
| |
| @FastNative |
| native static void 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); |
| |
| @FastNative |
| native static void 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); |
| |
| @FastNative |
| static native double logD_Fast(double d); |
| @FastNative |
| static native float logF_Fast(float f); |
| @FastNative |
| static native boolean returnTrue_Fast(); |
| @FastNative |
| static native boolean returnFalse_Fast(); |
| @FastNative |
| static native int returnInt_Fast(); |
| @FastNative |
| static native double returnDouble_Fast(); |
| @FastNative |
| static native long returnLong_Fast(); |
| |
| |
| |
| @CriticalNative |
| static native int sbar_Critical(int count); |
| @CriticalNative |
| static native int fooSII_Critical(int x, int y); |
| @CriticalNative |
| static native double fooSDD_Critical(double x, double y); |
| |
| @CriticalNative |
| native static void staticWithoutImplementation_Critical(); |
| |
| @CriticalNative |
| native static void 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); |
| |
| @CriticalNative |
| native static void 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); |
| |
| @CriticalNative |
| native static void 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); |
| |
| @CriticalNative |
| static native double logD_Critical(double d); |
| @CriticalNative |
| static native float logF_Critical(float f); |
| @CriticalNative |
| static native boolean returnTrue_Critical(); |
| @CriticalNative |
| static native boolean returnFalse_Critical(); |
| @CriticalNative |
| static native int returnInt_Critical(); |
| @CriticalNative |
| static native double returnDouble_Critical(); |
| @CriticalNative |
| static native long returnLong_Critical(); |
| |
| |
| |
| // Check for @FastNative/@CriticalNative annotation presence [or lack of presence]. |
| public static native void normalNative(); |
| @FastNative |
| public static native void fastNative(); |
| @CriticalNative |
| public static native void criticalNative(); |
| } |