Commit Graph

77 Commits

Author SHA1 Message Date
roytam1 ebad409f28 import from UXP: Issue #2142 - Support SuperProperty in field initializers (b187006a) 2023-05-01 14:14:25 +08:00
roytam1 cb4c73a778 import from UXP: Issue #2142 - Optimize .initializers scoping and emitter (e0b5528c) 2023-05-01 14:09:26 +08:00
roytam1 47e80f4fd3 import from UXP: Issue #2142 - Set anonymous function name in field initializer (c2061149) 2023-05-01 14:06:57 +08:00
roytam1 546b8e2df0 import from UXP: Issue #2142 - Don't treat PNK_NAME specially emitAssignmentOrInit (f0b06f5a) 2023-05-01 14:05:26 +08:00
roytam1 d65e1f6f87 import from UXP: Issue #2142 - Emit field keys in correct order (f374ab47) 2023-05-01 14:04:16 +08:00
roytam1 df2cf3a69a import from UXP: Issue #2142 - Fix several scoping issues in field initializers (bcb6203e) 2023-05-01 13:57:20 +08:00
roytam1 2e478fa3ab import from UXP: Issue #2142 - Use JSOP_INITPROP for field initializers (849ab441) 2023-05-01 13:51:54 +08:00
roytam1 a99f5306ed ported from UXP: Issue #2142 - Handle fields in derived classes (235ca779) 2023-05-01 13:41:17 +08:00
roytam1 c7278ac509 import from UXP: Issue #2142 - Add FunctionEmitter, FunctionScriptEmitter, and FunctionParamsEmitter with current methods (e6335ded) 2023-05-01 13:32:48 +08:00
roytam1 356f75e7a4 import from UXP: Issue #2142 - Add PropertyEmitter, ObjectEmitter, ClassEmitter, LexicalScopeEmitter, DefaultEmitter (1b89be6d) 2023-05-01 13:30:57 +08:00
roytam1 9ba8f749e8 import from UXP: Issue #2142 - Improve TokenPos handling in BCE (ab7721e4) 2023-05-01 13:28:34 +08:00
roytam1 d22df591a0 ported from UXP: Issue #2142 - Implement syntax for public/private fields and computed field names (51db22ff) 2023-05-01 13:27:22 +08:00
roytam1 029021f3c1 import from UXP: Issue #2142 - Fold BytecodeEmitter::checkTypeSet into BytecodeEmitter::emitCheck (014ebe8a) 2023-05-01 08:10:15 +08:00
roytam1 8d2458b947 import from UXP: Issue #1691 - Part 13: Remove MUST_MATCH_TOKEN* macros in Parser. M1501928 This was helpful in debugging one of the crashes, the macros made debugging a nightmare. (bc895eba) 2023-05-01 00:29:19 +08:00
roytam1 402ff385f6 import from UXP: Issue #1691 - Part 6e: Fix problems due to divergent codebases. This gets basic dynamic import working. Fix a problem in Part 5b where Mozilla used toGCThing() and we don't. Fix a problem in Part 4 where runtime() returns nullptr in our codebase since it runs on JS Helper thread. We need to get the runtime via runtimeFromAnyThread() instead. (e7d0b58e) 2023-04-30 23:31:52 +08:00
roytam1 34837b0fb1 ported from UXP: Issue #1691 - Part 4: Finish implementing call import. M1499140 (7a6dab0b) 2023-04-30 22:55:31 +08:00
roytam1 0781175904 ported from UXP: Issue #1691 - Part 3: Finish implementing import meta. M1427610 (3f4985ce) 2023-04-30 22:38:34 +08:00
roytam1 73ee4c0c4b import from UXP: Issue #1691 - Part 2: Implement call import and import meta in the parser. M1427610 M1484948 (a8ab41b4) 2023-04-30 22:24:45 +08:00
roytam1 260bbc54cf ported from UXP: Issue #2173 - Introduce FunctionNode::syntaxKind instead of JSOPs (0132ae21) 2023-04-05 08:57:04 +08:00
roytam1 f98526a86d ported from UXP: Issue #2173 - Separate CodeNode into FunctionNode and ModuleNode (0dac7918) 2023-04-05 08:52:46 +08:00
roytam1 cb01c6f909 import from UXP: Issue #2173 - Remove unused case/code from function node ops (f21340f1) 2023-04-05 08:49:41 +08:00
roytam1 35c239c0d6 import from UXP: Issue #2173 - Add TryNode (d4103253) 2023-04-05 08:36:29 +08:00
roytam1 f3f51ebb02 import from UXP: Issue #2173 - Add accessors to LexicalScopeNode (3bd300e2) 2023-04-05 08:34:30 +08:00
roytam1 8791207a54 import from UXP: Issue #2173 - Add accessors to NullaryNode and change LoopControlStatement arity to PN_LOOP (a49f4d04) 2023-04-05 08:31:09 +08:00
roytam1 4b0f0e6874 ported from UXP: Issue #2173 - Add accessors to NameNode, CodeNode, RegExpLiteral, and add NumericLiteral (ba730c48) 2023-04-05 08:28:47 +08:00
roytam1 0148679194 ported from UXP: Issue #2173 - Add accessors to UnaryNode and subclasses (68a407c9) 2023-04-05 08:20:51 +08:00
roytam1 0f372d2fe4 import from UXP: Issue #2173 - Add accessors to BinaryNode and subclasses (662419c5) 2023-04-05 08:17:00 +08:00
roytam1 6cd3774da7 import from UXP: Issue #2173 - Add accessors to TernaryNode (4726d96f) 2023-04-05 08:14:43 +08:00
roytam1 5f06ea8721 import from UXP: Issue #2173 - Add accessors to ListNode (9c17ec05) 2023-04-05 08:12:36 +08:00
roytam1 7e5e4918dc import from UXP: Issue #2173 - Store the info about the existence of the default case into the switch ParseNode (36b5a562) 2023-04-05 08:09:17 +08:00
roytam1 f9e429c4f8 import from UXP: Issue #2173 - Add a new PNK_PROPERTYNAME to hold location information about property access name (fa1193b8) 2023-04-05 08:06:16 +08:00
roytam1 aa7e251848 import from UXP: Issue #2173 - Add a new PNK_ARGUMENTS node type for call argument lists (924140d4) 2023-04-05 08:04:04 +08:00
roytam1 dd9c013b69 import from UXP: Issue #2155 - Add SwitchEmitter (2554a83d) 2023-03-28 11:34:23 +08:00
roytam1 7306edbf38 ported from UXP: Issue #2155 - Move TryEmitter and ForOfLoopControl to TryEmitter.{cpp.h} and ForOfLoopControl.{cpp.h} (70e1654c) 2023-03-28 11:30:59 +08:00
roytam1 b881fa7c2a import from UXP: Issue #2155 - Move NestableControl classes except ForOfLoopControl to BytecodeControlStructures.{cpp.h} (a8ac1cac) 2023-03-28 11:22:32 +08:00
roytam1 61dfa121f5 ported from UXP: Issue #2155 - Split Nestable to ds/ and EmitterScope to EmitterScope.{cpp.h} (81691afb) 2023-03-28 11:20:36 +08:00
roytam1 590888c1ca import from UXP: Issue #2155 - Fix wrong assertion (fbb5f734) 2023-03-23 11:56:25 +08:00
roytam1 c3d752db7f import from UXP: Issue #2155 - Fix debug build (76c20301) 2023-03-23 11:47:14 +08:00
roytam1 a5602bf09a import from UXP: Issue #2155 - Remove now-unused functions (5dc6be1b) 2023-03-23 11:42:36 +08:00
roytam1 3daef3c977 import from UXP: Issue #2155 - Fix BytecodeEmitter::emitArguments for our ParseNode tree (e88f946c) 2023-03-23 11:40:17 +08:00
roytam1 a2de1d5802 ported from UXP: Issue #2155 - Add PropOpEmitter, ElemOpEmitter, NameOpEmitter, CallOrNewEmitter (89e68200) 2023-03-23 11:38:40 +08:00
roytam1 ab9ea1208c import from UXP: Issue #2155 - Refactor BytecodeEmitter in preparation for *Emitter work (a2fd8846) 2023-03-23 11:32:11 +08:00
roytam1 c063999c21 import from UXP: Issue #2155 - Simplify BytecodeEmitter::isRestParameter (da05c050) 2023-03-23 11:29:51 +08:00
roytam1 b3ccbe7bb1 ported from UXP: Issue #2155 - Split TDZCheckCache, IfEmitter/InternalIfEmitter, JumpList from BytecodeEmitter (e8fee205) 2023-03-23 11:26:31 +08:00
roytam1 96fc6a7a2d ported from Waterfox-Classic: Work around missing JSOP_GOTO functionality for optional chaining. (b5a3f1bd) 2022-06-30 11:21:51 +08:00
roytam1 ed1e4b60eb import from UXP: Issue #1894 - Part 5: Implement bytecode for nullish coalescing (707867d1) 2022-05-22 08:13:31 +08:00
roytam1 25603675ea ported from UXP: Issue #1658 - Part 6: Break and return no control flow for jumps emitted by optional chains under IonBuilder (cb980963)
in bk55, IonControlFlow.cpp should be modified instead of modifying IonBuilder.cpp.
2022-05-07 01:26:18 +08:00
roytam1 61dd72b3a8 import from UXP: Issue #1658 - Part 5: Add and initialize TDZ check to optional chaining emitter (4c352966) 2022-05-07 01:08:55 +08:00
roytam1 ca41a4edba import from UXP: Issue #1658 - Part 4: Fix optional chaining assertions and remove unreachable code (a350d512) 2022-05-07 01:05:57 +08:00
roytam1 e7f4afda31 import from UXP: Issue #1658 - Part 2: Implement bytecode for optional chaining (d58db931) 2022-05-07 00:53:06 +08:00