diff options
author | 2019-11-20 13:49:19 -0800 | |
---|---|---|
committer | 2019-11-21 00:38:16 +0000 | |
commit | e61f16af3976ca8c0ab82cd3f21e5dff66225520 (patch) | |
tree | 4eb932e907b165f267755549361db870d1b51778 /runtime/mirror/executable-inl.h | |
parent | 55d9aaad5d5ec9729ce7522eb88b0c69a0b3342d (diff) |
Add missing WriteBarrier on VisitReflectiveTargets
We weren't performing write-barriers during VisitReflectiveTargets.
This could lead to incorrect marking.
Test: ./test.py --host --gcstress
Change-Id: I153f319e257675d83cae6ec25e041cbddecf1a94
Diffstat (limited to 'runtime/mirror/executable-inl.h')
-rw-r--r-- | runtime/mirror/executable-inl.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/mirror/executable-inl.h b/runtime/mirror/executable-inl.h index f2d684a3d5..77669dace8 100644 --- a/runtime/mirror/executable-inl.h +++ b/runtime/mirror/executable-inl.h @@ -47,6 +47,7 @@ inline void Executable::VisitTarget(ReflectiveValueVisitor* v) { SetArtMethod(new_target); SetDexMethodIndex(new_target->GetDexMethodIndex()); SetDeclaringClass(new_target->GetDeclaringClass()); + WriteBarrier::ForEveryFieldWrite(this); } } |