Commit 0d127e10 authored by Roland Levillain's avatar Roland Levillain
Browse files

Do not refresh the Marking Register in CriticalNative methods.

CriticalNative methods shall not be suspended and hence do not
require MR to be refreshed in compiled JNI code.

This change is for ARM and ARM64 only.

Impact on Critical Native benchmarks times (median of 10 runs,
lower is better):

* angler-userdebug - ARMv7

** All cores

   NativeDowncallStaticCritical   -2.78%
   NativeDowncallStaticCritical6  -1.79%

** Little cores only

   NativeDowncallStaticCritical   -1.66%
   NativeDowncallStaticCritical6  -1.27%

** Big cores only

   NativeDowncallStaticCritical   -2.66%
   NativeDowncallStaticCritical6  -1.70%

* angler-userdebug - ARMv8

** All cores

   NativeDowncallStaticCritical   -3.52%
   NativeDowncallStaticCritical6  -1.79%

** Little cores only

   NativeDowncallStaticCritical   -1.63%
   NativeDowncallStaticCritical6  -1.27%

** Big cores only

   NativeDowncallStaticCritical   -3.87%
   NativeDowncallStaticCritical6  -1.75%

Test: m test-art-target
Test: m test-art-target with tree built with ART_USE_READ_BARRIER=false
Test: m test-art-host-gtest
Test: ARM64 device boot test
Test: ARM device boot test
Bug: b/37707231
Change-Id: I95d61b9ecde0afffdd5fd44763b19caa06025ec8
parent 9c0a6ce0
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment