Descriptionx86 validator: Rewrite non-temporal stores into cached memory accesses
* This rewrites the set of non-temporal store/prefetch instructions
that are currently used in the Chrome Web Store, and rejects the
other non-temporal store/prefetch instructions.
* This adds two sets of tests:
* src/trusted/validator/validation_rewrite_test.cc checks for
exact rewrites.
* tests/validator/rewrite_nontemporals.c tests that the rewritten
instructions have the expected behaviour.
* validation_cache_test.cc: Change the instruction used in the test
case, because "prefetchnta (%{esp,rsp})" is no longer accepted:
prefetchnta is not allowed at all on x86-32, and it's only allowed
with a REX prefix on x86-64.
* This is based on Rui Qiao's change,
https://codereview.chromium.org/1269113003/, patch set 29.
BUG=https://code.google.com/p/chromium/issues/detail?id=500026
TEST=run_validation_rewrite_test run_rewrite_nontemporals_test run_validation_cache_test
Committed: https://chromium.googlesource.com/native_client/src/native_client/+/3a518c77e47e7e1f0fb65e00e1115103f0e24ba6
Patch Set 1 #Patch Set 2 : Cleanups + add test #Patch Set 3 : Cleanups #Patch Set 4 : Merge tests #Patch Set 5 : Disable for glibc #Patch Set 6 : Clean up tests #Patch Set 7 : Fix Windows build #Patch Set 8 : Actually fix Windows build #Patch Set 9 : Cleanups + add one more test #Patch Set 10 : Fix undetected -Wundef error #
Total comments: 2
Patch Set 11 : Review nit #
Messages
Total messages: 15 (7 generated)
|