Closed Bug 1184349 Opened 4 years ago Closed 4 years ago

ARM64 missing link register in SavedNonVolatileRegs

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox42 --- fixed

People

(Reporter: sstangl, Assigned: sstangl)

References

Details

Attachments

(1 file)

The link register isn't getting saved when it should be. Adding lr to this set causes it to be saved appropriately.

This fixes a number of irregexp failures that only occur on complicated regexps.
Attachment #8634431 - Flags: review?(efaustbmo)
Comment on attachment 8634431 [details] [diff] [review]
0001-Add-lr-to-SavedNonVolatileRegisters-on-ARM64.-r.patch

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

::: js/src/jit/RegisterSets.h
@@ +1263,4 @@
>  #if defined(JS_CODEGEN_ARM)
>      result.add(Register::FromCode(Registers::lr));
> +#elif defined(JS_CODEGEN_ARM64)
> +    result.add(Register::FromCode(Registers::lr));

Mild preference for #if defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_ARM64), but whatever.
Attachment #8634431 - Flags: review?(efaustbmo) → review+
https://hg.mozilla.org/mozilla-central/rev/a7689cb4de02
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in before you can comment on or make changes to this bug.