Commit Graph
122 Commits
Author SHA1 Message Date
wolfbeast c2cb5e2195 Silence for-each-in warnings 2018-04-05 16:04:21 +02:00
janekptacijarabaci b2294011f8 Merge branch 'master' of https://github.com/MoonchildProductions/UXP into js_array_values_1 2018-03-27 15:57:18 +02:00
wolfbeast 4d3de12fa8 Merge remote-tracking branch 'janek/js_regexp_lastindex_1' 2018-03-27 13:22:30 +02:00
janekptacijarabaci fcd118b79a Bug 1360839 - Call IteratorClose due to abrupt completion from yield
Issue mcp-graveyard/UXP#74
2018-03-25 19:06:08 +02:00
janekptacijarabaci 6606526f82 Bug 1357075 - Pad a nop to unwind to the scope just before a destructuring iterator close trynote
Issue mcp-graveyard/UXP#74
2018-03-25 18:24:06 +02:00
janekptacijarabaci b4b11c9a3d Bug 1346862 - Fix IteratorClose due to non-local jumps being catchable by try statements inside for-of
Issue mcp-graveyard/UXP#74
2018-03-25 18:21:15 +02:00
janekptacijarabaci f5273cf72f Bug 1342553 - Part 0.2: Support JSOP_CHECKISCALLABLE in JIT
Issue mcp-graveyard/UXP#74
2018-03-25 17:00:47 +02:00
janekptacijarabaci 7d5a3b8254 Bug 1342553, Bug 1343072, Bug 1344753 (details in the description)
Bug 1342553 - Part 0.1: Use try-catch for IteratorClose in for-of
Bug 1343072 - Update HasLiveStackValueAtDepth to follow the change in
JSTRY_FOR_OF
Bug 1344753 - Update for-of stack depth in
ControlFlowGenerator::processWhileOrForInLoop

Issue mcp-graveyard/UXP#74
2018-03-25 16:22:38 +02:00
janekptacijarabaci 662e60d77c Bug 1334314 - Fix debug mode OSR exception handling for IteratorClose trynotes
Issue mcp-graveyard/UXP#74
2018-03-25 14:49:32 +02:00
janekptacijarabaci 8c7748c60d Bug 1331585 - Allow falsy "done" values for IteratorClose due to exception during array destructuring
Issue mcp-graveyard/UXP#74
2018-03-25 14:48:34 +02:00
janekptacijarabaci 6a5cd960ac Bug 1341339 - Check for duplicates in processIterators
Issue mcp-graveyard/UXP#74
2018-03-25 14:47:39 +02:00
janekptacijarabaci 1854cc94e4 Bug 1338796 - Do not call iterator.return if iterator.throw is present in yield*
Issue mcp-graveyard/UXP#74
2018-03-25 14:20:11 +02:00
janekptacijarabaci e6ad1cd6a5 Bug 1335996 - Make test for bug 1333946 more reliable
Issue mcp-graveyard/UXP#74
2018-03-25 13:35:18 +02:00
janekptacijarabaci ae88affbf7 Bug 1333946 - Make IonBuilder::processIterators transitive
Issue mcp-graveyard/UXP#74
2018-03-25 13:34:31 +02:00
janekptacijarabaci 231ab90006 Bug 1322069 - Add TryEmitter
Issue mcp-graveyard/UXP#74
2018-03-25 13:32:14 +02:00
janekptacijarabaci e67b419eed Bug 1334799 - Handle stack value in correct order when leaving for-of loop from finally block
Issue mcp-graveyard/UXP#74
2018-03-25 12:56:18 +02:00
janekptacijarabaci d6eb5c1959 Bug 1332881 - Handle stack value in correct order when leaving loop and try-finally
Issue mcp-graveyard/UXP#74
2018-03-25 12:38:28 +02:00
janekptacijarabaci 6b62ffb294 Bug 1332155 - Skip non-try-related trynotes when asserting jump targets
Issue mcp-graveyard/UXP#74
2018-03-25 12:37:44 +02:00
janekptacijarabaci f0883feb51 Bug 1331444 - Keep iterators alive in Ion in for-of loops for IteratorClose due to exceptions
Issue mcp-graveyard/UXP#74
2018-03-25 12:37:06 +02:00
janekptacijarabaci 84626e8e73 Bug 1317397: Only set lastIndex for global or sticky RegExps in RegExpBuiltinExec per ES2017 2018-03-24 16:01:06 +01:00
janekptacijarabaci 6178a8136b Bug 1343375: Update RegExp.prototype.replace and .match to call ToLength(lastIndex) for non-global RegExp and handle recompilations
[Depends on] Bug 1317397: Implement RegExp.lastIndex changes from ES2017
2018-03-24 15:54:49 +01:00
janekptacijarabaci 981816155f Bug 1147371: Always decompile argument names in self-hosted code in the caller frame
Issue mcp-graveyard/UXP#74
2018-03-24 12:29:12 +01:00
janekptacijarabaci 76aa8d5652 Bug 1147371: Implement JSOP_PICK and JSOP_UNPICK in the expression decompiler
Issue mcp-graveyard/UXP#74
2018-03-24 12:28:12 +01:00
janekptacijarabaci 37f0a017e4 Bug 1147371: Implement calling IteratorClose and "return" on iterators in yield*
Issue mcp-graveyard/UXP#74
2018-03-24 12:27:00 +01:00
janekptacijarabaci 6c2e8311a1 Bug 1147371: Implement IteratorClose for array destructuring
Issue mcp-graveyard/UXP#74
2018-03-24 12:23:14 +01:00
janekptacijarabaci b2a92cce75 Bug 1147371: Convert self-hosted code that need to call IteratorClose to use for-of
Issue mcp-graveyard/UXP#74
2018-03-24 12:15:02 +01:00
janekptacijarabaci 7d119cca77 Bug 1147371: Rename allowContentSpread to allowContentIter
Issue mcp-graveyard/UXP#74
2018-03-24 12:11:23 +01:00
janekptacijarabaci 09863e9656 Bug 1147371: Implement IteratorClose for for-of
Issue mcp-graveyard/UXP#74
2018-03-24 12:09:30 +01:00
janekptacijarabaci cfd9e0d2be Bug 1204028: Evaluate LHS reference before RHS in destructuring
Issue mcp-graveyard/UXP#73
[Depends on] Bug 1147371: Implement IteratorClose
2018-03-20 12:40:00 +01:00
janekptacijarabaci 9b488c7cff Bug 1322314 - Do not emit ParseNode twice in BytecodeEmitter::emitDestructuringOpsArray
Issue mcp-graveyard/UXP#73
[Depends on] Bug 1147371: Implement IteratorClose
2018-03-20 10:46:22 +01:00
janekptacijarabaci 1664c8df00 Bug 1322314 - Disallow emitting ParseNode twice
Issue mcp-graveyard/UXP#73
[Depends on] Bug 1147371: Implement IteratorClose
2018-03-20 10:27:23 +01:00
wolfbeast a30795e043 Add support for the function name property.
This resolves #78.

Merged remote-tracking branch 'janek/js_function_name_1'
2018-03-20 10:10:12 +01:00
janekptacijarabaci 3369685755 Follow up: A opening bracket { was added; Added "function()->explicitName()" instead of "function()->name()"
Issue mcp-graveyard/UXP#78
2018-03-19 18:11:08 +01:00
janekptacijarabaci 00dc93e1d1 Part 4: Fix existing tests
Issue mcp-graveyard/UXP#87
2018-03-19 16:08:36 +01:00
janekptacijarabaci 74c522ca2d Part 3: Support JSOP_SETFUNNAME in Baseline and Ion
Issue mcp-graveyard/UXP#87
2018-03-19 15:59:22 +01:00
janekptacijarabaci 261580632b Part 2: Call NameFunctions after emitting
Issue mcp-graveyard/UXP#78
2018-03-19 15:51:02 +01:00
janekptacijarabaci ec0e91c50b Part 1: Implement ES6 function name property semantics
Issue mcp-graveyard/UXP#78
2018-03-19 15:47:10 +01:00
janekptacijarabaci 23f5317d1c Bug 1317309: Throw a TypeError when passing a Symbol value to ToAtom
Issue mcp-graveyard/UXP#78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2018-03-19 15:18:37 +01:00
janekptacijarabaci 390ab5cff6 Bug 1320042: Rename BytecodeEmitter::emitConditionallyExecuted{SOMETHING} to BytecodeEmitter::emit{SOMETHING}InBranch
Issue mcp-graveyard/UXP#78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2018-03-19 14:55:56 +01:00
janekptacijarabaci ff9a6baee0 Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScript
Issue mcp-graveyard/UXP#78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
2018-03-19 14:48:24 +01:00
janekptacijarabaci 4cf55447dc Update RegExp Xray code
Issue mcp-graveyard/UXP#77
2018-03-19 12:47:01 +01:00
janekptacijarabaci baa1682c84 Tests
Issue mcp-graveyard/UXP#77
2018-03-19 10:46:14 +01:00
janekptacijarabaci 613accc61a Use ordinary object for RegExp prototype
Issue mcp-graveyard/UXP#77
2018-03-19 10:42:58 +01:00
janekptacijarabaci 351cdd85ee Bug 1323868: Report object allocation failure when running off-main-thread
Issue mcp-graveyard/UXP#77
[Depends on] Bug 1192038: RegExp.prototype should be an ordinary object
2018-03-19 10:25:44 +01:00
wolfbeast 6c956e8e53 Prototypes should be regular objects.
This resolves #76

Merged remote-tracking branch 'janek/js_error_ordinary-object_1'
2018-03-19 09:23:23 +01:00
wolfbeast aaa674d3f9 Remove strict arguments poison pill for "caller" property per ES2017
This resolves #79.

Merged remote-tracking branch 'janek/js_strict_arguments_caller_removed_1'
2018-03-18 20:00:50 +01:00
wolfbeast 5fd8a47119 Correctly tokenize valid JS names when using code points outside of BMP range.
This resolves #72.

Merged remote-tracking branch 'janek/js_variable_unicode_1'
2018-03-18 17:58:37 +01:00
wolfbeast ee9ad1a841 Support ES6's "new function" construct
This resolves #75.

Merged remote-tracking branch 'janek/js_function_new_1'
2018-03-18 17:56:16 +01:00
janekptacijarabaci 4abcac7256 Correctly tokenize valid JS names when using Unicode mathematical alphanumeric symbols as variable name
Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1647
2018-03-18 14:55:49 +01:00
wolfbeast c717bc479f Merge branch 'ported-upstream' 2018-03-18 10:56:28 +01:00