Commit message (Collapse) | Author | Age | Lines | |
---|---|---|---|---|
* | Bug 1334314 - Fix debug mode OSR exception handling for IteratorClose trynotes | janekptacijarabaci | 2018-03-25 | -9/+48 |
| | | | | Issue #74 | |||
* | Bug 1331585 - Allow falsy "done" values for IteratorClose due to exception ↵ | janekptacijarabaci | 2018-03-25 | -8/+25 |
| | | | | | | during array destructuring Issue #74 | |||
* | Bug 1341339 - Check for duplicates in processIterators | janekptacijarabaci | 2018-03-25 | -3/+15 |
| | | | | Issue #74 | |||
* | Bug 1338796 - Do not call iterator.return if iterator.throw is present in yield* | janekptacijarabaci | 2018-03-25 | -132/+197 |
| | | | | Issue #74 | |||
* | Bug 1335996 - Make test for bug 1333946 more reliable | janekptacijarabaci | 2018-03-25 | -3/+5 |
| | | | | Issue #74 | |||
* | Bug 1333946 - Make IonBuilder::processIterators transitive | janekptacijarabaci | 2018-03-25 | -24/+27 |
| | | | | Issue #74 | |||
* | Bug 1322069 - Add TryEmitter | janekptacijarabaci | 2018-03-25 | -169/+341 |
| | | | | Issue #74 | |||
* | Bug 1334799 - Handle stack value in correct order when leaving for-of loop ↵ | janekptacijarabaci | 2018-03-25 | -7/+31 |
| | | | | | | from finally block Issue #74 | |||
* | Bug 1332881 - Handle stack value in correct order when leaving loop and ↵ | janekptacijarabaci | 2018-03-25 | -0/+60 |
| | | | | | | try-finally Issue #74 | |||
* | Bug 1332155 - Skip non-try-related trynotes when asserting jump targets | janekptacijarabaci | 2018-03-25 | -1/+2 |
| | | | | Issue #74 | |||
* | Bug 1331444 - Keep iterators alive in Ion in for-of loops for IteratorClose ↵ | janekptacijarabaci | 2018-03-25 | -6/+22 |
| | | | | | | due to exceptions Issue #74 | |||
* | Bug 1147371: Always decompile argument names in self-hosted code in the ↵ | janekptacijarabaci | 2018-03-24 | -4/+28 |
| | | | | | | caller frame Issue #74 | |||
* | Bug 1147371: Implement JSOP_PICK and JSOP_UNPICK in the expression decompiler | janekptacijarabaci | 2018-03-24 | -1/+31 |
| | | | | Issue #74 | |||
* | Bug 1147371: Implement calling IteratorClose and "return" on iterators in yield* | janekptacijarabaci | 2018-03-24 | -45/+232 |
| | | | | Issue #74 | |||
* | Bug 1147371: Implement IteratorClose for array destructuring | janekptacijarabaci | 2018-03-24 | -135/+322 |
| | | | | Issue #74 | |||
* | Bug 1147371: Convert self-hosted code that need to call IteratorClose to use ↵ | janekptacijarabaci | 2018-03-24 | -192/+27 |
| | | | | | | for-of Issue #74 | |||
* | Bug 1147371: Rename allowContentSpread to allowContentIter | janekptacijarabaci | 2018-03-24 | -12/+22 |
| | | | | Issue #74 | |||
* | Bug 1147371: Implement IteratorClose for for-of | janekptacijarabaci | 2018-03-24 | -203/+704 |
| | | | | Issue #74 | |||
* | Bug 1204028: Evaluate LHS reference before RHS in destructuring | janekptacijarabaci | 2018-03-20 | -97/+1743 |
| | | | | | Issue #73 [Depends on] Bug 1147371: Implement IteratorClose | |||
* | Bug 1322314 - Do not emit ParseNode twice in ↵ | janekptacijarabaci | 2018-03-20 | -139/+144 |
| | | | | | | | BytecodeEmitter::emitDestructuringOpsArray Issue #73 [Depends on] Bug 1147371: Implement IteratorClose | |||
* | Bug 1322314 - Disallow emitting ParseNode twice | janekptacijarabaci | 2018-03-20 | -31/+6 |
| | | | | | Issue #73 [Depends on] Bug 1147371: Implement IteratorClose | |||
* | Add support for the function `name` property. | wolfbeast | 2018-03-20 | -184/+1033 |
|\ | | | | | | | | | | | This resolves #78. Merged remote-tracking branch 'janek/js_function_name_1' | |||
| * | Follow up: A opening bracket { was added; Added "function()->explicitName()" ↵ | janekptacijarabaci | 2018-03-19 | -2/+2 |
| | | | | | | | | | | | | instead of "function()->name()" Issue #78 | |||
| * | Part 4: Fix existing tests | janekptacijarabaci | 2018-03-19 | -38/+39 |
| | | | | | | | | Issue #87 | |||
| * | Part 3: Support JSOP_SETFUNNAME in Baseline and Ion | janekptacijarabaci | 2018-03-19 | -0/+122 |
| | | | | | | | | Issue #87 | |||
| * | Part 2: Call NameFunctions after emitting | janekptacijarabaci | 2018-03-19 | -14/+15 |
| | | | | | | | | Issue #78 | |||
| * | Part 1: Implement ES6 function name property semantics | janekptacijarabaci | 2018-03-19 | -81/+750 |
| | | | | | | | | Issue #78 | |||
| * | Bug 1317309: Throw a TypeError when passing a Symbol value to ToAtom | janekptacijarabaci | 2018-03-19 | -3/+45 |
| | | | | | | | | | | | | Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics | |||
| * | Bug 1320042: Rename BytecodeEmitter::emitConditionallyExecuted{SOMETHING} to ↵ | janekptacijarabaci | 2018-03-19 | -19/+18 |
| | | | | | | | | | | | | | | | | BytecodeEmitter::emit{SOMETHING}InBranch Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics | |||
| * | Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScript | janekptacijarabaci | 2018-03-19 | -37/+52 |
| | | | | | | | | | | | | Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics | |||
* | | Tests | janekptacijarabaci | 2018-03-19 | -5/+32 |
| | | | | | | | | Issue #77 | |||
* | | Use ordinary object for RegExp prototype | janekptacijarabaci | 2018-03-19 | -59/+98 |
| | | | | | | | | Issue #77 | |||
* | | Bug 1323868: Report object allocation failure when running off-main-thread | janekptacijarabaci | 2018-03-19 | -2/+11 |
|/ | | | | | Issue #77 [Depends on] Bug 1192038: RegExp.prototype should be an ordinary object | |||
* | Prototypes should be regular objects. | wolfbeast | 2018-03-19 | -124/+271 |
|\ | | | | | | | | | | | This resolves #76 Merged remote-tracking branch 'janek/js_error_ordinary-object_1' | |||
| * | Add TI for error properties assigned by the initial shape (follow up) | janekptacijarabaci | 2018-03-17 | -1/+1 |
| | | ||||
| * | Bug 1320198: Land additional Error prototype test | janekptacijarabaci | 2018-03-17 | -0/+24 |
| | | ||||
| * | Bug 1319952: Assertion failure: isNurseryAllocAllowed(), at ↵ | janekptacijarabaci | 2018-03-17 | -1/+2 |
| | | | | | | | | js/src/gc/Allocator.cpp:79 | |||
| * | Tests | janekptacijarabaci | 2018-03-17 | -0/+35 |
| | | ||||
| * | Add TI for error properties assigned by the initial shape | janekptacijarabaci | 2018-03-17 | -2/+2 |
| | | ||||
| * | Handle the now ordinary error prototype object in stack | janekptacijarabaci | 2018-03-17 | -31/+48 |
| | | ||||
| * | Use ordinary objects for Error prototypes | janekptacijarabaci | 2018-03-17 | -91/+161 |
| | | ||||
* | | Remove strict arguments poison pill for "caller" property per ES2017 | wolfbeast | 2018-03-18 | -18/+18 |
|\ \ | | | | | | | | | | | | | | | | This resolves #79. Merged remote-tracking branch 'janek/js_strict_arguments_caller_removed_1' | |||
| * | | Remove strict arguments poison pill for "caller" property per ES2017 | janekptacijarabaci | 2018-03-18 | -18/+18 |
| |/ | ||||
* | | Correctly tokenize valid JS names when using code points outside of BMP range. | wolfbeast | 2018-03-18 | -37/+1159 |
|\ \ | | | | | | | | | | | | | | | | This resolves #72. Merged remote-tracking branch 'janek/js_variable_unicode_1' | |||
| * | | Correctly tokenize valid JS names when using Unicode mathematical ↵ | janekptacijarabaci | 2018-03-18 | -37/+1159 |
| |/ | | | | | | | | | | | alphanumeric symbols as variable name Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1647 | |||
* | | Support ES6's "new function" construct | wolfbeast | 2018-03-18 | -501/+897 |
|\ \ | | | | | | | | | | | | | | | | This resolves #75. Merged remote-tracking branch 'janek/js_function_new_1' | |||
| * | | Bug 755821: Function() should use the parser's argument parsing code | janekptacijarabaci | 2018-03-16 | -451/+314 |
| | | | ||||
| * | | Bug 1318017: Call GetPrototypeFromConstructor for generator/async function ↵ | janekptacijarabaci | 2018-03-16 | -53/+586 |
| |/ | | | | | | | | | | | | | and Intl constructors [Depends on] Bug 755821: Function() should use the parser's argument parsing code | |||
* | | Merge branch 'ported-upstream' | wolfbeast | 2018-03-18 | -40/+55 |
|\ \ | |/ |/| | ||||
| * | Handle same-compartment wrappers in TypedArray methods. | wolfbeast | 2018-03-17 | -40/+55 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CallTypedArrayMethodIfWrapped (and the CallNonGeneric machinery throughout the engine) unwraps the `this` argument, but the other arguments are only rewrapped for the target compartment. The pattern being used before this patch to get the length of a TypedArray or possible TypedArray wrapper is: `callFunction(CallTypedArrayMethodIfWrapped, O, O, "TypedArrayLength")` The first `O` is the `this` value and the second is an argument. If `O` is a cross-compartment wrapper, this works fine. The first `O` is unwrapped, revealing the actual TypedArray object; the second `O` is rewrapped for that TypedArray's compartment, producing the same TypedArray. However, if `O` is a same-compartment wrapper, this doesn't work. The first `O` is unwrapped, revealing the actual TypedArray object in the same compartment; rewrapping the other `O` does nothing to it, since it is already an object in the target compartment. Thus TypedArrayLength receives a `this` value that's an unwrapped TypedArray, but an argument that is still a wrapper. The fix is to have CallTypedArrayMethodIfWrapped targets only expect `this` to be an unwrapped TypedArray. |