Closed Bug 717077 Opened 12 years ago Closed 12 years ago

OSI doesn't actually work on ARM

Categories

(Core :: JavaScript Engine, defect)

ARM
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mjrosenb, Unassigned)

Details

Attachments

(1 file)

Attached patch fix OSI on armSplinter Review
This was my bad. I mis-identified all of the OSI failures as other known failures, and didn't even bother looking into them.

Problems with my implementation of OSI: the stack may be misaligned when we enter the invalidator, since on a return from JS code, the (aligned) return value is popped, and on a return from C code, the (aligned) return value is ignored.  Then, the calculation of the previous frame was wrong, since it only accounted for the padding that exists on x86.
Finally, I didn't distinguish the return slot from the return value of a function.

This patch also fixes a typo in all three implementations that ask for three arguments, but only provide two to InvalidationBailout.
Attachment #587508 - Flags: review?(christopher.leary)
Comment on attachment 587508 [details] [diff] [review]
fix OSI on arm

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

::: js/src/ion/arm/Bailouts-arm.cpp
@@ +170,2 @@
>      }
> +  public:

Useless label?
Attachment #587508 - Flags: review?(christopher.leary) → review+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.