Bug 1853480 Comment 3 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

The issue doesn't seem to reproduce in non-official Nightly builds so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 is wrongly identified as the regressor here. I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct if I'm wrong.

I reach:

```
0:032> k
 # ChildEBP RetAddr      
00 1760fe84 5db2d80f     xul!js::FrontendContext::onOverRecursed
01 (Inline) --------     xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 
02 17610200 5db24c80     xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 
03 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 
04 17610580 5db32309     xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 
05 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 
06 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 
07 176108b8 5db25d95     xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 
08 17610c30 5db256e1     xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 
09 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 
0a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 
0b (Inline) --------     xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 
0c 17610fb0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 
0d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
0e 17611330 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
0f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
10 17611398 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
11 17611710 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
12 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
13 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
14 17611a90 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
15 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
16 17611e10 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
17 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
18 17611e78 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
19 176121f8 5d2420b1     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
1a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 
1b 17612324 5db26c5c     xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 
1c 176126a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 
1d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
1e 17612a20 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
1f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
20 17612a88 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
21 17612e00 5db2760c     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
22 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
23 17613180 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
24 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
25 17613500 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
26 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
27 17613568 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
28 176138e0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
29 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
2a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
2b 17613c60 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
2c (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
2d 17613fe0 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
2e (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
2f 17614048 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
30 176143c0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
...
```

Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions.

```
0:032> ln 5ff01f50
Exact matches:
    xul!js::FrontendContext::onOverRecursed (void)
    xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void)
    xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void)
```
The issue doesn't seem to reproduce in non-official Nightly builds so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 is wrongly identified as the regressor here (it is the commit for an official Nightly build).

I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct if I'm wrong.

I reach:

```
0:032> k
 # ChildEBP RetAddr      
00 1760fe84 5db2d80f     xul!js::FrontendContext::onOverRecursed
01 (Inline) --------     xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 
02 17610200 5db24c80     xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 
03 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 
04 17610580 5db32309     xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 
05 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 
06 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 
07 176108b8 5db25d95     xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 
08 17610c30 5db256e1     xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 
09 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 
0a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 
0b (Inline) --------     xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 
0c 17610fb0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 
0d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
0e 17611330 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
0f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
10 17611398 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
11 17611710 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
12 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
13 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
14 17611a90 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
15 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
16 17611e10 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
17 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
18 17611e78 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
19 176121f8 5d2420b1     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
1a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 
1b 17612324 5db26c5c     xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 
1c 176126a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 
1d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
1e 17612a20 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
1f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
20 17612a88 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
21 17612e00 5db2760c     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
22 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
23 17613180 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
24 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
25 17613500 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
26 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
27 17613568 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
28 176138e0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
29 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
2a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
2b 17613c60 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
2c (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
2d 17613fe0 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
2e (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
2f 17614048 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
30 176143c0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
...
```

Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions.

```
0:032> ln 5ff01f50
Exact matches:
    xul!js::FrontendContext::onOverRecursed (void)
    xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void)
    xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void)
```
The issue doesn't seem to reproduce in non-official Nightly builds so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build).

I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct if I'm wrong.

I reach:

```
0:032> k
 # ChildEBP RetAddr      
00 1760fe84 5db2d80f     xul!js::FrontendContext::onOverRecursed
01 (Inline) --------     xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 
02 17610200 5db24c80     xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 
03 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 
04 17610580 5db32309     xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 
05 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 
06 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 
07 176108b8 5db25d95     xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 
08 17610c30 5db256e1     xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 
09 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 
0a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 
0b (Inline) --------     xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 
0c 17610fb0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 
0d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
0e 17611330 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
0f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
10 17611398 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
11 17611710 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
12 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
13 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
14 17611a90 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
15 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
16 17611e10 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
17 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
18 17611e78 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
19 176121f8 5d2420b1     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
1a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 
1b 17612324 5db26c5c     xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 
1c 176126a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 
1d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
1e 17612a20 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
1f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
20 17612a88 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
21 17612e00 5db2760c     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
22 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
23 17613180 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
24 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
25 17613500 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
26 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
27 17613568 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
28 176138e0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
29 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
2a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
2b 17613c60 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
2c (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
2d 17613fe0 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
2e (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
2f 17614048 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
30 176143c0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
...
```

Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions.

```
0:032> ln 5ff01f50
Exact matches:
    xul!js::FrontendContext::onOverRecursed (void)
    xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void)
    xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void)
```
The issue doesn't seem to reproduce in non-official Nightly builds so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build).

I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct this if I'm wrong.

I reach:

```
0:032> k
 # ChildEBP RetAddr      
00 1760fe84 5db2d80f     xul!js::FrontendContext::onOverRecursed
01 (Inline) --------     xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 
02 17610200 5db24c80     xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 
03 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 
04 17610580 5db32309     xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 
05 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 
06 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 
07 176108b8 5db25d95     xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 
08 17610c30 5db256e1     xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 
09 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 
0a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 
0b (Inline) --------     xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 
0c 17610fb0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 
0d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
0e 17611330 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
0f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
10 17611398 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
11 17611710 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
12 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
13 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
14 17611a90 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
15 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
16 17611e10 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
17 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
18 17611e78 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
19 176121f8 5d2420b1     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
1a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 
1b 17612324 5db26c5c     xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 
1c 176126a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 
1d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
1e 17612a20 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
1f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
20 17612a88 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
21 17612e00 5db2760c     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
22 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
23 17613180 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
24 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
25 17613500 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
26 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
27 17613568 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
28 176138e0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
29 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
2a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
2b 17613c60 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
2c (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
2d 17613fe0 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
2e (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
2f 17614048 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
30 176143c0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
...
```

Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions.

```
0:032> ln 5ff01f50
Exact matches:
    xul!js::FrontendContext::onOverRecursed (void)
    xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void)
    xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void)
```
I pushed to try and the issue doesn't seem to reproduce in non-official Nightly builds, so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build).

I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct this if I'm wrong.

I reach:

```
0:032> k
 # ChildEBP RetAddr      
00 1760fe84 5db2d80f     xul!js::FrontendContext::onOverRecursed
01 (Inline) --------     xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 
02 17610200 5db24c80     xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 
03 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 
04 17610580 5db32309     xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 
05 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 
06 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 
07 176108b8 5db25d95     xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 
08 17610c30 5db256e1     xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 
09 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 
0a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 
0b (Inline) --------     xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 
0c 17610fb0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 
0d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
0e 17611330 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
0f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
10 17611398 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
11 17611710 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
12 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
13 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
14 17611a90 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
15 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
16 17611e10 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
17 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
18 17611e78 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
19 176121f8 5d2420b1     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
1a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 
1b 17612324 5db26c5c     xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 
1c 176126a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 
1d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
1e 17612a20 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
1f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
20 17612a88 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
21 17612e00 5db2760c     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
22 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1e8c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
23 17613180 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x3e1c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
24 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
25 17613500 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
26 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
27 17613568 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
28 176138e0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
29 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
2a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
2b 17613c60 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
2c (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
2d 17613fe0 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
2e (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
2f 17614048 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
30 176143c0 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
...
```

Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions.

```
0:032> ln 5ff01f50
Exact matches:
    xul!js::FrontendContext::onOverRecursed (void)
    xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void)
    xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void)
```
I pushed to try and the issue doesn't seem to reproduce in non-official Nightly builds, so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build).

I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct this if I'm wrong.

I reach:

```
0:032> k 600
 # ChildEBP RetAddr      
00 1760fe84 5db2d80f     xul!js::FrontendContext::onOverRecursed
01 (Inline) --------     xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 
02 17610200 5db24c80     xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 
03 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 
04 17610580 5db32309     xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 
05 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 
06 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 
07 176108b8 5db25d95     xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 
08 17610c30 5db256e1     xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 
09 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 
0a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 
0b (Inline) --------     xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 
0c 17610fb0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 
0d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
0e 17611330 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
0f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
10 17611398 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
11 17611710 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
12 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
13 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
14 17611a90 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
15 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
16 17611e10 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
17 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
18 17611e78 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
19 176121f8 5d2420b1     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
1a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 
1b 17612324 5db26c5c     xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 
1c 176126a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 
1d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
1e 17612a20 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
1f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
20 17612a88 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
...
5b7 1768d468 5db303cd     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
5b8 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitFunctionScript+0x1e2 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 2514] 
5b9 1768d828 5db249fa     xul!js::frontend::BytecodeEmitter::emitFunction+0x44d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5890] 
5ba 1768dba0 5db2758a     xul!js::frontend::BytecodeEmitter::emitTree+0x120a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11744] 
5bb (Inline) --------     xul!js::frontend::CallOrNewEmitter::prepareForOtherCallee+0x1a [/builds/worker/checkouts/gecko/js/src/frontend/CallOrNewEmitter.cpp @ 133] 
5bc (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCalleeAndThis+0x381c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 7931] 
5bd (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCallOrNew+0x3954 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8238] 
5be 1768df20 5db2465d     xul!js::frontend::BytecodeEmitter::emitTree+0x3d9a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12131] 
5bf (Inline) --------     xul!js::frontend::BytecodeEmitter::emitExpressionStatement+0x33d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6935] 
5c0 1768e2a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0xe6d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11882] 
5c1 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
5c2 1768e624 5d23c112     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
5c3 1768e728 5d249381     xul!js::frontend::BytecodeEmitter::emitScript+0x102 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 2414] 
5c4 (Inline) --------     xul!ScriptCompiler<mozilla::Utf8Unit>::compile+0x2a0 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 994] 
5c5 1768f42c 5d237f82     xul!CompileGlobalScriptToStencilAndMaybeInstantiate<mozilla::Utf8Unit>+0x441 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 335] 
5c6 (Inline) --------     xul!CompileGlobalScriptToStencilImpl+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 406] 
5c7 1768f460 5d0839ca     xul!js::frontend::CompileGlobalScriptToStencil+0x42 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 426] 
5c8 (Inline) --------     xul!CompileGlobalScriptToStencilImpl+0xb0 [/builds/worker/checkouts/gecko/js/src/frontend/CompileScript.cpp @ 127] 
5c9 1768f4dc 5cbf36b3     xul!JS::CompileGlobalScriptToStencil+0xca [/builds/worker/checkouts/gecko/js/src/frontend/CompileScript.cpp @ 166] 
5ca (Inline) --------     xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Compile::<lambda_1>::operator()+0x10 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1799] 
5cb (Inline) --------     xul!mozilla::MaybeOneOf<JS::SourceText<char16_t>,JS::SourceText<mozilla::Utf8Unit> >::mapNonEmpty+0x19 [/builds/worker/workspace/obj-build/dist/include/mozilla/MaybeOneOf.h @ 148] 
5cc (Inline) --------     xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Compile+0x46 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1805] 
5cd 1768f518 5d735502     xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Run+0x73 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1786] 
5ce (Inline) --------     xul!mozilla::TaskController::RunPoolThread+0x8e2 [/builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp @ 357] 
5cf 1768f784 633d6a90     xul!mozilla::ThreadFuncPoolThread+0x932 [/builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp @ 206] 
5d0 1768f7b8 6344d8b6     nss3!_PR_NativeRunThread+0x140 [/builds/worker/checkouts/gecko/nsprpub/pr/src/threads/combined/pruthr.c @ 421] 
5d1 1768f7c8 76e859d3     nss3!pr_root+0x16 [/builds/worker/checkouts/gecko/nsprpub/pr/src/md/windows/w95thred.c @ 139] 
5d2 1768f800 76447ba9     ucrtbase!thread_start<unsigned int (__stdcall*)(void *),1>+0x43
5d3 1768f810 650f4e9f     KERNEL32!BaseThreadInitThunk+0x19
5d4 (Inline) --------     mozglue!mozilla::interceptor::FuncHook<mozilla::interceptor::WindowsDllInterceptor<mozilla::interceptor::VMSharingPolicyShared>,void (*)(int, void *, void *) __attribute__((fastcall))>::operator()+0x9 [/builds/worker/checkouts/gecko/toolkit/xre/dllservices/mozglue/nsWindowsDllInterceptor.h @ 150] 
5d5 1768f844 76fdb79b     mozglue!patched_BaseThreadInitThunk+0x1f [/builds/worker/checkouts/gecko/toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp @ 566] 
5d6 1768f89c 76fdb71f     ntdll!__RtlUserThreadStart+0x2b
5d7 1768f8ac 00000000     ntdll!_RtlUserThreadStart+0x1b
```

Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions.

```
0:032> ln 5ff01f50
Exact matches:
    xul!js::FrontendContext::onOverRecursed (void)
    xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void)
    xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void)
```
I pushed to try and the issue doesn't seem to reproduce in non-official Nightly builds, so I would assume that we cannot trust mozregression here when we start regressing between official Nightly builds' commits, which could explain why bug 1848733 would be wrongly identified as the regressor here (it is the commit for an official Nightly build).

I suggest we look at [the wider regression range between official builds](https://hg.mozilla.org/mozilla-central/pushloghtml?tochange=bd540bacea2e&fromchange=f79fe732a6b5) and I'm thus tempted to blame bug 1845638 because it's about `js::FrontendContext`. Please correct this if I'm wrong.

I reach:

```
0:032> k 600
 # ChildEBP RetAddr      
00 1760fe84 5db2d80f     xul!js::FrontendContext::onOverRecursed
01 (Inline) --------     xul!js::AutoCheckRecursionLimit::check+0x9ff4 [/builds/worker/workspace/obj-build/dist/include/js/friend/StackLimits.h @ 225] 
02 17610200 5db24c80     xul!js::frontend::BytecodeEmitter::emitTree+0xa01f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11728] 
03 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLeftAssociative+0x14 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8325] 
04 17610580 5db32309     xul!js::frontend::BytecodeEmitter::emitTree+0x1490 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11965] 
05 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList::<lambda_0>::operator()+0x22 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9057] 
06 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitPropertyList+0x13f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 9188] 
07 176108b8 5db25d95     xul!js::frontend::BytecodeEmitter::emitObject+0x7e9 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 10778] 
08 17610c30 5db256e1     xul!js::frontend::BytecodeEmitter::emitTree+0x25a5 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12189] 
09 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitInitializer+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3124] 
0a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitSingleDeclaration+0x1a6 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3999] 
0b (Inline) --------     xul!js::frontend::BytecodeEmitter::emitDeclarationList+0x213 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 3933] 
0c 17610fb0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x1ef1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11831] 
0d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
0e 17611330 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
0f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
10 17611398 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
11 17611710 5db2594b     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
12 (Inline) --------     xul!js::frontend::TernaryNode::kid2+0x12 [/builds/worker/checkouts/gecko/js/src/frontend/ParseNode.h @ 1156] 
13 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitIf+0x1cb [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4867] 
14 17611a90 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x215b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11755] 
15 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
16 17611e10 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
17 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
18 17611e78 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
19 176121f8 5d2420b1     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
1a (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCStyleFor+0x16f [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5801] 
1b 17612324 5db26c5c     xul!js::frontend::BytecodeEmitter::emitFor+0x1c1 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5838] 
1c 176126a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0x346c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11779] 
1d (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
1e 17612a20 5db2fc46     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
1f (Inline) --------     xul!js::frontend::BytecodeEmitter::emitLexicalScopeBody+0x3a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4942] 
20 17612a88 5db2424d     xul!js::frontend::BytecodeEmitter::emitLexicalScope+0x96 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 4957] 
```

... then a lot of other similar calls, ending with:

```
5b7 1768d468 5db303cd     xul!js::frontend::BytecodeEmitter::emitTree+0xa5d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12137] 
5b8 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitFunctionScript+0x1e2 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 2514] 
5b9 1768d828 5db249fa     xul!js::frontend::BytecodeEmitter::emitFunction+0x44d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 5890] 
5ba 1768dba0 5db2758a     xul!js::frontend::BytecodeEmitter::emitTree+0x120a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11744] 
5bb (Inline) --------     xul!js::frontend::CallOrNewEmitter::prepareForOtherCallee+0x1a [/builds/worker/checkouts/gecko/js/src/frontend/CallOrNewEmitter.cpp @ 133] 
5bc (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCalleeAndThis+0x381c [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 7931] 
5bd (Inline) --------     xul!js::frontend::BytecodeEmitter::emitCallOrNew+0x3954 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 8238] 
5be 1768df20 5db2465d     xul!js::frontend::BytecodeEmitter::emitTree+0x3d9a [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 12131] 
5bf (Inline) --------     xul!js::frontend::BytecodeEmitter::emitExpressionStatement+0x33d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6935] 
5c0 1768e2a0 5db24229     xul!js::frontend::BytecodeEmitter::emitTree+0xe6d [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11882] 
5c1 (Inline) --------     xul!js::frontend::BytecodeEmitter::emitStatementList+0x1e [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 6880] 
5c2 1768e624 5d23c112     xul!js::frontend::BytecodeEmitter::emitTree+0xa39 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 11873] 
5c3 1768e728 5d249381     xul!js::frontend::BytecodeEmitter::emitScript+0x102 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeEmitter.cpp @ 2414] 
5c4 (Inline) --------     xul!ScriptCompiler<mozilla::Utf8Unit>::compile+0x2a0 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 994] 
5c5 1768f42c 5d237f82     xul!CompileGlobalScriptToStencilAndMaybeInstantiate<mozilla::Utf8Unit>+0x441 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 335] 
5c6 (Inline) --------     xul!CompileGlobalScriptToStencilImpl+0x1b [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 406] 
5c7 1768f460 5d0839ca     xul!js::frontend::CompileGlobalScriptToStencil+0x42 [/builds/worker/checkouts/gecko/js/src/frontend/BytecodeCompiler.cpp @ 426] 
5c8 (Inline) --------     xul!CompileGlobalScriptToStencilImpl+0xb0 [/builds/worker/checkouts/gecko/js/src/frontend/CompileScript.cpp @ 127] 
5c9 1768f4dc 5cbf36b3     xul!JS::CompileGlobalScriptToStencil+0xca [/builds/worker/checkouts/gecko/js/src/frontend/CompileScript.cpp @ 166] 
5ca (Inline) --------     xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Compile::<lambda_1>::operator()+0x10 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1799] 
5cb (Inline) --------     xul!mozilla::MaybeOneOf<JS::SourceText<char16_t>,JS::SourceText<mozilla::Utf8Unit> >::mapNonEmpty+0x19 [/builds/worker/workspace/obj-build/dist/include/mozilla/MaybeOneOf.h @ 148] 
5cc (Inline) --------     xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Compile+0x46 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1805] 
5cd 1768f518 5d735502     xul!mozilla::dom::ScriptOrModuleCompileTask<0>::Run+0x73 [/builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp @ 1786] 
5ce (Inline) --------     xul!mozilla::TaskController::RunPoolThread+0x8e2 [/builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp @ 357] 
5cf 1768f784 633d6a90     xul!mozilla::ThreadFuncPoolThread+0x932 [/builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp @ 206] 
5d0 1768f7b8 6344d8b6     nss3!_PR_NativeRunThread+0x140 [/builds/worker/checkouts/gecko/nsprpub/pr/src/threads/combined/pruthr.c @ 421] 
5d1 1768f7c8 76e859d3     nss3!pr_root+0x16 [/builds/worker/checkouts/gecko/nsprpub/pr/src/md/windows/w95thred.c @ 139] 
5d2 1768f800 76447ba9     ucrtbase!thread_start<unsigned int (__stdcall*)(void *),1>+0x43
5d3 1768f810 650f4e9f     KERNEL32!BaseThreadInitThunk+0x19
5d4 (Inline) --------     mozglue!mozilla::interceptor::FuncHook<mozilla::interceptor::WindowsDllInterceptor<mozilla::interceptor::VMSharingPolicyShared>,void (*)(int, void *, void *) __attribute__((fastcall))>::operator()+0x9 [/builds/worker/checkouts/gecko/toolkit/xre/dllservices/mozglue/nsWindowsDllInterceptor.h @ 150] 
5d5 1768f844 76fdb79b     mozglue!patched_BaseThreadInitThunk+0x1f [/builds/worker/checkouts/gecko/toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp @ 566] 
5d6 1768f89c 76fdb71f     ntdll!__RtlUserThreadStart+0x2b
5d7 1768f8ac 00000000     ntdll!_RtlUserThreadStart+0x1b
```

Note: The debugger can wrongly display a webrtc function as the top function on the stack because `xul!js::FrontendContext::onOverRecursed` is compiled to the same bytes in the binary as some webrtc functions.

```
0:032> ln 5ff01f50
Exact matches:
    xul!js::FrontendContext::onOverRecursed (void)
    xul!webrtc::AudioBuffer::set_downmixing_by_averaging (void)
    xul!webrtc::voe::`anonymous namespace'::ChannelReceive::StartPlayout (void)
```

Back to Bug 1853480 Comment 3