diff options
Diffstat (limited to 'vm/InlineNative.cpp')
-rw-r--r-- | vm/InlineNative.cpp | 80 |
1 files changed, 35 insertions, 45 deletions
diff --git a/vm/InlineNative.cpp b/vm/InlineNative.cpp index 80d522a39..00c1e9554 100644 --- a/vm/InlineNative.cpp +++ b/vm/InlineNative.cpp @@ -732,51 +732,41 @@ const InlineOperation gDvmInlineOpsTable[] = { "Lorg/apache/harmony/dalvik/NativeTestTarget;", "emptyInlineMethod", "()V" }, - { javaLangString_charAt, - "Ljava/lang/String;", "charAt", "(I)C" }, - { javaLangString_compareTo, - "Ljava/lang/String;", "compareTo", "(Ljava/lang/String;)I" }, - { javaLangString_equals, - "Ljava/lang/String;", "equals", "(Ljava/lang/Object;)Z" }, - { javaLangString_fastIndexOf_II, - "Ljava/lang/String;", "fastIndexOf", "(II)I" }, - { javaLangString_isEmpty, - "Ljava/lang/String;", "isEmpty", "()Z" }, - { javaLangString_length, - "Ljava/lang/String;", "length", "()I" }, - - { javaLangMath_abs_int, - "Ljava/lang/Math;", "abs", "(I)I" }, - { javaLangMath_abs_long, - "Ljava/lang/Math;", "abs", "(J)J" }, - { javaLangMath_abs_float, - "Ljava/lang/Math;", "abs", "(F)F" }, - { javaLangMath_abs_double, - "Ljava/lang/Math;", "abs", "(D)D" }, - { javaLangMath_min_int, - "Ljava/lang/Math;", "min", "(II)I" }, - { javaLangMath_max_int, - "Ljava/lang/Math;", "max", "(II)I" }, - { javaLangMath_sqrt, - "Ljava/lang/Math;", "sqrt", "(D)D" }, - { javaLangMath_cos, - "Ljava/lang/Math;", "cos", "(D)D" }, - { javaLangMath_sin, - "Ljava/lang/Math;", "sin", "(D)D" }, - - { javaLangFloat_floatToIntBits, - "Ljava/lang/Float;", "floatToIntBits", "(F)I" }, - { javaLangFloat_floatToRawIntBits, - "Ljava/lang/Float;", "floatToRawIntBits", "(F)I" }, - { javaLangFloat_intBitsToFloat, - "Ljava/lang/Float;", "intBitsToFloat", "(I)F" }, - - { javaLangDouble_doubleToLongBits, - "Ljava/lang/Double;", "doubleToLongBits", "(D)J" }, - { javaLangDouble_doubleToRawLongBits, - "Ljava/lang/Double;", "doubleToRawLongBits", "(D)J" }, - { javaLangDouble_longBitsToDouble, - "Ljava/lang/Double;", "longBitsToDouble", "(J)D" }, + { javaLangString_charAt, "Ljava/lang/String;", "charAt", "(I)C" }, + { javaLangString_compareTo, "Ljava/lang/String;", "compareTo", "(Ljava/lang/String;)I" }, + { javaLangString_equals, "Ljava/lang/String;", "equals", "(Ljava/lang/Object;)Z" }, + { javaLangString_fastIndexOf_II, "Ljava/lang/String;", "fastIndexOf", "(II)I" }, + { javaLangString_isEmpty, "Ljava/lang/String;", "isEmpty", "()Z" }, + { javaLangString_length, "Ljava/lang/String;", "length", "()I" }, + + { javaLangMath_abs_int, "Ljava/lang/Math;", "abs", "(I)I" }, + { javaLangMath_abs_long, "Ljava/lang/Math;", "abs", "(J)J" }, + { javaLangMath_abs_float, "Ljava/lang/Math;", "abs", "(F)F" }, + { javaLangMath_abs_double, "Ljava/lang/Math;", "abs", "(D)D" }, + { javaLangMath_min_int, "Ljava/lang/Math;", "min", "(II)I" }, + { javaLangMath_max_int, "Ljava/lang/Math;", "max", "(II)I" }, + { javaLangMath_sqrt, "Ljava/lang/Math;", "sqrt", "(D)D" }, + { javaLangMath_cos, "Ljava/lang/Math;", "cos", "(D)D" }, + { javaLangMath_sin, "Ljava/lang/Math;", "sin", "(D)D" }, + + { javaLangFloat_floatToIntBits, "Ljava/lang/Float;", "floatToIntBits", "(F)I" }, + { javaLangFloat_floatToRawIntBits, "Ljava/lang/Float;", "floatToRawIntBits", "(F)I" }, + { javaLangFloat_intBitsToFloat, "Ljava/lang/Float;", "intBitsToFloat", "(I)F" }, + + { javaLangDouble_doubleToLongBits, "Ljava/lang/Double;", "doubleToLongBits", "(D)J" }, + { javaLangDouble_doubleToRawLongBits, "Ljava/lang/Double;", "doubleToRawLongBits", "(D)J" }, + { javaLangDouble_longBitsToDouble, "Ljava/lang/Double;", "longBitsToDouble", "(J)D" }, + + // These are implemented exactly the same in Math and StrictMath, + // so we can make the StrictMath calls fast too. Note that this + // isn't true in general! + { javaLangMath_abs_int, "Ljava/lang/StrictMath;", "abs", "(I)I" }, + { javaLangMath_abs_long, "Ljava/lang/StrictMath;", "abs", "(J)J" }, + { javaLangMath_abs_float, "Ljava/lang/StrictMath;", "abs", "(F)F" }, + { javaLangMath_abs_double, "Ljava/lang/StrictMath;", "abs", "(D)D" }, + { javaLangMath_min_int, "Ljava/lang/StrictMath;", "min", "(II)I" }, + { javaLangMath_max_int, "Ljava/lang/StrictMath;", "max", "(II)I" }, + { javaLangMath_sqrt, "Ljava/lang/StrictMath;", "sqrt", "(D)D" }, }; /* |