ARM JIT fails when VFP is enabled.

VERIFIED FIXED in flash10.1

Status

Tamarin
Baseline JIT (CodegenLIR)
P1
normal
VERIFIED FIXED
9 years ago
9 years ago

People

(Reporter: Rick Reitmaier, Assigned: Rick Reitmaier)

Tracking

unspecified
flash10.1
All
Mac OS X
Bug Flags:
flashplayer-qrb +

Details

Attachments

(1 attachment)

567 bytes, patch
Edwin Smith
: review+
Edwin Smith
: superreview+
Details | Diff | Splinter Review
(Assignee)

Description

9 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

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

Comment 1

9 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

9 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

9 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

9 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

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

Updated

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

Updated

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

Comment 5

9 years ago
pushed http://hg.mozilla.org/tamarin-redux/rev/588ad07ccf31
Status: NEW → RESOLVED
Last Resolved: 9 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.