From ad0777d89df7eb21d7d2001f9743882d10de3f5c Mon Sep 17 00:00:00 2001 From: Roland Levillain Date: Mon, 12 Feb 2018 20:00:18 +0000 Subject: Visit proxy methods reference arguments when visiting Quick frames roots. The arguments of a proxy method, stored in the proxy method's stack frame, need to be visited as GC roots. This is especially important in the case of a moving GC, where these reference arguments may be moved like any object. Previously, we would only visit the target (`this` argument) of proxy methods when visiting Quick frames roots. Test: art/test/testrunner/testrunner.py --gcstress -t 999-proxy-method-arguments Test: m test-art-host Test: m test-art-target Bug: 73149739 Bug: 70216372 Bug: 67679263 Change-Id: Ieacc966ab1038935600f2193c14e6ca01e88602e --- runtime/entrypoints/quick/quick_entrypoints.h | 1 + 1 file changed, 1 insertion(+) (limited to 'runtime/entrypoints/quick/quick_entrypoints.h') diff --git a/runtime/entrypoints/quick/quick_entrypoints.h b/runtime/entrypoints/quick/quick_entrypoints.h index 6cd9dc1d71..795faa8ecc 100644 --- a/runtime/entrypoints/quick/quick_entrypoints.h +++ b/runtime/entrypoints/quick/quick_entrypoints.h @@ -38,6 +38,7 @@ class Object; class ArtMethod; template class GcRoot; +template class StackReference; class Thread; // Pointers to functions that are called by quick compiler generated code via thread-local storage. -- cgit v1.2.3-59-g8ed1b