Closed Bug 1706763 Opened 3 years ago Closed 3 years ago

in operator fails to find private method on class

Categories

(Core :: JavaScript Engine, defect, P1)

defect

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox88 --- unaffected
firefox89 --- unaffected
firefox90 --- disabled

People

(Reporter: mgaudet, Assigned: mgaudet)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

I'm preparing an update of tests262, and have found some new failures related to private methods + ergonomic brand checks in test262 revision eca69e2c95972a4c5780ef58fe1f1e53e871b9b1

  • test262/language/expressions/in/private-field-presence-method.js
  • test262/language/expressions/in/private-field-presence-method-shadowed.js

Setting regressed-by flag, but also marking fx-90 as disabled, as ergonomic-brand checks are flagged off currently.

Regressed by: 1662559
Has Regression Range: --- → yes

The Bugbug bot thinks this bug is a defect, but please change it back in case of error.

Type: task → defect

Set release status flags based on info from the regressing bug 1662559

This ends up changing the NoThrow condition on CheckPrivateField to instead emulate the object check of JSOp::In instead.

As well, to create PrivateOpEmitter::Kind::ErgonomicBrandCheck, it's no longer aliased to the ElemOpEmitter::Kind enum.

Assignee: nobody → mgaudet
Status: NEW → ASSIGNED
Severity: -- → S3
Priority: -- → P1
Pushed by mgaudet@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/37b12c82c93f
Assert we don't return JSOp::Nop from BinaryOpParseNodeKindToJSOp r=arai
https://hg.mozilla.org/integration/autoland/rev/d660b516c029
Specialize InExpr emission for private brand checks to correctly handle the variety of storage locations required. r=arai

Backed out for failures on private-reflect-01.js

backout: https://hg.mozilla.org/integration/autoland/rev/56f63d7627649b815f2a9b0c3c366e2c817c19ca

push: https://treeherder.mozilla.org/jobs?repo=autoland&revision=d660b516c029b2f6fa53ce01f286746d2d45231c&group_state=expanded&selectedTaskRun=D1C2ynj2QpOKAh6Vko1eUA.0

failure log: https://treeherder.mozilla.org/logviewer?job_id=338849680&repo=autoland&lineNumber=4986

[task 2021-05-05T18:31:03.115Z] TEST-PASS | js/src/jit-test/tests/fields/private-right-side-1.js | Success (code 0, args "") [0.1 s]
[task 2021-05-05T18:31:03.118Z] /builds/worker/checkouts/gecko/js/src/jit-test/tests/fields/private-reflect-01.js:2:17 SyntaxError: private names aren't valid in this context
[task 2021-05-05T18:31:03.118Z] Stack:
[task 2021-05-05T18:31:03.118Z] rp@/builds/worker/checkouts/gecko/js/src/jit-test/tests/fields/private-reflect-01.js:2:18
[task 2021-05-05T18:31:03.118Z] @/builds/worker/checkouts/gecko/js/src/jit-test/tests/fields/private-reflect-01.js:11:3
[task 2021-05-05T18:31:03.118Z] Exit code: 3
[task 2021-05-05T18:31:03.118Z] FAIL - fields/private-reflect-01.js
[task 2021-05-05T18:31:03.118Z] TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/fields/private-reflect-01.js | /builds/worker/checkouts/gecko/js/src/jit-test/tests/fields/private-reflect-01.js:2:17 SyntaxError: private names aren't valid in this context (code 3, args "") [0.1 s]
[task 2021-05-05T18:31:03.119Z] INFO exit-status : 3
[task 2021-05-05T18:31:03.119Z] INFO timed-out : False
[task 2021-05-05T18:31:03.119Z] INFO stderr 2> /builds/worker/checkouts/gecko/js/src/jit-test/tests/fields/private-reflect-01.js:2:17 SyntaxError: private names aren't valid in this context
[task 2021-05-05T18:31:03.119Z] INFO stderr 2> Stack:
[task 2021-05-05T18:31:03.119Z] INFO stderr 2> rp@/builds/worker/checkouts/gecko/js/src/jit-test/tests/fields/private-reflect-01.js:2:18
[task 2021-05-05T18:31:03.119Z] INFO stderr 2> @/builds/worker/checkouts/gecko/js/src/jit-test/tests/fields/private-reflect-01.js:11:3
[task 2021-05-05T18:31:03.120Z] TEST-PASS | js/src/jit-test/tests/fields/private-throwing-initializer.js | Success (code 0, args "") [0.1 s]

Flags: needinfo?(mgaudet)
Pushed by mgaudet@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c41dfc1a30ee
Assert we don't return JSOp::Nop from BinaryOpParseNodeKindToJSOp r=arai
https://hg.mozilla.org/integration/autoland/rev/c85486b5c6ba
Specialize InExpr emission for private brand checks to correctly handle the variety of storage locations required. r=arai

(Landed after goofing my merge-conflict-resolution, hence the backout)

Flags: needinfo?(mgaudet)
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: