summaryrefslogtreecommitdiffstats
path: root/js/src/vm
Commit message (Collapse)AuthorAgeLines
* Use canonical function in TypeNewScript::rollbackPartiallyInitializedObjects.wolfbeast2018-12-13-7/+13
|
* Rename TypeSet::clone to TypeSet::cloneIntoUninitialized to indicate that it ↵trav902018-09-19-9/+11
| | | | | | freshly initializes the TemporaryTypeSet* provided to it. Also removes existing code that, quite unnecessarily, partly initialized that argument.
* Don't use PodCopy/PodMove to implement typed-array element-to-element copyingtrav902018-09-19-4/+17
| | | | Standard std::copy and std::copy_n are readily optimized to the same thing, and they don't have a non-obvious requirement that the type being copied be trivial.
* Give uint8_clamped a defaulted (and also trivial) default constructor, copy ↵trav902018-09-19-6/+3
| | | | | | constructor, and copy-assignment operator. This also allows uint8_clamped to be permissibly memmove'd and memcpy'd.
* Stop using PodZero in several places to initialize values of non-trivial typetrav902018-09-12-29/+33
|
* Fix build bustagetrav902018-09-02-1/+1
|
* Call the relevant scope-data constructor when allocating it, and poison/mark ↵trav902018-09-02-26/+53
| | | | as undefined the memory for the trailing array of BindingNames, ratther than impermissibly PodZero-ing non-trivial classes.
* Convert the trailing array of BindingNames at the end of the various kinds ↵trav902018-09-02-13/+46
| | | | of scope data into raw unsigned chars into which those BindingNames are placement-new'd, rather than memcpy-ing non-trivial classes around and failing to comply with the C++ object model
* Simplify HeapSlot to make it trivially copyabletrav902018-08-12-6/+4
| | | | This removes the constructors, which were never called since we allocate arrays of HeapSlot with pod_malloc. The destructor is only ever called explicitly since we free this memory with js_free so it has been renamed to destroy(). Also removed is an unused manual barrier.
* Avoid using memcpy on HeapSlot that is not trivially copyable.trav902018-08-12-4/+7
|
* Fix Build Bustage - with "--enable-debug"janekptacijarabaci2018-07-12-0/+3
|
* Bug 1465108 - Use function pointers rather than virtual run method for GC ↵Jon Coppeard2018-06-07-2/+2
| | | | parallel tasks r=sfink a=abillings a=RyanVM
* Refactor structured clone JSAPI to prevent mismatched scopes.wolfbeast2018-06-07-208/+181
| | | | Roll-up of bugs 1442722, 1455071, 1433642, 1456604 and 1458320.
* Change inlining of intrinsics.wolfbeast2018-06-07-12/+33
|
* Make InitRuntimeNumberState's return type reflect its infallible nature.wolfbeast2018-05-04-2/+1
|
* Issue #325 Part 14: Remove EXPOSE_INTL_API conditionals.wolfbeast2018-05-04-31/+1
|
* Issue #325 Part 5: Remove non-Intl legacy code paths from js.wolfbeast2018-05-04-6/+2
|
* Merge branch 'html_input_datetime_1'wolfbeast2018-04-15-0/+1
|\ | | | | | | This is almost everything needed for #162.
| * Bug 1287677 - Add mozIntl.getDisplayNames APIjanekptacijarabaci2018-03-30-0/+1
| |
* | Fix Value::isGCThing footgun, stop returning true for NullValuetrav902018-04-07-1/+1
|/
* Bug 1357075 - Pad a nop to unwind to the scope just before a destructuring ↵janekptacijarabaci2018-03-25-2/+14
| | | | | | iterator close trynote Issue #74
* Bug 1346862 - Fix IteratorClose due to non-local jumps being catchable by ↵janekptacijarabaci2018-03-25-0/+36
| | | | | | try statements inside for-of Issue #74
* Bug 1342553, Bug 1343072, Bug 1344753 (details in the description)janekptacijarabaci2018-03-25-13/+39
| | | | | | | | | | 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 #74
* Bug 1331585 - Allow falsy "done" values for IteratorClose due to exception ↵janekptacijarabaci2018-03-25-2/+3
| | | | | | during array destructuring Issue #74
* Bug 1147371: Implement calling IteratorClose and "return" on iterators in yield*janekptacijarabaci2018-03-24-3/+22
| | | | Issue #74
* Bug 1147371: Implement IteratorClose for array destructuringjanekptacijarabaci2018-03-24-9/+30
| | | | Issue #74
* Bug 1147371: Rename allowContentSpread to allowContentIterjanekptacijarabaci2018-03-24-1/+1
| | | | Issue #74
* Bug 1147371: Implement IteratorClose for for-ofjanekptacijarabaci2018-03-24-4/+16
| | | | Issue #74
* Bug 1204028: Evaluate LHS reference before RHS in destructuringjanekptacijarabaci2018-03-20-3/+18
| | | | | Issue #73 [Depends on] Bug 1147371: Implement IteratorClose
* Add support for the function `name` property.wolfbeast2018-03-20-20/+42
|\ | | | | | | | | | | This resolves #78. Merged remote-tracking branch 'janek/js_function_name_1'
| * Part 1: Implement ES6 function name property semanticsjanekptacijarabaci2018-03-19-16/+40
| | | | | | | | Issue #78
| * Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScriptjanekptacijarabaci2018-03-19-4/+2
| | | | | | | | | | | | Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics
* | Use ordinary object for RegExp prototypejanekptacijarabaci2018-03-19-3/+14
|/ | | | Issue #77
* Prototypes should be regular objects.wolfbeast2018-03-19-40/+58
|\ | | | | | | | | | | 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)janekptacijarabaci2018-03-17-1/+1
| |
| * Add TI for error properties assigned by the initial shapejanekptacijarabaci2018-03-17-2/+2
| |
| * Handle the now ordinary error prototype object in stackjanekptacijarabaci2018-03-17-30/+40
| |
| * Use ordinary objects for Error prototypesjanekptacijarabaci2018-03-17-8/+16
| |
* | Remove strict arguments poison pill for "caller" property per ES2017wolfbeast2018-03-18-5/+1
|\ \ | | | | | | | | | | | | | | | This resolves #79. Merged remote-tracking branch 'janek/js_strict_arguments_caller_removed_1'
| * | Remove strict arguments poison pill for "caller" property per ES2017janekptacijarabaci2018-03-18-5/+1
| |/
* | Correctly tokenize valid JS names when using code points outside of BMP range.wolfbeast2018-03-18-13/+1015
|\ \ | | | | | | | | | | | | | | | This resolves #72. Merged remote-tracking branch 'janek/js_variable_unicode_1'
| * | Correctly tokenize valid JS names when using Unicode mathematical ↵janekptacijarabaci2018-03-18-13/+1015
| |/ | | | | | | | | | | alphanumeric symbols as variable name Issue https://github.com/MoonchildProductions/Pale-Moon/issues/1647
* | Bug 755821: Function() should use the parser's argument parsing codejanekptacijarabaci2018-03-16-2/+7
| |
* | Bug 1318017: Call GetPrototypeFromConstructor for generator/async function ↵janekptacijarabaci2018-03-16-6/+16
|/ | | | | | | and Intl constructors [Depends on] Bug 755821: Function() should use the parser's argument parsing code
* Close iterator after error in Promise.{all,race}janekptacijarabaci2018-03-15-0/+51
| | | | Issue #17
* Bug 1434384 - Mark v1 structured clone data as cross-process. r=jorendorff, ↵Steve Fink2018-03-14-3/+4
| | | | | | | | a=RyanVM --HG-- extra : source : d85679eb427513cb18650f3d4e7d37a6ccbefbab extra : intermediate-source : 5c286cc709dfcaca7269b88516e6f71626c98496
* Bug 1437507 - Fix JSObject::setFlags to call ensureShape before checking for ↵Brian Hackett2018-03-14-4/+4
| | | | | | | | dictionary mode. r=jandem, a=RyanVM --HG-- extra : source : ca6b74831ec3db204e024b07f200b0d1ce93557e extra : intermediate-source : 9d7c295d9570e294851908465f56ec0779547d2a
* Generate irregexp character tables with make_unicode.py.wolfbeast2018-03-12-0/+213
|
* Make the proper Windows APIs natively available to our tree.wolfbeast2018-02-19-3/+3
| | | | | Tag #22. This bypasses custom definitions of some functions for things natively available in Windows 7.
* Limit the number of SharedArrayBuffers in normal JS code (not just asm.js).wolfbeast2018-02-09-15/+19
|