History log of /dalvik/vm/InlineNative.c
Revision Date Author Comments
a1227409084c4a675cc83ada128f364506528b9c 21-Aug-2010 Elliott Hughes <enh@google.com> Intrinsics for float/int and double/long conversions.

[cherry-picked e22bd84c8c8a57ddd86c21a1f65137d549b07935 from dalvik-dev to gingerbread]

Bug: 2935622
Change-Id: Ib4de19033dc4a08f41bf0eb0f7a21dcde216aae3
0d615c3ce5bf97ae65b9347ee77968f38620d5e8 18-Aug-2010 Andy McFadden <fadden@android.com> Always support debugging and profiling.

This eliminates the use of the WITH_DEBUGGER and WITH_PROFILER
conditional compilation flags. We've never shipped a device without
these features, and it's unlikely we ever will. They're not worth
the code clutter they cause.

As usual, since I can't test the x86-atom code I left that alone and
added an item to the TODO list.

Bug 2923442.

Change-Id: I335ebd5193bc86f7641513b1b41c0378839be1fe
de75089fb7216d19e9c22cce4dc62a49513477d3 09-Jun-2010 Carl Shapiro <cshapiro@google.com> Remove trailing whitespace.

Change-Id: I95534bb2b88eaf48f2329282041118cd034c812b
fbdcfb9ea9e2a78f295834424c3f24986ea45dac 29-May-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master

Change-Id: I0c0edb3ebf0d5e040d6bbbf60269fab0deb70ef9
e3c01dac83e6eea7f82fe81ed89cfbdd9791dbc9 21-May-2010 Carl Shapiro <cshapiro@google.com> Remove unused labels, variables, and functions. Enable warnings.

Change-Id: Icbe24eaf1ad499f28b68b6a5f05368271a0a7e86
942a5079a480814b2cad6a2cc4c31f3f44ef8b4c 26-Apr-2010 Andy McFadden <fadden@android.com> Add native method arguments to GC scan.

We want to identify arguments passed to native methods (internal native
or JNI) so that we can tell the GC to leave those blocks alone. The
alternative is to add explicit "add to tracked ref list" calls to a
bunch of internal natives and to the JNI call bridge.

We walk through the shorty signature to make this a precise scan.

Since something is now looking at the method arguments, it was necessary
to actually set a value in the argument area on the stack for the "fake"
native method entry points used for the main thread and for externally-
created threads that are later attached to the VM.

(The implementation is currently #ifdefed-out, since there's nothing
for it to do yet.)

Change-Id: I2143ea541bc2fc50e81d36ad1c251b041553eaef
2bdbcb6db8c3ab984cf64d4a3a3f0d5529aa9e52 12-Apr-2010 Elliott Hughes <enh@google.com> Fix supplementary character support.

Fixes all known bugs in our handling of supplementary characters. This change
introduces a performance regression on the assumption that it won't be released
without a corresponding JIT change to enable the code to be inlined back to
pretty much what it used to be.

Bug: 2587122
Change-Id: I3449c9718bbe32ebe53b6c10454ae1dc82105b59
ee34f594881ac2d859113db33baf5e141f5a58dd 06-Apr-2010 Elliott Hughes <enh@google.com> An InlineNative for String.isEmpty, so it's not slower than length() == 0.

Before:

benchmark ns logarithmic runtime
IsEmpty 115 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LengthEqualsZero 21 XXXXX||||||||||||||

With C intrinsic:

IsEmpty 30 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LengthEqualsZero 20 XXXXXXXXXXXXXXXXXXXX||||||

With assembler intrinsic:

IsEmpty 15 XXXXXXXXXXXXXXXXXXXX||||||
LengthEqualsZero 21 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

(All times on passion.)

Change-Id: Ifcc37fe7b8efdd377675a448e0085e490d6767bc
72e93344b4d1ffc71e9c832ec23de0657e5b04a5 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
7fb2edd2f69d11435da8dc0f1c251349238863b3 31-Aug-2009 Bill Buzbee <buzbee@google.com> Inline Sqrt bug fix; add support for fp/gen register copies
59a434629ba06d4decf7bc88a62ae370a1935f0e 03-Sep-2009 Andy McFadden <fadden@android.com> Add inline version of String.indexOf().

This provides an inline-native version of String.indexOf(int) and
String.indexOf(int, int), i.e. the functions that work like strchr().
Has a fairly solid impact on specific benchmarks. Might give a boost to
an app somewhere.

Added some indexOf tests to 020-string.

Added hard-coded field offsets for String. These are verified during
startup. Improves some of our String micro-benchmarks by ~10%.
50a6bf2f01efba0acbff9bb03e7ee09688553e08 08-Jul-2009 Bill Buzbee <buzbee@google.com> Inline-execute for Java.Lang.Math routines, jit codegen restructure, various bug fixes.
87cf7312247b341b54be26904e3600e98967d695 30-Jun-2009 Andy McFadden <fadden@android.com> Inline some java.lang.Math functions.

For a first pass, I inlined the various flavors of abs(), min()/max() on
integers, sqrt(), cos(), and sin(). These were selected based on a
static analysis of a few of our jar files.

A test of repeated sin/cos/sqrt calls on a G1-class device showed an
improvement of 28%. This would improve more on devices with VFP
support if the VM is compiled with -mfpu=vfp.

Also: clarified a warning and removed some "#if 0" stuff.
f6c387128427e121477c1b32ad35cdcaa5101ba3 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
f72d5de56a522ac3be03873bdde26f23a5eeeb3c 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
89c1feb0a69a7707b271086e749975b3f7acacf7 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
2ad60cfc28e14ee8f0bb038720836a4696c478ad 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution