Bug 152370 - ARM64 MacroAssembler improperly reuses data temp register in test32() and test8() calls
Summary: ARM64 MacroAssembler improperly reuses data temp register in test32() and tes...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: iPhone / iPad All
: P2 Normal
Assignee: Michael Saboff
URL:
Keywords:
Depends on:
Blocks: 151839
  Show dependency treegraph
 
Reported: 2015-12-16 17:55 PST by Michael Saboff
Modified: 2015-12-17 15:22 PST (History)
4 users (show)

See Also:


Attachments
Patch (2.02 KB, patch)
2015-12-16 18:03 PST, Michael Saboff
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Saboff 2015-12-16 17:55:29 PST
The void test32(ResultCondition cond, Address address, TrustedImm32 mask, RegisterID dest) and the similar test8() use the dataTempRegister with the value loaded from "address" and then call void test32(ResultCondition cond, RegisterID src, TrustedImm32 mask, RegisterID dest).  The two register version of test32 can use the dataTempRegister to materialize the immediate mask.
Comment 1 Michael Saboff 2015-12-16 18:03:55 PST
Created attachment 267516 [details]
Patch
Comment 2 WebKit Commit Bot 2015-12-16 21:03:16 PST
Comment on attachment 267516 [details]
Patch

Clearing flags on attachment: 267516

Committed r194208: <http://trac.webkit.org/changeset/194208>
Comment 3 WebKit Commit Bot 2015-12-16 21:03:19 PST
All reviewed patches have been landed.  Closing bug.
Comment 4 Geoffrey Garen 2015-12-17 14:02:20 PST
Comment on attachment 267516 [details]
Patch

Does this work? Keith told me this doesn't work.
Comment 5 Michael Saboff 2015-12-17 14:06:22 PST
(In reply to comment #4)
> Comment on attachment 267516 [details]
> Patch
> 
> Does this work? Keith told me this doesn't work.

From my discussion with Keith, this is what he tried and it work.  He was concerned that there were other issues, but I couldn't find any.
Comment 6 Keith Miller 2015-12-17 15:22:57 PST
My patch is working with this patch applied so this should be sufficient.