ARM JIT fails when VFP is enabled.

VERIFIED FIXED in flash10.1

Status

P1
normal
VERIFIED FIXED
10 years ago
9 years ago

People

(Reporter: rreitmai, Assigned: rreitmai)

Tracking

unspecified
flash10.1
All
macOS
Bug Flags:
flashplayer-qrb +

Details

Attachments

(1 attachment)

(Assignee)

Description

10 years ago
Enabling NJ_ARM_VFP in NativeARM.h enabled vector floating point support back end generation.  When running in this mode, the jit hits asserts.

Updated

10 years ago
Assignee: nobody → rreitmai
Flags: flashplayer-qrb+
Priority: -- → P1
Target Milestone: --- → flash10.x

Comment 1

10 years ago
Noted that getresv() can return NULL in Assembler::freeRsrcOf() in Assembler.cpp  when NJ_ARM_VFP is enabled. This causes a NULL pointer crash.

Comment 2

10 years ago
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.
(Assignee)

Comment 3

10 years ago
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.
(Assignee)

Comment 4

10 years ago
Created attachment 384782 [details] [diff] [review]
ver 1 

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?
(Assignee)

Updated

10 years ago
Attachment #384782 - Flags: superreview? → review?(edwsmith)
(Assignee)

Updated

10 years ago
Attachment #384782 - Flags: superreview?(edwsmith)

Updated

10 years ago
Attachment #384782 - Flags: superreview?(edwsmith)
Attachment #384782 - Flags: superreview+
Attachment #384782 - Flags: review?(edwsmith)
Attachment #384782 - Flags: review+
(Assignee)

Comment 5

10 years ago
pushed http://hg.mozilla.org/tamarin-redux/rev/588ad07ccf31
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED

Comment 6

9 years ago
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.