History log of /libcore/luni/src/main/java/java/lang/System.java
Revision Date Author Comments
566618403d002719a94a6624a4ae032409318866 03-Oct-2014 Narayan Kamath <narayan@google.com> Make "user.home" changeable.

For backward compatibility. This property has always been
empty on android (and is documented as such).

This also includes a fix to treat setProperties(null) properly
to keep the test runners happy.

bug: 13238872
Change-Id: I5157fad30c4d07fb2baeeaf50e696fdcba5f1cdd
f8638c30c92778d307d056fa61448584141c3f05 01-Oct-2014 Calin Juravle <calin@google.com> Add method for initializing unchangeable system properties.

This is useful when the environment needs to change under native bridge
emulation.

Bug: 17713104
Change-Id: I074e45a60e5f2e798d6759a134ad637763d791ca
2c2875ce086f2eafedd5f7f7d077c97e24d75a6b 06-Sep-2014 jgu21 <jinghui.gu@intel.com> Libcore: Allow "os.arch" system property to be changed

In a native bridge environment, it is necessary to change the "os.arch"
system property to reflect the emulated architecture.

(cherry picked from commit a1bb82d0c77c4f0f1c7807caac2a4e526ffe4240)

Bug: 17671501

Change-Id: Iefdaa84d1804b0d0b170eded36ebe7c24111c13c
Signed-off-by: jgu21 <jinghui.gu@intel.com>
a48f80599f124e5d3ae0ad8add06efe86b4b0cde 24-Jul-2014 Emma Meersman <emeersman@google.com> Modified array threshold length for primitive types in arraycopy function.

As a result of improved benchmarking, the arraycopy function runs 35% faster
on average than a straight call to the native code for arrays of length 32 or shorter.

Bug: 7103825
Change-Id: I68600b01a6218d761be874528cfa70de56efdfdc
5bd063897de96e8560638d779c87670834cdba14 27-Jun-2014 Emma Meersman <emeersman@google.com> Fixed build for arraycopy with objects.

Enabled arraycopy to call native code when passed two objects.

Change-Id: I77f9455550acc53ab59ec2dc85cb1fe4d75583c9
242e5a64fe6162291a478d7dd183c0dcdf312b19 27-Jun-2014 Andreas Gampe <agampe@google.com> Fix System.arraycopy

The generic version of arraycopy does not work. Remove it.

Change-Id: I524289874cfbf62ed0af3c91264180041342c3f1
f14b3694de2011c0c44beac9e0f8b9871ba888db 18-Jun-2014 Emma Meersman <emeersman@google.com> Expanded arraycopy function to deal with more types and updated benchmarking.

Runs 48% faster on average for short arrays of length 16-128, depending on the type. Defaults to
native code for longer arrays.

Bug: 7103825
Change-Id: I70ca8f4a379600917e5bc103364af0637f18e03a
71cbf28e3323dc9f0898deff6904cdedcbb88c59 06-Jun-2014 Elliott Hughes <enh@google.com> Improve the load/loadLibrary documentation.

Also improve the exception detail message for the default case.

Experience with third-party app developers is that the current documentation
is unhelpful and the current exception detail message is misleading. If we
didn't have to use the existing ClassLoader API, we could actually list the
exact pathnames we'd tried.

Change-Id: I31e1980addf34d6ada6a112949801c970f73bd2b
a359fef674d3d8dcaf1cc4fe643d4d21f7eb8352 21-May-2014 Neil Fuller <nfuller@google.com> Fix merge for System.java

If9306b2ce447eabbf2c1f9f1bd05c371a0cccde5 reintroduced some lines
removed by I1457a63ead89fa8f8aeabc002c0b9038295b886e

Re-removing them.

Change-Id: I24b1d94f4317c5fb12454110e2676b6bfc9cb646
5d930cadc8f62aee5f18e7921296fe66a54f18ab 24-Apr-2014 Elliott Hughes <enh@google.com> Groundwork towards making the Libcore.os functionality public.

Change-Id: Ie700aa16d91fba53fc5eb2555829cb74d84b12ad
a6c26760ff2f6d3ae5794f5b15509f965b991f17 14-Feb-2014 Narayan Kamath <narayan@google.com> DO NOT MERGE Make system properties read only.

The issue is that some parts of the system libraries
(and the runtime) assume that these properties are
immutable. This change enforces that notion and makes
behaviour a lot more predictable.

This is not a backwards compatible change, but based
on analysis of code available to me I couldn't find any
instances where this change would break any application.

Has the side effect of fixing..

(cherry-picked from commit f63153ac0ec510b0111d01805097bbd08ccf64ab)

Bug: 13763685
Bug: 13763900

Change-Id: I60c73713c97a4721d0b9781010333a9e9c883534
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
f63153ac0ec510b0111d01805097bbd08ccf64ab 14-Feb-2014 Narayan Kamath <narayan@google.com> Make system properties read only.

The issue is that some parts of the system libraries
(and the runtime) assume that these properties are
immutable. This change enforces that notion and makes
behaviour a lot more predictable.

This is not a backwards compatible change, but based
on analysis of code available to me I couldn't find any
instances where this change would break any application.

Has the side effect of fixing..

bug: 12491204
bug: 12491159

Change-Id: I60c73713c97a4721d0b9781010333a9e9c883534
930e26f0f59c0ce1020524269c82492f3c4ea722 28-Jan-2014 Mathieu Chartier <mathieuc@google.com> Avoid running Runtime.gc() until we need to run finalization.

This prevents excessive explicit GC which are called from apps to get
good GC behavior on Dalvik. Calling System.gc() does not help on ART
since GC for alloc is much rarer.

If running finalizers is requested following a System.gc we remember
that a GC was requested and perform it ahead of finalization.

Bug: 12004934

Change-Id: Id1343ce8b5378c5f53c1e5649c06ddd045f56a3b
ecaad2eb243bfad1533d4d8c37903462c4e8a624 02-Oct-2013 Hiroshi Yamauchi <yamauchi@google.com> Fix a CTS SystemTest.testArrayCopyNull failure due to

a3eb10feba1c3479ad99ef5c5323d011a5365f4b

(cherry picked from commit 73d6e091ebad0ac8b046787cb561af10ffb1477d)

Change-Id: I887ba21cba79d1d9b29dad17017d16bcd7296bba
9edc1d397e9de3d50cbebd550262a51a6926e924 22-Aug-2013 Hiroshi Yamauchi <yamauchi@google.com> A char array copy optimization (libcore).

- Based on measurements, copy char by char for arrays of length <= 64.
- With this change, the Ritz MemAllocBench got ~25% faster on Nexus 4
and ~20% faster on host.
- This change only handles arraycopy calls in the core libraries and
char arrays with the rest future work.

Bug: 7103825

(cherry picked from commit a3eb10feba1c3479ad99ef5c5323d011a5365f4b)

Change-Id: Ic002ced3bc2f2a682cd4b8cec07ede990edd7463
369c46ce938ac502b2d005cdc8464cd19d771de3 15-Oct-2013 Hiroshi Yamauchi <yamauchi@google.com> Fix an array copy optimization bug.

When we copy within the same array, we need to take care of
overlapping range cases and copy backward in some cases. Verifed with
TestBigDecimal and CTS tests.api.java.math.BigDecimalTest.

Bug: 11233386
Bug: 9986565

(cherry picked from commit 7f2504897c33ab3c312028b4546818bc2d037bc7)

Change-Id: I5243c01222c58c137ad2595048372022c689576d
577a49d540a7191fbb3c15311f6229e7a75ed6e6 20-Aug-2013 Glenn Kasten <gkasten@google.com> Clarify that nanoTime works between processes

(cherry-pick of a00497d7629726a7d258cefb7318d4ee2cd10c56.)

Change-Id: I16800bdc8fb1fe45128d3f2f8be97bd7977f8a63
a00497d7629726a7d258cefb7318d4ee2cd10c56 20-Aug-2013 Glenn Kasten <gkasten@google.com> Clarify that nanoTime works between processes

Change-Id: I7b71096aa5189c6f31d18931ebe95dc20478a9f1
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
99b4489d0555c6e0e5df941cbfad4cf250c8f0b8 07-Jun-2013 Elliott Hughes <enh@google.com> Fix @deprecated javadoc orthography.

Change-Id: I6db6d91e21b8e1aca5b5338534196fd5bdef8a06
41d00b744b7772f9302fdb94dddadb165b951220 15-May-2013 Elliott Hughes <enh@google.com> Simplify defaulting for system properties, and trust the environment less.

The originally-reported bug (https://android-review.googlesource.com/58258)
was that dalvik would fail to start if LD_LIBRARY_PATH was unset.

This changes things so we no longer have multiple default values for
java.library.path, cope better with that not being set, and don't set
it if LD_LIBRARY_PATH isn't set.

Change-Id: I55d48a35b1b42df872e6dcd0a38fc7bc4b8cad5a
8ffa0b68c9fd3f722bee2bcd94b1d38151a0791d 13-May-2013 Elliott Hughes <enh@google.com> Un-@hide various APIs.

Bug: 3484927
Change-Id: I4cda326a31240135d883528d9cb976a9db084234
af8bffb1e33737ede93acded30496b0b13254ab6 01-May-2013 Elliott Hughes <enh@google.com> Improve System.nanoTime documentation.

Bug: 8733179

(cherry picked from commit 37f79a6eb5d4f378ff6b0b56e21d5d5d1f4cc9a2)

Change-Id: I8e4a860909e3f21e45e13cf9937d851a8add38c7
37f79a6eb5d4f378ff6b0b56e21d5d5d1f4cc9a2 01-May-2013 Elliott Hughes <enh@google.com> Improve System.nanoTime documentation.

Bug: 8733179
Change-Id: I12cf7fba00736ff1e9b2d8b2a1f5e50cf1070353
15d82808bab24f399a034d086f587d5fab32522e 27-Feb-2013 Elliott Hughes <enh@google.com> Make the CLDR version available.

Change-Id: I745b0153ae1dd9eb24dc02b19ac5ab34638a07e3
cff1616012dc0d56c2da9af2b9b1183e76c7e044 04-Dec-2012 Elliott Hughes <enh@google.com> Add detail messages to all the easy IllegalArgumentException cases.

Noticed during my recent Matcher change.

Change-Id: I415d911b26d0ee548ca04d56bba7fc3d4e6b3f88
56fc18dce274c5d5ba56f7b50c5467320b7af807 26-Nov-2012 Elliott Hughes <enh@google.com> Further clarification of System.currentTimeMillis/Date/SimpleDateFormat.

Change-Id: I91c5bc888e5ae2d368e4c063cd5741e840a21dec
b98632738dfc72ba32ae0160eada03a97a303288 08-Nov-2012 Elliott Hughes <enh@google.com> Improve the System.currentTimeMillis/Date/DateFormat/SimpleDateFormat documentation.

15 years later, this stuff is still causing confusion.

Change-Id: Id68d43014b72de2cf620cf1798517106fd68d229
6f9a604de20786839e20a87e05203e54b0c0efa7 08-Nov-2012 Elliott Hughes <enh@google.com> Remove dead code.

Change-Id: I389bf967ed9a11de8ecb194bf06f69164ac4da4c
0883232ea56c06c9c530ec924fdaf21f19f3f14c 11-Oct-2012 Elliott Hughes <enh@google.com> Explain that System.arraycopy is like memmove(3), not memcpy(3).

Change-Id: I1e581cfbddf861fdcd918833dcd85306b96ef1ac
d43b9ef11a1095967a3396b246639b563e1a4128 12-Sep-2012 Kenny Root <kroot@google.com> Add consistent reasons for NullPointerException

Semi-automated replacement of empty and non-conforming
NullPointerException reason messages.

(cherry-pick of 86acc043d3334651ee26c65467d78d6cefedd397.)

Change-Id: I6d893979f5c20a50e841e32af9fd7b2d8bc9d54d
86acc043d3334651ee26c65467d78d6cefedd397 12-Sep-2012 Kenny Root <kroot@google.com> Add consistent reasons for NullPointerException

Semi-automated replacement of empty and non-conforming
NullPointerException reason messages.

Change-Id: Iedeb4b21949e973c4042ce5982dda315f2e785e1
f0e583ce305f656c05aa2f7dc2878c2e314d418c 07-Jun-2012 Elliott Hughes <enh@google.com> Buffer System.in.

Android apps won't notice this, but command-line tools will. Console was
already doing this.

Bug: 6603218
Change-Id: I0f65f3154f5e3ec5c49a6a2c4c87f30a846bb008
2e86dac8a4a2c2bbffb143cfcf9c0fb0ebc045b0 02-Mar-2012 Nick Kralevich <nnk@google.com> System: incorporate comments from previous review.

Change-Id: Ieb6a4c75389dbafe832db0c3a2efdd133a062e73
e401d6274863e8e59c5cdfd26b82ec1cdda39c09 02-Mar-2012 Nick Kralevich <nnk@google.com> System: improve setSecurityManager documentation.

Make it clearer that setSecurityManager method always throws
a SecurityException. It's easy to miss the current
"@throws SecurityManager always" line when you're reading the
docs.

Change-Id: Id5475bd952bd4e4a27a0058034c1b508b28a4f0f
99c5c63d6b8261991ac3b3af09a5cb96761e1173 24-May-2011 Elliott Hughes <enh@google.com> Update a useless system property.

Change-Id: I30424eba04a9c1eef976eac02a7d139e7c6c5af1
fe711d61cafbb878d1d6a5e223fcd2201f2e829a 23-Apr-2011 Elliott Hughes <enh@google.com> Don't use ScopedJavaUnicodeString where ScopedStringChars will do.

Plus a few other random bits of tidying. (This is the detritus from a more
significant change that will need to be cherry-picked. I'm keeping this
separate from the active ingredients of the change.)

Change-Id: I0ae90e8835cba888596efd33b540eb31c784682f
ae394a866dd86df8819b652dfe00b3d2c7ee204c 20-Apr-2011 Elliott Hughes <enh@google.com> Remove "java.net.preferIPv6Addresses", which has been true since Eclair.

Also ensure all javadoc references to RFCs are links.

Change-Id: I58b08a8ead08d6eab018e19ec2cff7d60f2b06e6
ac0bbf7cc5f183addacd31351d9b876e2bbf0334 25-Mar-2011 Elliott Hughes <enh@google.com> Remove dead cruft.

And warn about the inadvisability of changing built-in system properties.

Bug: 4174340
Change-Id: Ibd6258f56c608fa884cbd243223b50b12eb505ec
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
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
b4acb463582a510894aeb85f4fa8f35b339449c8 03-Mar-2011 Elliott Hughes <enh@google.com> Add and use System.lineSeparator.

Also remove some duplication and improve some documentation.

Bug: 3484927
Change-Id: I16d673e54ecdc79b77c3f317666519923d11ebe8
99e234cc3322b6c88c9d883da45116d9ec8271db 23-Feb-2011 Elliott Hughes <enh@google.com> Be more consistent about VM.

Also add more warnings about the default locale, and remove dead code.

Change-Id: I103cbf52f7aadc8e1132d7fad72ef2b0abc851f4
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
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
e0e567287e4392bebc5f5826b8ef3b1bd8ca166e 11-Feb-2011 Elliott Hughes <enh@google.com> Add system properties that report our ICU4C and Unicode versions.

Bug: 3413364
Change-Id: Ibbc4ab3564bc3329275a1a828f86750aa6beb200
24923f9042b142165f7176f1aa44a797145f11a7 10-Feb-2011 Elliott Hughes <enh@google.com> Move more of the system properties handling into managed code.

Bug: 3413364
Change-Id: Ifc9b54255e11fd7df5517b88d8774dd747a7ec3d
640e4a73d88b750b63d381ef52b041876df272ae 10-Feb-2011 Elliott Hughes <enh@google.com> Move more system property handling into managed code.

Bug: 3413364
Change-Id: Ia056a8037f6be88f9b146f665fe7180868e1ff69
ad41624e761bcf1af9c8008eb45187fc13983717 07-Jan-2011 Elliott Hughes <enh@google.com> Retire SecurityManager.

This change removes all the code that was calling getSecurityManager, and
removes all use of AccessController.doPrivileged. It also changes the
implementation of AccessController so it doesn't actually do anything; it's
only there for source-level compatibility.

Bug: 2585285
Change-Id: I1f0295a4f12bce0316d8073011d8593fee116f71
2fc5dcd5614f910f25d794d272834752a72e63b1 09-Dec-2010 Elliott Hughes <enh@google.com> Apply various Intellij quick fixes to java.lang.

There's one real bug here: our Integer.toString was supposed to have a cache
for small negative values, but an accidentally-introduced temporary meant we
were never using the cached values. Other than that, this is just cleanup.

Change-Id: I457f9bd166c9a029ba8b439f3bbfa926f9b84cc9
f46968564e0a773590292474fa9e50797b18bd42 01-Oct-2010 Elliott Hughes <enh@google.com> Better detail messages for System.loadLibrary UnsatisfiedLinkErrors.

This has a companion change in dalvik:
https://android-git.corp.google.com/g/71344

Bug: 3044042
Change-Id: Ia665ee59adf1ae1dbb45ba95988355839f4b0f23
2333d6b20eed39cfac75edaf9643aaf543251537 26-Aug-2010 Jesse Wilson <jessewilson@google.com> Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang.

These classes contained tests duplicated in Harmony and libcore. I've
removed the duplicate tests and moved the libcore originals into the
libcore/ test directory.

Also fixing System.getEnv() to return a map that implements equals()
and hashCode(). This was breaking Harmony's ProcessBuilder test.

Change-Id: Iffdb0cc8f2ca3df206c8bc1f89ae16fc4e309f73
7365de1056414750d0a7d1fdd26025fd247f0d04 12-Aug-2010 Jesse Wilson <jessewilson@google.com> Sorting imports.

Change-Id: I8347bc625480a1c37a1ed9976193ddfedeb00bbc
16773d4f29a6cc3d0ab11f66ff15d606cffe4059 12-Jul-2010 Elliott Hughes <enh@google.com> Improved System.getProperty documentation.

We were claiming to support properties we don't (and aren't required to), but
missing many that we do (and are required to).

Change-Id: I39e5c5beb2e341c690187557b4dd1bce369952da
ccbe3404e0691dab506d017550658e8e5974c83e 10-Jul-2010 Elliott Hughes <enh@google.com> Use 'dst' (or an even more appropriate name where possible) rather than 'dest'.

(The ArrayIndexOutOfBoundsException for System.arraycopy already talks
about 'dst' and 'dstPos'.)

Change-Id: Iba9415dd4a9ec3b457938ea4469b4a0024bab6e4
162a12c1442641a95fe95859fa4e561b22db049f 25-May-2010 Elliott Hughes <enh@google.com> Remove @hide from Java 6 API.

I've left the two new spi packages @hidden, because I think we shouldn't
support them without convincing demand from developers (and I don't
believe there could be such a thing --- they just don't make sense, and
if we add anything, it should be the ability to provide extra ICU data).

Also fix a handful of javadoc syntax errors in Arrays.java and TreeMap.java.

Bug: 2497395
Change-Id: I4176b72daff0face4ed6c7ee1d1f4267d52006b4
f33eae7e84eb6d3b0f4e86b59605bb3de73009f3 13-May-2010 Elliott Hughes <enh@google.com> Remove all trailing whitespace from the dalvik team-maintained parts of libcore.

Gentlemen, you may now set your editors to "strip trailing whitespace"...

Change-Id: I85b2f6c80e5fbef1af6cab11789790b078c11b1b
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