Open Bug 1181062 Opened 5 years ago Updated 3 years ago

Atomics test cases still do not test jitted primitives well enough

Categories

(Core :: JavaScript Engine: JIT, defect, P3)

defect

Tracking

()

People

(Reporter: lth, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

There's evidence that jit-test/tests/atomics/basic-tests.js do not properly test the jitted Atomics primitives even with --ion-eager --ion-offthread-compile=off (or --tbpl, in the test runner):

I added a test case to test sign extension; the test case should have failed in the inlined-jitted case due to a bug; but it did not.  (See https://bugzilla.mozilla.org/show_bug.cgi?id=1141986#c11.)  I needed to introduce a loop to provoke the failure.

Presumably the problem is that some lack of type info prevents the inlining in the simple case.

Presumably this is going to be an issue for a lot of those test cases, and we need an approach that systematically causes inlining of the primitive.
Attached patch Work in progressSplinter Review
These do test more cases along the lines of the ad-hoc fix for exchange() that was implemented earlier, and these correctly discover errors in code generation when sign extension is wrong.  But they are special case and not really the solution we're looking for.
Assignee: nobody → lhansen
Status: NEW → ASSIGNED
Priority: -- → P3
Assignee: lhansen → nobody
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.