<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_libnativehelper/include, branch brillo-m7-release</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/'/>
<entry>
<title>Speed up ScopedPrimitiveArrayRO</title>
<updated>2015-09-12T01:19:22+00:00</updated>
<author>
<name>Mathieu Chartier</name>
<email>mathieuc@google.com</email>
</author>
<published>2015-09-04T23:37:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=e7fc23d82cf85b312ccbd85f098e3db19c86c24e'/>
<id>e7fc23d82cf85b312ccbd85f098e3db19c86c24e</id>
<content type='text'>
For small arrays &lt;= 1024 elements, we use GetArrayRegion with stack
allocated backing storage instead of GetArrayElements. The speedup
comes from the fact that GetArrayRegion doesn't need to allocate a
copy of array.

Timing results for:
https://android-review.googlesource.com/#/c/169727/

BEFORE

Host:
Byte length=1 ns/op=452.2633712
Short length=1 ns/op=468.6469192
Int length=1 ns/op=422.5663486
Long length=1 ns/op=423.4946638
Byte length=8 ns/op=424.8546962
Short length=8 ns/op=424.3842626
Int length=8 ns/op=424.3816324
Long length=8 ns/op=452.9407552
Byte length=64 ns/op=441.674149
Short length=64 ns/op=472.2310028
Int length=64 ns/op=455.6142958
Long length=64 ns/op=487.6810328
Byte length=512 ns/op=454.0858634
Short length=512 ns/op=497.675829
Int length=512 ns/op=481.2103832
Long length=512 ns/op=507.4674306
Byte length=4096 ns/op=531.7923602
Short length=4096 ns/op=648.254466
Int length=4096 ns/op=578.0794842
Long length=4096 ns/op=563.3641424

N5:
Byte length=1 ns/op=3118.2292802
Short length=1 ns/op=3083.7797488
Int length=1 ns/op=3177.8996446
Long length=1 ns/op=3151.0892072
Byte length=8 ns/op=3287.7326966
Short length=8 ns/op=3126.5799676
Int length=8 ns/op=3197.3203112
Long length=8 ns/op=3201.0613218
Byte length=64 ns/op=3178.7730612
Short length=64 ns/op=3162.2255092
Int length=64 ns/op=3241.3191864
Long length=64 ns/op=3117.6674886
Byte length=512 ns/op=3106.540978
Short length=512 ns/op=3183.0501344
Int length=512 ns/op=3513.8142382
Long length=512 ns/op=3592.4372798
Byte length=4096 ns/op=3552.9428216
Short length=4096 ns/op=3997.586686
Int length=4096 ns/op=4545.2151442
Long length=4096 ns/op=4371.4996338

AFTER

Host:
Byte length=1 ns/op=261.764995
Short length=1 ns/op=238.6584262
Int length=1 ns/op=262.856902
Long length=1 ns/op=238.0286378
Byte length=8 ns/op=242.4962264
Short length=8 ns/op=247.8668746
Int length=8 ns/op=263.9420024
Long length=8 ns/op=243.3675294
Byte length=64 ns/op=243.3372902
Short length=64 ns/op=249.0408034
Int length=64 ns/op=250.2168296
Long length=64 ns/op=253.837053
Byte length=512 ns/op=252.8071526
Short length=512 ns/op=271.689653
Int length=512 ns/op=291.8933238
Long length=512 ns/op=341.6303746
Byte length=4096 ns/op=540.8749038
Short length=4096 ns/op=661.7068158
Int length=4096 ns/op=569.030217
Long length=4096 ns/op=565.0571702

N5:
Byte length=1 ns/op=1209.4042078
Short length=1 ns/op=1207.2498746
Int length=1 ns/op=1377.0557706
Long length=1 ns/op=1348.6359368
Byte length=8 ns/op=1260.0724162
Short length=8 ns/op=1229.6107912
Int length=8 ns/op=1414.1408952
Long length=8 ns/op=1394.1158746
Byte length=64 ns/op=1232.532947
Short length=64 ns/op=1228.1248122
Int length=64 ns/op=1468.2667912
Long length=64 ns/op=1404.232687
Byte length=512 ns/op=1256.976093
Short length=512 ns/op=1335.5540308
Int length=512 ns/op=1599.6927076
Long length=512 ns/op=1769.8866764
Byte length=4096 ns/op=3310.2486656
Short length=4096 ns/op=3956.6322484
Int length=4096 ns/op=4374.6221234
Long length=4096 ns/op=4256.71598

Bug: 19664826
Change-Id: I703d7346de732199be1feadbead021c6647a554a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For small arrays &lt;= 1024 elements, we use GetArrayRegion with stack
allocated backing storage instead of GetArrayElements. The speedup
comes from the fact that GetArrayRegion doesn't need to allocate a
copy of array.

Timing results for:
https://android-review.googlesource.com/#/c/169727/

BEFORE

Host:
Byte length=1 ns/op=452.2633712
Short length=1 ns/op=468.6469192
Int length=1 ns/op=422.5663486
Long length=1 ns/op=423.4946638
Byte length=8 ns/op=424.8546962
Short length=8 ns/op=424.3842626
Int length=8 ns/op=424.3816324
Long length=8 ns/op=452.9407552
Byte length=64 ns/op=441.674149
Short length=64 ns/op=472.2310028
Int length=64 ns/op=455.6142958
Long length=64 ns/op=487.6810328
Byte length=512 ns/op=454.0858634
Short length=512 ns/op=497.675829
Int length=512 ns/op=481.2103832
Long length=512 ns/op=507.4674306
Byte length=4096 ns/op=531.7923602
Short length=4096 ns/op=648.254466
Int length=4096 ns/op=578.0794842
Long length=4096 ns/op=563.3641424

N5:
Byte length=1 ns/op=3118.2292802
Short length=1 ns/op=3083.7797488
Int length=1 ns/op=3177.8996446
Long length=1 ns/op=3151.0892072
Byte length=8 ns/op=3287.7326966
Short length=8 ns/op=3126.5799676
Int length=8 ns/op=3197.3203112
Long length=8 ns/op=3201.0613218
Byte length=64 ns/op=3178.7730612
Short length=64 ns/op=3162.2255092
Int length=64 ns/op=3241.3191864
Long length=64 ns/op=3117.6674886
Byte length=512 ns/op=3106.540978
Short length=512 ns/op=3183.0501344
Int length=512 ns/op=3513.8142382
Long length=512 ns/op=3592.4372798
Byte length=4096 ns/op=3552.9428216
Short length=4096 ns/op=3997.586686
Int length=4096 ns/op=4545.2151442
Long length=4096 ns/op=4371.4996338

AFTER

Host:
Byte length=1 ns/op=261.764995
Short length=1 ns/op=238.6584262
Int length=1 ns/op=262.856902
Long length=1 ns/op=238.0286378
Byte length=8 ns/op=242.4962264
Short length=8 ns/op=247.8668746
Int length=8 ns/op=263.9420024
Long length=8 ns/op=243.3675294
Byte length=64 ns/op=243.3372902
Short length=64 ns/op=249.0408034
Int length=64 ns/op=250.2168296
Long length=64 ns/op=253.837053
Byte length=512 ns/op=252.8071526
Short length=512 ns/op=271.689653
Int length=512 ns/op=291.8933238
Long length=512 ns/op=341.6303746
Byte length=4096 ns/op=540.8749038
Short length=4096 ns/op=661.7068158
Int length=4096 ns/op=569.030217
Long length=4096 ns/op=565.0571702

N5:
Byte length=1 ns/op=1209.4042078
Short length=1 ns/op=1207.2498746
Int length=1 ns/op=1377.0557706
Long length=1 ns/op=1348.6359368
Byte length=8 ns/op=1260.0724162
Short length=8 ns/op=1229.6107912
Int length=8 ns/op=1414.1408952
Long length=8 ns/op=1394.1158746
Byte length=64 ns/op=1232.532947
Short length=64 ns/op=1228.1248122
Int length=64 ns/op=1468.2667912
Long length=64 ns/op=1404.232687
Byte length=512 ns/op=1256.976093
Short length=512 ns/op=1335.5540308
Int length=512 ns/op=1599.6927076
Long length=512 ns/op=1769.8866764
Byte length=4096 ns/op=3310.2486656
Short length=4096 ns/op=3956.6322484
Int length=4096 ns/op=4374.6221234
Long length=4096 ns/op=4256.71598

Bug: 19664826
Change-Id: I703d7346de732199be1feadbead021c6647a554a
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace InetUnixAddress with UnixSocketAddress</title>
<updated>2015-07-07T16:00:21+00:00</updated>
<author>
<name>Neil Fuller</name>
<email>nfuller@google.com</email>
</author>
<published>2015-07-07T16:00:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=4ebb9670a900d0d040bb087c90b6045d6ddce06e'/>
<id>4ebb9670a900d0d040bb087c90b6045d6ddce06e</id>
<content type='text'>
UnixSocketAddress maps to stuct sockaddr_un from sys/un.h.

Bug: 3106438
Change-Id: Ia4d57729e286c8b3a62a78202bc2385f0d33cb52
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
UnixSocketAddress maps to stuct sockaddr_un from sys/un.h.

Bug: 3106438
Change-Id: Ia4d57729e286c8b3a62a78202bc2385f0d33cb52
</pre>
</div>
</content>
</entry>
<entry>
<title>ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()</title>
<updated>2015-05-14T00:55:33+00:00</updated>
<author>
<name>Spencer Low</name>
<email>CompareAndSwap@gmail.com</email>
</author>
<published>2015-04-23T00:59:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=315ac19f69d5ca232ddc4a73b4d4088ac6c65e47'/>
<id>315ac19f69d5ca232ddc4a73b4d4088ac6c65e47</id>
<content type='text'>
According to the comments in Posix_close(), TEMP_FAILURE_RETRY() should
not be used with close():

https://android.googlesource.com/platform/libcore/+/462bdac45c10f43d88d8f07f6994e272a27c14a2%5E%21/#F12

Bug: http://b/20501816
Change-Id: Ie283f848c4fe50fcde9358c8ed307ec048e70892
Signed-off-by: Spencer Low &lt;CompareAndSwap@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to the comments in Posix_close(), TEMP_FAILURE_RETRY() should
not be used with close():

https://android.googlesource.com/platform/libcore/+/462bdac45c10f43d88d8f07f6994e272a27c14a2%5E%21/#F12

Bug: http://b/20501816
Change-Id: Ie283f848c4fe50fcde9358c8ed307ec048e70892
Signed-off-by: Spencer Low &lt;CompareAndSwap@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add JNI references for PacketSocketAddress.</title>
<updated>2015-03-11T23:37:18+00:00</updated>
<author>
<name>Lorenzo Colitti</name>
<email>lorenzo@google.com</email>
</author>
<published>2015-03-11T16:22:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=63daad5da8f6ba481a3fdb54a7fc155171c0bb13'/>
<id>63daad5da8f6ba481a3fdb54a7fc155171c0bb13</id>
<content type='text'>
Also remove an outdated comment.

Change-Id: If0da380f78c1e77963953d8e64737d0f22c90fad
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also remove an outdated comment.

Change-Id: If0da380f78c1e77963953d8e64737d0f22c90fad
</pre>
</div>
</content>
</entry>
<entry>
<title>Add JNI references for android.system.NetlinkSocketAddress.</title>
<updated>2015-02-25T10:48:33+00:00</updated>
<author>
<name>Erik Kline</name>
<email>ek@google.com</email>
</author>
<published>2015-02-25T09:33:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=25b67b1e271eff113655a038cbf353edc22edbaf'/>
<id>25b67b1e271eff113655a038cbf353edc22edbaf</id>
<content type='text'>
Developed in conjunction with:
    https://android-review.googlesource.com/135491

Bug: 18581716
Change-Id: Icddee915579e4187a181138f8ef8d92f3a70de35
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Developed in conjunction with:
    https://android-review.googlesource.com/135491

Bug: 18581716
Change-Id: Icddee915579e4187a181138f8ef8d92f3a70de35
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename field: fd -&gt; fd_</title>
<updated>2015-01-20T19:28:52+00:00</updated>
<author>
<name>Dmitriy Ivanov</name>
<email>dimitry@google.com</email>
</author>
<published>2015-01-20T19:28:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=54733eac4825c799e837c4c18afd6d734692d8ae'/>
<id>54733eac4825c799e837c4c18afd6d734692d8ae</id>
<content type='text'>
  This is fix avoid shadow variable warning

Change-Id: I014ab622b33326470b89e3971b7ad898700f9962
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  This is fix avoid shadow variable warning

Change-Id: I014ab622b33326470b89e3971b7ad898700f9962
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Class&lt;java.util.zip.ZipEntry&gt; to JniConstants.</title>
<updated>2015-01-08T18:37:52+00:00</updated>
<author>
<name>Narayan Kamath</name>
<email>narayan@google.com</email>
</author>
<published>2015-01-08T18:37:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=b926f191c26f4338d75d0d2ca6ca5b714bbb5a6f'/>
<id>b926f191c26f4338d75d0d2ca6ca5b714bbb5a6f</id>
<content type='text'>
For use in StrictJarFile.

Change-Id: Ife29e359cd97cf71b184151ebb0efffaa9cdb0a8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For use in StrictJarFile.

Change-Id: Ife29e359cd97cf71b184151ebb0efffaa9cdb0a8
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't need swap anymore.</title>
<updated>2014-11-05T18:53:26+00:00</updated>
<author>
<name>Dan Albert</name>
<email>danalbert@google.com</email>
</author>
<published>2014-11-05T18:02:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=c250bc97079a841c3f2c3aa6679784dab7f7d16a'/>
<id>c250bc97079a841c3f2c3aa6679784dab7f7d16a</id>
<content type='text'>
The declaration of std::swap here is inconsistent with the one in
libc++ (noexcept differences). Rather than worrying about keeping them
all consistent, just remove swap. It was only ever added for ART, and
ART now uses std::unique_ptr instead.

This was causing an ambiguous overload error in system/core.

Change-Id: I4cf4c41c5dda01a96915e8309af2f8be089d1a2a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The declaration of std::swap here is inconsistent with the one in
libc++ (noexcept differences). Rather than worrying about keeping them
all consistent, just remove swap. It was only ever added for ART, and
ART now uses std::unique_ptr instead.

This was causing an ambiguous overload error in system/core.

Change-Id: I4cf4c41c5dda01a96915e8309af2f8be089d1a2a
</pre>
</div>
</content>
</entry>
<entry>
<title>Add DISALLOW_COPY_AND_ASSIGN macro.</title>
<updated>2014-11-04T22:15:36+00:00</updated>
<author>
<name>Ian Rogers</name>
<email>irogers@google.com</email>
</author>
<published>2014-11-04T19:42:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=8288ddeb1bed3dca35c7e182f769c62e1f2a18fd'/>
<id>8288ddeb1bed3dca35c7e182f769c62e1f2a18fd</id>
<content type='text'>
Make the DISALLOW_COPY_AND_ASSIGN macro delete the member functions rather
than just not defining them to improve analysis of the Scoped.. classes.
Add a few missing const qualifiers.

Change-Id: I48eee0c22908d45a05df6979aa61442d2eedcf36
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the DISALLOW_COPY_AND_ASSIGN macro delete the member functions rather
than just not defining them to improve analysis of the Scoped.. classes.
Add a few missing const qualifiers.

Change-Id: I48eee0c22908d45a05df6979aa61442d2eedcf36
</pre>
</div>
</content>
</entry>
<entry>
<title>NativeHelper: Avoid returning local stack string</title>
<updated>2014-09-29T18:43:19+00:00</updated>
<author>
<name>Ningsheng Jian</name>
<email>ningsheng.jian@arm.com</email>
</author>
<published>2014-09-17T05:34:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_libnativehelper/commit/?id=88b84ec200091bdf5754b435ef55dfcd30078a67'/>
<id>88b84ec200091bdf5754b435ef55dfcd30078a67</id>
<content type='text'>
Refactor JniInvocation::GetLibrary to not return a stack-allocated
string. Instead, provide a char buffer.

Bug: 16404669
Change-Id: I34f4a40e28bc491ba630a2b1bff5792e34937101
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refactor JniInvocation::GetLibrary to not return a stack-allocated
string. Instead, provide a char buffer.

Bug: 16404669
Change-Id: I34f4a40e28bc491ba630a2b1bff5792e34937101
</pre>
</div>
</content>
</entry>
</feed>
