TMFLAGS=nativebytes is broken on ARM.

RESOLVED WONTFIX

Status

RESOLVED WONTFIX
7 years ago
5 years ago

People

(Reporter: jbramley, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-nanojit)

Attachments

(1 attachment)

(Reporter)

Description

7 years ago
Created attachment 533962 [details] [diff] [review]
When NJ back-tracks _nIns in the ARM back-end, back-track _nInsAfter too.

For TMFLAGS=nativebytes, asm_output asserts that _nInsAfter is after _nIns. This is quite a reasonable assumption! However, the ARM back-end includes an optimization that can fold sequential LDR/STR instructions in LDM/STM, and it back-tracks _nIn (but not _nInsAfter) when it does this.

The attached patch fixes three jit-test (-j) failures on ARM by back-tracking _nInsAfter too.
Attachment #533962 - Flags: review?(nnethercote)
Comment on attachment 533962 [details] [diff] [review]
When NJ back-tracks _nIns in the ARM back-end, back-track _nInsAfter too.

Review of attachment 533962 [details] [diff] [review]:
-----------------------------------------------------------------

r=me
Attachment #533962 - Flags: review?(nnethercote) → review+
(Reporter)

Comment 2

7 years ago
http://hg.mozilla.org/projects/nanojit-central/rev/070ac9dc7470

Note that I had to extend the verbose_only block (since you reviewed it) as _nInsAfter isn't defined for release builds.
(Reporter)

Updated

7 years ago
Whiteboard: fixed-in-nanojit
Assignee: Jacob.Bramley → nobody
Component: JavaScript Engine → Nanojit
QA Contact: general → nanojit
(Assignee)

Updated

5 years ago
Component: Nanojit → Nanojit
Product: Core → Core Graveyard
Nanojit has been dead for several years. Its Bugzilla component has been moved to the graveyard (bug 984276).

I checked all the open bugs. They're all uninteresting, so I'm WONTFIXing them all. Apologies for the bugspam.
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.