From 97c46466aea25ab63a99b3d1afc558f0d9f55abb Mon Sep 17 00:00:00 2001 From: Roland Levillain Date: Thu, 11 May 2017 14:04:03 +0100 Subject: Introduce a Marking Register in ARM64 code generation. When generating code for ARM64, maintain the status of Thread::Current()->GetIsGcMarking() in register X20, dubbed MR (Marking Register), and check the value of that register (instead of loading and checking a read barrier marking entrypoint) in read barriers. Test: m test-art-target Test: m test-art-target with tree built with ART_USE_READ_BARRIER=false Test: ARM64 device boot test Bug: 37707231 Change-Id: Ibe9bc5c99a2176b0a0476e9e9ad7fcc9f745017b --- runtime/arch/quick_alloc_entrypoints.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'runtime/arch/quick_alloc_entrypoints.S') diff --git a/runtime/arch/quick_alloc_entrypoints.S b/runtime/arch/quick_alloc_entrypoints.S index 2b3525b189..fbfa7564a7 100644 --- a/runtime/arch/quick_alloc_entrypoints.S +++ b/runtime/arch/quick_alloc_entrypoints.S @@ -53,7 +53,7 @@ GENERATE_ALLOC_ENTRYPOINTS _region_tlab_instrumented, RegionTLABInstrumented .endm // Generate the allocation entrypoints for each allocator. This is used as an alternative to -// GNERATE_ALL_ALLOC_ENTRYPOINTS for selectively implementing allocation fast paths in +// GENERATE_ALL_ALLOC_ENTRYPOINTS for selectively implementing allocation fast paths in // hand-written assembly. #define GENERATE_ALLOC_ENTRYPOINTS_ALLOC_OBJECT_RESOLVED(c_suffix, cxx_suffix) \ ONE_ARG_DOWNCALL art_quick_alloc_object_resolved ## c_suffix, artAllocObjectFromCodeResolved ## cxx_suffix, RETURN_IF_RESULT_IS_NON_ZERO_OR_DELIVER -- cgit v1.2.3-59-g8ed1b