Closed Bug 1647789 Opened 4 years ago Closed 4 years ago

Teach expression decompiler about private name opcodes

Categories

(Core :: JavaScript Engine, task, P2)

task

Tracking

()

RESOLVED FIXED
81 Branch
Tracking Status
firefox81 --- fixed

People

(Reporter: mgaudet, Assigned: avandolder)

References

Details

Attachments

(1 file)

To allow dis to show the stack properly when a private name op is involved.

Severity: -- → N/A
Priority: -- → P2
Assignee: nobody → avandolder

The only relevant op now is CheckPrivateField

$ ./mach run --enable-private-fields -e 'class A { #x = 10; static g(o) { return o.#x; } }; dis(A.g);' 
 0:00.55 /home/matthew/unified/obj-opt-shell-x86_64-pc-linux-gnu/dist/bin/js --enable-private-fields -e class A { #x = 10; static g(o) { return o.#x; } }; dis(A.g);
flags:
loc     op
-----   --
main:
00000:  GetArg 0                        # o
00003:  GetAliasedVar "#x" (hops = 0, slot = 2) # o #x
00008:  CheckAliasedLexical "#x" (hops = 0, slot = 2) # o #x
00013:  CheckPrivateField 1 4           # <unknown> <unknown> <unknown>
00016:  Pop                             # <unknown> <unknown>
00017:  GetElem                         # <unknown>[<unknown>]
00018:  Return                          # 
00019:  RetRval                         # !!! UNREACHABLE !!!
Pushed by avandolder@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/780d9ef6deaa
Add CheckPrivateField support to expression decompiler. r=mgaudet
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: