Closed Bug 496988 Opened 15 years ago Closed 15 years ago

ARM JIT fails when VFP is enabled.

Categories

(Tamarin Graveyard :: Baseline JIT (CodegenLIR), defect, P1)

All
macOS
defect

Tracking

(Not tracked)

VERIFIED FIXED
flash10.1

People

(Reporter: rreitmai, Assigned: rreitmai)

Details

Attachments

(1 file)

Enabling NJ_ARM_VFP in NativeARM.h enabled vector floating point support back end generation.  When running in this mode, the jit hits asserts.
Assignee: nobody → rreitmai
Flags: flashplayer-qrb+
Priority: -- → P1
Target Milestone: --- → flash10.x
Noted that getresv() can return NULL in Assembler::freeRsrcOf() in Assembler.cpp  when NJ_ARM_VFP is enabled. This causes a NULL pointer crash.
BTW, when fixing this please try to expose that setting through core/avmfeatures.as; it's the kind of thing we want to be very visible.
Tom: quick fix for this crash is to move freeRsrcOf() call into the non-vfp ifdef.  The prepResultReg() in the vfp portion of code, releases the resource.

I'll post a patch with this and other fixes as I run through the rest of the test suite.
Attached patch ver 1 Splinter Review
bug introduced in VFP when bug 477228 was fixed.  

prepResultReg() in the VFP case clears the resources on the instruction, so freeRsrc() that was added should have been only added to non-VFP code.
Attachment #384782 - Flags: superreview?
Attachment #384782 - Flags: superreview? → review?(edwsmith)
Attachment #384782 - Flags: superreview?(edwsmith)
Attachment #384782 - Flags: superreview?(edwsmith)
Attachment #384782 - Flags: superreview+
Attachment #384782 - Flags: review?(edwsmith)
Attachment #384782 - Flags: review+
pushed http://hg.mozilla.org/tamarin-redux/rev/588ad07ccf31
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Resolved fixed engineering / work item that has been pushed.  Setting status to verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: