History log of /libcore/luni/src/main/native/java_lang_System.cpp
Revision Date Author Comments
1bc030b6c8a52e1911efcd58d6fbc7f982649167 04-Apr-2014 Elliott Hughes <enh@google.com> Finish moving away from LD_LIBRARY_PATH on Android.

We'll still use LD_LIBRARY_PATH if it's set, for testing or for the
host, but we now ask the dynamic linker what to do.

Bug: 12585421
Change-Id: I1457a63ead89fa8f8aeabc002c0b9038295b886e
1707e28f1f97ebb4944a9eec1e654c2eaaf424cb 26-Oct-2013 Ian Rogers <irogers@google.com> Mark System currentTimeMillis and nanoTime as fast.

(cherry picked from commit 8ac8f1dd19ffa2847c69f82336ee81b40fad3638)

Change-Id: Idb4714570acd8c2af22df87799e2e1becde5e596
0b10fe2c299ec69c64877c2dcc1fe991009495f6 21-Jan-2012 Elliott Hughes <enh@google.com> Fix libcore to build on Mac OS.

The Posix and RawSocket classes are just preprocessored away, and OsConstants
is largely gutted (even though there's an obvious mechanical workaround that
might even be usable), but the rest are (I believe) production-quality fixes.

(cherry picked from commit a0c6e6e3bf936c3912db6df2346916d5f6130f1a)

Change-Id: Ib3dd1151a2896d9a85a50d528ee8378dfda0e5b8
508bf13ba75610c75c4f40811dde0ec7e401f4c1 21-Jun-2013 Elliott Hughes <enh@google.com> Revert "Use CLOCK_MONOTONIC_RAW for System.nanoTime."

This reverts commit 7757924895a28a43ab9f7c3931cc9f972e870ddc.

Further investigation suggests this is a worse clock for our purposes, not the better one it would appear to be from the man page. It looks more like it should have been called CLOCK_TSC.

Change-Id: I6bf7fe4dac19272f145d240917129b4d5ab5ade1
7757924895a28a43ab9f7c3931cc9f972e870ddc 21-Jun-2013 Elliott Hughes <enh@google.com> Use CLOCK_MONOTONIC_RAW for System.nanoTime.

We still need to use CLOCK_MONOTONIC on Darwin.

Bug: 9511688
Change-Id: Ieb1091e24ad5cd3bab79a4de1b1494cc64eef3d4
22ccdd01e2fabc37d858be32291a854ff72f1840 31-Aug-2011 Elliott Hughes <enh@google.com> Move System.currentTimeMillis, nanoTime, and mapLibraryName into the library.

(cherry-picked from commit 37d6cc06f62b2029663137a1b8c18242152c1e97)

Change-Id: I3b3aa3f508b9c6f43b27022cd8bc9aa82e630e01
7cd6760f7045d771faae8080a8c6150bf678f679 04-May-2012 Elliott Hughes <enh@google.com> Make libjavacore independent of libnativehelper for the PDK.

Bug: 6369821
Change-Id: Ie038571a5dac1f301c0c3c6fb84df432e67b62c0
679cf68b607e9b4a3beb8bcdee06868ae583386f 08-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: I3deb0b1b71cf4ec6d82921a2e0015c3a7b397cbf
8545b837c61c3eaea2b8433b6791aa401f37e5f7 09-Jun-2011 Elliott Hughes <enh@google.com> Tidy a few includes.

Change-Id: I8a46fcea81b9bd354fa1cd5c3dd49b5b29015739
26c7025a7a919044771fb89031161bd26fe03032 26-Mar-2011 Elliott Hughes <enh@google.com> Add read(2).

For both byte[]s and ByteBuffers.

Bug: 3107501
Change-Id: I93b781069ade4507371c8fe8c5fda0163fbb2dbb
7341b9ed7157a1e37a3e69a0974676da358b735a 24-Mar-2011 Elliott Hughes <enh@google.com> Add uname(2).

This replaces InetAddress's use of gethostname(2), and System's hard-coded use
of uname(2) itself.

Bug: 3107501
Change-Id: I7e808177eece1e38428fea18a96c65628d51d93e
bdb717ae237f4bb9b14b61a2d24150106ac8e6c7 18-Mar-2011 Elliott Hughes <enh@google.com> Simplify the constant initialization.

Bug: 3107501
Change-Id: I07b035482de00cb39c735e3acd9387fcbc22b30a
ddfdbb9d172fe9b72e08e8d7deab0aa3b8acf044 17-Mar-2011 Elliott Hughes <enh@google.com> Add access(2), strerror(3) and access to environ.

Update java.io.File and java.lang.System to use the new functionality
rather than brewing their own.

Bug: 3107501
Change-Id: I5fa63190d240d638f44a911401143ffb2af9d395
ec617e2cb4a374f0fd8fbda4a633214cf23a59a9 17-Mar-2011 Elliott Hughes <enh@google.com> Move the getenv(3) native code out of System as a demo.

This is a fairly trivial patch, just to show the general structure.

Bug: 3107501
Change-Id: I547df621ccb8b8874e5f74c4d0bcf84ccaef97c3
a7ef55258ac71153487357b861c7639d627df82f 22-Feb-2011 Elliott Hughes <enh@google.com> Simplify internal libcore logging.

Expose LOGE and friends for use from Java. This is handy because it lets me use
printf debugging even when I've broken String or CharsetEncoder or something
equally critical. It also lets us remove internal use of java.util.logging,
which is slow and ugly.

I've also changed Thread.suspend/resume/stop to actually throw
UnsupportedOperationException rather than just logging one and otherwise
doing nothing.

Bug: 3477960
Change-Id: I0c3f804b1a978bf9911cb4a9bfd90b2466f8798f
ddafeb1d73cfe504720d10a2634b5858fc4cc413 19-Feb-2011 Elliott Hughes <enh@google.com> Rationalize our various native conversions to java.lang.String[].

We could probably get away with even fewer, but this seems an appropriate
amount of effort for now...

Change-Id: Ieef83250295324bab222fe529913d8f4e93817f4
2ef68714ff84d43705f57f724fbcb1a28ebd954d 18-Feb-2011 Elliott Hughes <enh@google.com> More system properties work.

This patch moves the last of dalvikvm's property setting (other than the
command-line -D stuff, which is inherently the VM's job) into libcore. It
also adds a couple of new properties giving the openssl and zlib library
versions.

Change-Id: I4569b65fad0585c3878ad5eaa0234ed95768b1f9
e22935d3c7040c22b48d53bd18878844f381287c 13-Aug-2010 Elliott Hughes <enh@google.com> Remove most of our C-style casts.

After being burned by an incorrect C-style cast that cast away const, I've been
keen to remove them all and turn on -Wold-style-cast. This patch doesn't get us
that far, but it does kill the majority of our C-style casts. In turn, the
majority of the casts that it removes are the ones from our tables of native
methods to be registered.

The new NATIVE_METHOD macro also _enforces_ our convention of using the
"Class_nativeMethod" style of naming. Mostly this works out fine. In some
cases (most notably ExpatParser and ExpatAttributes) I've had to un-overload
a few functions, but I don't like overloading anyway, and in the particular
case of a native method, where the stack trace doesn't show a line number,
overloading makes it one step harder to work out which native method you're
actually in. So good riddance to that. The only unfortunate case is
Math.copySign, where there are two overloads corresponding to copysign(3)
and copysignf(3). I had to add an extra layer of indirection there. In my
defense, we've never shipped these functions before, they're unlikely to
become anyone's hotspot, and the right fix is to be doing such trivial work
on the Java side anyway, with intrinsics making the conversion between
float/double and int/long cheap.

This patch also replaces other C-style casts, primarily in
"OSNetworkSystem.cpp".

This patch also removes unnecessary uses of the "struct" keyword.

This patch also fixes a "may be used uninitialized" warning (now error) in
the sim build for "ICU.cpp".

The remaining C-style casts are in the hairy float-parsing code. That stuff --
and turning on -Wold-style-cast -- will have to wait for another day.

Change-Id: I9b3ee14aefd4676f980f6a7ca757595d78d80e6a
abf945fb9ce99d8c2769ac5b2691b2732fa59887 04-Jun-2010 Elliott Hughes <enh@google.com> Bullet-proof the lseek/read in Inflater.setFileInput.

Also document why that non-API method exists, and that we don't have
benchmarks to support the claimed optimization.

Also be more consistent about setting LOG_TAG, and fix a few old-school
copyright headers.

Change-Id: If9fdc4583eaf91275ed44e2dc56174819d1913d0
05960876dff6a5b686821eed8f7ae7cef5af4f50 27-May-2010 Elliott Hughes <enh@google.com> Enhance ScopedUtfChars to include the null check most callers were missing.

Also switch most non-users over to ScopedUtfChars.

Also ensure all users check that ScopedUtfChars was successful in getting the
chars.

Also rewrite ObjectInputStream and ObjectOutputStream without duplication.

Change-Id: I929d00fe3ff50b303cba4a2cf2269355e9fef5f9
6b811c5daec1b28e6f63b57f98a032236f2c3cf7 03-May-2010 Peter Hallam <peterhal@google.com> Merge awt-kernel, icu, luni-kernel, prefs, security-kernel, x-net into luni
Merge xml except xmlpull and kxml into luni