OSDN Git Service

Delete extra arm64/mips64 MterpReturn suspend check
authorMathieu Chartier <mathieuc@google.com>
Tue, 10 Jan 2017 02:48:11 +0000 (18:48 -0800)
committerMathieu Chartier <mathieuc@google.com>
Fri, 20 Jan 2017 19:32:47 +0000 (11:32 -0800)
commit61049e87018d5c7420f14a552a726fd66249ace3
tree0a0fb1faa0c24da47457a70b698f410c6e2917a2
parent2f3fb4d725327f661eb3d8fe224a693b7589787a
Delete extra arm64/mips64 MterpReturn suspend check

Doing a suspend check after moving the result into the shadow frame
result_register_ is not safe since result_register_ is not a GC
root. The suspend check is unnecessary since the opcodes that branch
to MterpReturn already do a suspend check.

This could maybe explain one crash for CC that was seen after calling
a getter that had no compiled code.

The extra suspend check appears to only be present on arm64 amd mips64.

Test: test-art-target ART_TEST_INTERPRETER=true, N5X booting

(cherry picked from commit aceff18580b94a586a469110565f2ba166f3635a)

Bug: 33211261
Change-Id: I70b8863f40a25a26f278ac8ef0d57e083b663e0f
runtime/interpreter/mterp/arm64/footer.S
runtime/interpreter/mterp/mips64/footer.S
runtime/interpreter/mterp/out/mterp_arm64.S
runtime/interpreter/mterp/out/mterp_mips64.S