ARM64: Simulator should incorporate icache checking
Categories
(Core :: JavaScript Engine, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: lth, Assigned: nbp)
References
(Blocks 1 open bug)
Details
Attachments
(1 file, 1 obsolete file)
Reporter | ||
Updated•7 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
I am currently working on this issue, because the last time we had to track a similar issue was a complete nightmare and a lucky finding. We should avoid relying on luck for finding these nasty bugs.
Assignee | ||
Comment 2•6 years ago
|
||
Assignee | ||
Comment 3•6 years ago
|
||
(In reply to Nicolas B. Pierron [:nbp] from comment #2)
Created attachment 9044252 [details]
Bug 1441436 - Draft: Add a Cahcing decoder to catch miss instruction cache invalidation. r=
At the moment this patch is still a work-in-progress and does not contain any mechanism for handling the invalidation (in order to test if it can catch missing invalidation cases).
It successfully catch any rewritten instruction and assert if there is a mismatch between the instruction which used to be present and the current instruction.
I designed this code also as a way to potentially speed-up the decoding phase of the simulator, therefore instead of storing a yes/no boolean like done on ARM/MIPS to check the validity of the recorded instruction, I record the name of the visitor to which it should be dispatched to. Also, to avoid going through the hash-map lookup all the time, the last hash-map hit is cached.
This patch is also meant to minimize the number of lines modified in the imported vixl files. This is achieved by adding one extra line to the Simulator class.
using Decode = CachingDecoder;
Assignee | ||
Comment 4•6 years ago
|
||
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 5•6 years ago
|
||
Nicolas, did you mean to abandon https://phabricator.services.mozilla.com/D19970?
That one seems more recent than https://phabricator.services.mozilla.com/D20378 (which is not abandoned but does not have a reviewer).
Now that Ion has landed it would be appropriate to land these checks.
Assignee | ||
Comment 6•6 years ago
|
||
(In reply to Sean Stangl [:sstangl] from comment #5)
Nicolas, did you mean to abandon https://phabricator.services.mozilla.com/D19970?
That one seems more recent than https://phabricator.services.mozilla.com/D20378 (which is not abandoned but does not have a reviewer).
No, I meant the opposite, since https://phabricator.services.mozilla.com/D20378 should now be part of https://phabricator.services.mozilla.com/D19970 .
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 8•6 years ago
|
||
bugherder |
Description
•