roytam1
39d69840bf
Merge remote-tracking branch 'origin/tracking' into custom
2023-03-28 09:30:21 +08:00
Martok
2554a83d1d
Issue #2155 - Add SwitchEmitter
...
Based-on: m-c 1456006/{0,1}
2023-03-28 09:29:39 +08:00
Martok
70e1654c3c
Issue #2155 - Move TryEmitter and ForOfLoopControl to TryEmitter.{cpp.h} and ForOfLoopControl.{cpp.h}
...
Based-on: m-c 1460489/5
2023-03-28 09:29:18 +08:00
Martok
a8ac1cac3d
Issue #2155 - Move NestableControl classes except ForOfLoopControl to BytecodeControlStructures.{cpp.h}
...
Based-on: m-c 1460489/3
2023-03-28 09:28:59 +08:00
Martok
81691afbc3
Issue #2155 - Split Nestable to ds/ and EmitterScope to EmitterScope.{cpp.h}
...
Based-on: m-c 1351107/17, m-c 1460489/2
2023-03-28 09:28:30 +08:00
roytam1
e162f075ec
js: add using js::LifoAlloc to fix build
2023-03-23 09:12:12 +08:00
roytam1
6a7219fb70
Merge remote-tracking branch 'origin/tracking' into custom
2023-03-23 09:04:10 +08:00
Martok
fbb5f73459
Issue #2155 - Fix wrong assertion
...
(x) = function() {..} is an extremely sparsely documented way to prevent function name inference.
Modeled after how BytecodeEmitter::emitInitializer does it.
2023-03-23 09:02:31 +08:00
Martok
76c2030142
Issue #2155 - Fix debug build
2023-03-23 09:02:07 +08:00
Martok
5dc6be1bcb
Issue #2155 - Remove now-unused functions
2023-03-23 09:01:35 +08:00
Martok
e88f946c01
Issue #2155 - Fix BytecodeEmitter::emitArguments for our ParseNode tree
...
This resolves the differences in storage of call arguments between Mozilla's and our ParseNode tree.
2023-03-23 09:01:19 +08:00
Martok
89e6820006
Issue #2155 - Add PropOpEmitter, ElemOpEmitter, NameOpEmitter, CallOrNewEmitter
...
Attn: this plain patch port still contains issues caused by differences in the
ParseNode tree that will be fixed in the following commits.
Based-on: m-c 1466000/{7-10}
2023-03-23 09:01:02 +08:00
Martok
a2fd8846b6
Issue #2155 - Refactor BytecodeEmitter in preparation for *Emitter work
...
This removed a bit of reduncancy and makes stack building easier to follow.
- Move call context handling from BytecodeEmitter::emitGetNameAtLocation to BytecodeEmitter::emitCalleeAndThis
- Add stack comments for prop and elem related methods in BytecodeEmitter
- Remove emitAtopOp with NameNode*
- Pass JSOp to BytecodeEmitter::emitAssignment (modified)
- Add BytecodeEmitter::emitGetFunctionThis variant with offset
Based-on: m-c 1466000/{2-6}
2023-03-23 09:00:45 +08:00
Martok
da05c050e3
Issue #2155 - Simplify BytecodeEmitter::isRestParameter
2023-03-23 09:00:25 +08:00
Martok
e8fee20566
Issue #2155 - Split TDZCheckCache, IfEmitter/InternalIfEmitter, JumpList from BytecodeEmitter
2023-03-23 09:00:10 +08:00
roytam1
b03f6dd26e
Merge remote-tracking branch 'origin/tracking' into custom
2023-03-20 12:34:16 +08:00
Moonchild
82a2a67f07
No Issue - Ensure more OsiSpace
...
ensureOsiSpace(); was very much under-used. This adds more instances
where it makes sense to ensure Osi space before placing masm calls.
2023-03-20 10:43:36 +08:00
roytam1
85f6a49297
Merge remote-tracking branch 'origin/tracking' into custom
2023-03-15 22:52:23 +08:00
roytam1
0bfc6e3781
Revert "Reverting rev b7e45308 and 9824659d again as I can still get a crash in RegExpShared::finalize(FreeOp* fop)"
...
This reverts commit bb547a1b55 for landing
upstream fixes.
2023-03-15 22:51:51 +08:00
FranklinDM
0365f940fe
Issue #2148 - Make Vector not use AlignedStorage for its inline element storage
...
See Bug 1338374 1/2
2023-03-15 22:50:40 +08:00
Job Bautista
cdd91edd79
Issue #2148 - Discard RegExpShared data tables when discarding regexp JIT code.
...
Based on Mozilla bug 1378736's part 2.
Should fix the double-free.
Follow-up for #2083
2023-03-15 22:50:24 +08:00
Job Bautista
ad8d9639a4
Issue #2148 - Don't null out RegExpObject -> RegExpShared pointer on GC.
...
Follow-up for issue #2083 .
Taken from Mozilla bug 1378736.
2023-03-15 22:50:01 +08:00
Job Bautista
a2d6260cd6
Issue #2046 - Follow-up: Fix deprot in builtin/intl
...
Missing a couple of includes.
Tag #80
2023-03-15 22:49:18 +08:00
roytam1
60e7987621
Merge remote-tracking branch 'origin/tracking' into custom
2023-03-14 22:12:29 +08:00
Job Bautista
c2c95eff97
Issue #80 - Move implementation of CPOWTimer::CPOWTimer to header.
...
Fixes link bustage in xul.dll
Inline functions must be implemented in the header.
2023-03-14 22:11:46 +08:00
Job Bautista
0b039ff7a6
Issue #80 - Fix deprot in js/xpconnect.
...
I think we never deunified js/xpconnect before. But if we're going to ever build
this tree deunified in the future, there's nothing stopping us now!
2023-03-14 22:11:28 +08:00
Job Bautista
261dc37ad8
Issue #80 - Fix deprot in js/ipc.
...
I think we never deunified js/ipc before. But if we're going to build this tree
deunified ever in the future, there's nothing stopping us now!
2023-03-14 22:11:14 +08:00
Job Bautista
77b6180555
Issue #2046 - Follow-up: Fix deprot in RelativeTimeFormat.
...
Found while building js/src deunified, with the exception of builtin/intl.
Tag #80 .
2023-03-14 22:10:55 +08:00
roytam1
bb547a1b55
Reverting rev b7e45308 and 9824659d again as I can still get a crash in RegExpShared::finalize(FreeOp* fop)
2023-03-12 21:39:55 +08:00
roytam1
6f99b97447
Revert "reverting rev 22dc363c and 233802c9 for now since I got a crash in destructor of RegExpShared."
...
This reverts commit 7faa37b7df .
2023-03-10 20:27:07 +08:00
roytam1
c5ab8d0feb
Merge remote-tracking branch 'origin/tracking' into custom
2023-03-09 21:15:31 +08:00
Job Bautista
1f0df8f421
Issue #2148 - Root the RegExpShared in RegExpMacroAssembler.
...
Based on Mozilla bug 1355050.
2023-03-09 21:15:02 +08:00
roytam1
1b1d672dc6
Revert "revert last rev ( 7faa37b7) and revert rev b7e45308 and 9824659d instead."
...
This reverts commit 4475b2d9f7 for landing
upstream fix.
2023-03-09 21:13:26 +08:00
roytam1
eb8748c537
Merge remote-tracking branch 'origin/tracking' into custom
2023-03-06 16:29:00 +08:00
Moonchild
3fb11e542c
Issue #2046 - correct debug assert for intl_FormatRelativeTime()
...
Probably fallout from the refactoring in #2109
Tag #1382
2023-03-06 16:27:12 +08:00
roytam1
ba020f4a76
Merge remote-tracking branch 'origin/tracking' into custom
2023-02-23 21:16:30 +08:00
Moonchild
fa014f9e95
Issue #2046 - Follow-up: Fix debug assert using old chars definition.
2023-02-23 21:16:05 +08:00
roytam1
a52c44343e
Merge remote-tracking branch 'origin/tracking' into custom
2023-02-22 07:09:09 +08:00
Moonchild
db89c5a05d
No issue - Refactor FindErrorInstanceOrPrototype
...
The logic here wasn't very transparent or easy to follow.
Doing a positive check to set the result instead of defaulting to it
also potentially prevents issues.
2023-02-22 07:07:58 +08:00
roytam1
fc9eb6a1b3
Merge remote-tracking branch 'origin/tracking' into custom
2023-02-21 08:21:33 +08:00
Martok
87eaaee953
Issue #2046 - Move a bunch of functions in builtin/intl/CommonFunctions.js into more-specific files, where those functions are only used in a single more-specific file
2023-02-21 08:20:01 +08:00
Martok
cf2e2ed906
Issue #2046 - Move builtin/Intl.js (which now contains only shared functionality) to builtin/intl/CommonFunctions.js
2023-02-21 08:19:43 +08:00
Martok
45720521cf
Issue #2046 - Move Intl.Collator self-hosted code to a new builtin/intl/Collator.js file
2023-02-21 08:19:25 +08:00
Martok
a56b9e8324
Issue #2046 - Move Intl.NumberFormat self-hosted code to a new builtin/intl/NumberFormat.js file
2023-02-21 08:19:09 +08:00
Martok
38284ba8b4
Issue #2046 - Move Intl.DateTimeFormat self-hosted code to a new builtin/intl/DateTimeFormat.js file
2023-02-21 08:18:52 +08:00
Martok
e55cdd19a0
Issue #2046 - Move Intl.PluralRules self-hosted code to a new builtin/intl/PluralRules.js file
2023-02-21 08:18:37 +08:00
Martok
ae0eddc165
Issue #2046 - Move Intl.RelativeTimeFormat self-hosted code to a new builtin/intl/RelativeTimeFormat.js file
2023-02-21 08:18:19 +08:00
Martok
7f2b67f7dd
Issue #2046 - Move the self-hosting of non-constructor properties of Intl to a new builtin/intl/IntlObject.js file
2023-02-21 08:18:01 +08:00
Martok
f8e3f81197
Issue #2046 - Move various generated files from builtin/Intl* to builtin/intl/*, and add "Generated" to their names for clarity
2023-02-21 08:17:46 +08:00
Martok
5574b06ff5
Issue #2046 - Move builtin/Intl.* to builtin/intl/IntlObject.*
2023-02-21 08:17:20 +08:00