Граф коммитов

66016 Коммитов

Автор SHA1 Сообщение Дата
Tooru Fujisawa 19b9e9488a Bug 1434305 - Part 5: Support the pair of Debugger and LazyScript in CrossCompartmentKey. r=jimb 2018-07-26 12:36:17 +09:00
Tooru Fujisawa 231cd24eea Bug 1434305 - Part 4: Instantiate TraceManuallyBarrieredCrossCompartmentEdge template for LazyScript. r=jimb 2018-07-26 12:36:17 +09:00
Tooru Fujisawa 1b2c111e0a Bug 1434305 - Part 3: Support LazyScript in WeakMap. r=jimb,sfink 2018-07-26 12:36:16 +09:00
Tooru Fujisawa ab5a5a245d Bug 1434305 - Part 2: Add IterateLazyScripts. r=jimb 2018-07-26 12:36:16 +09:00
Tooru Fujisawa 09bde9007c Bug 1434305 - Part 1: Add LazyScript::{compartment,realm} which returns corresponding JSFunction's {compartment,realm}. r=jimb
This is a preparation for functions added in later parts, to handle LazyScript
samely as JSScript in template function etc.
2018-07-26 12:36:16 +09:00
Kristen Wright 82fd1509ba Bug 1474383 - JSRuntime hook to construct ubi::Nodes specialized for nsINode instances. r=sfink,jimb,bz
Created a runtime hook to handle DOM nodes. Specialized ubi::Concrete for nsINode-inheriting objects. Displayed outgoing nsISupports* edges on reflector JSObjects. Generated outgoing child edges from nsINodes by examining their children. Updated the UbiNodeCensus to ignore zone checks if there is no zone to be found in a node.

--HG--
extra : rebase_source : 319dccb3277a39e51a79588eac9c8f2b4ff97c2f
2018-07-06 16:52:42 -07:00
Brindusan Cristian d7e724835f Backed out 15 changesets (bug 1475409, bug 1461450, bug 1474369, bug 1471726) for build bustages on xptcstubs_gcc_x86_unix.cpp:55:1. CLOSED TREE
Backed out changeset 79dbf5b9d8db (bug 1474369)
Backed out changeset 7e2e13953e19 (bug 1474369)
Backed out changeset 9d0b9a4c4651 (bug 1474369)
Backed out changeset 9f14f7b8bc3d (bug 1475409)
Backed out changeset bddd838d1910 (bug 1475409)
Backed out changeset 850f21ca1f45 (bug 1475409)
Backed out changeset 320802ab02e3 (bug 1474369)
Backed out changeset db67bf0e7f91 (bug 1474369)
Backed out changeset f355d9be9912 (bug 1474369)
Backed out changeset e1b6a5f74642 (bug 1474369)
Backed out changeset 459635cdfc08 (bug 1474369)
Backed out changeset 44414b1cd32e (bug 1461450)
Backed out changeset a5d04cf5d67f (bug 1461450)
Backed out changeset 40885fbf99c6 (bug 1471726)
Backed out changeset da79e75b9cb3 (bug 1471726)
2018-07-25 22:57:09 +03:00
Nika Layzell 0866987b30 Bug 1474369 - Part 8: Rename from Sequence to Array in xpidl, r=mccr8
Summary:
This more closely matches the C++ names, and reflects the fact that the
reflected type is not WebIDL's mozilla::dom::Sequence. The reasoning behind this
type difference is for ergonomics, due to xpidl only being exposed to internal
JS code.

Depends On D2335

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2337
2018-07-25 15:38:04 -04:00
Nika Layzell 2e51038216 Bug 1474369 - Part 7: Rename [array] to LegacyArray within xpt and xpidl, r=mccr8
Summary:
This is done so we can use Array as the name for the new nsTArray-based
type, rather than having to come up with a new name.

LegacyArray was chosen as the [array] attribute is now effectively deprecated,
and we'd like to remove it ASAP.

Depends On D2334

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2335
2018-07-25 15:38:02 -04:00
Nika Layzell 758bebfa14 Bug 1474369 - Part 6: Use RefPtr for Array<T> of interface and WebIDL types, r=mccr8
Summary:
This means that using these types involves many fewer footguns, while not
requiring any changes to the actual XPConnect implementation!

Depends on D2111

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2334
2018-07-25 15:38:00 -04:00
Nika Layzell 4e4ab925ca Bug 1475409 - Part 3: Make the different categories of types in xptinfo more explicit, r=mccr8
Summary:
This should make it more clear which types have which behaviours, and should
make it easier to add new types without forgetting to handle a special case
somewhere.

Depends On D2114

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1475409

Differential Revision: https://phabricator.services.mozilla.com/D2115
2018-07-25 15:37:58 -04:00
Nika Layzell b24e4f4b40 Bug 1475409 - Part 2: Be more explicit about the type of nsXPTType::Tag(), r=mccr8
This will get us both more clarity as to what types are, but also will improve switch exhaustiveness checks.

Summary: Depends On D2113

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1475409

Differential Revision: https://phabricator.services.mozilla.com/D2114
2018-07-25 15:37:56 -04:00
Nika Layzell 0df716e08d Bug 1475409 - Part 1: Remove nsXPTType::TagPart(), r=mccr8
Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1475409

Differential Revision: https://phabricator.services.mozilla.com/D2113
2018-07-25 15:37:54 -04:00
Nika Layzell aa005d31b4 Bug 1474369 - Part 5: Add tests for new Sequence<T> types, r=mccr8
Summary: Depends On D2110

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2111
2018-07-25 15:37:52 -04:00
Nika Layzell b47aabdb25 Bug 1474369 - Part 4: Add support for Sequence<T> types to xpidl and XPConnect, r=mccr8
Summary:
This patch adds support for the `Sequence<T>` type. This is largely a
straightforward type propagation patch, but there are a few notable things:

 1. We allow `[iid_is(x)] Sequence<nsQIResult>`, so Sequence can be Dependent.

 2. `Sequence<T>` is reflected into C++ as a `nsTArray<T>`, which is different
    than WebIDL's `mozilla::dom::Sequence<T>` type. This decision was made for
    general ergonomics reasons, as `nsTArray<T>` is more prevailent throughout
    the codebase, and lengths in this case cannot be controlled by content, as
    XPConnect is only exposed to Chrome JS.

 3. Owned pointers in `Sequence<T>` are not reflected as their owned
    counterparts. For example, `Sequence<nsISupports>` is reflected as
    `nsTArray<nsISupports*>` rather than `nsTArray<RefPtr<nsISupports>>`. This
    was done to avoid depending on `RefPtr<T>` and `T*` having the same
    in-memory representation, however if that is considered an acceptable
    dependency, it would be nice to support that.

 4. We also don't reflect singly-owned pointers as their owned counterparts. For
    example, `nsTArray<nsIIDPtr>` would be reflected as `nsTArray<nsIID*>`
    rather than `nsTArray<mozilla::UniquePtr<nsIID>>`. If we are willing to
    depend on `mozilla::UniquePtr<T>`'s in-memory representation, we could also
    do this, however.

 5. There are no restrictions on what types can appear inside of a `Sequence<T>`
    or what can appear inside an `[array] T`. We may want to add restrictions
    either at the xpidl level or in XPConnect.

Depends On D2109

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2110
2018-07-25 15:37:50 -04:00
Nika Layzell 3316e39e4d Bug 1474369 - Part 2: Make JSArray2Native and NativeArray2JS more generic, so they can be used with Sequence<T>, r=mccr8
Summary:
The background logic for handling lists of XPConnect values is similar between
`[array] T` and `Sequence<T>`. The major differences are with regard to how
native length is determined, how 'null' and 'undefined' are handled, and how
native buffer allocation is handled.

This patch modifies the JSArray2Native function to make it generic over an
allocation strategy function, which can be implemented for each of `[array] T`
and `Sequence<T>`. The function takes in a `uint32_t*` pointer, pointing at the
computed length of the JS array. The callback can then allocate the correct
backing buffer, and optionally modify the length to copy.

The NativeArray2JS function is also modified to make it directly take a pointer
to the native buffer rather than determining it from a pointer to an `[array] T`
parameter.

Depends On D2105

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2106
2018-07-25 15:37:46 -04:00
Nika Layzell 9426bbf9e9 Bug 1474369 - Part 1: Clean up value initialization codepaths in XPConnect, r=mccr8
Summary:
A goal of the Sequence<T> work is to allow using more complex types within lists
in XPConnect. For example, we ideally want to support `Sequence<AString>`,
rather than requiring people to use the unergonomic 'wstring' type.

These types require initialization before they can be read into. Currently this
initialization for parameters is directly handled by XPCWrappedNative's
CallMethodHelper object.

This patch introduces a new function to the `xpc` namespace to initialize a
specific value from an uninitialized state to a safe state.

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2105
2018-07-25 15:37:44 -04:00
Nika Layzell 69a27ed832 Bug 1471726 - Part 2: Add basic tests for jsval array codegen, r=mccr8 2018-07-25 15:37:38 -04:00
Nicolas B. Pierron 923cdafe51 Bug 1467273 - JitActivation owns the rematerialized frames of the activation. r=anba 2018-07-25 13:30:41 +00:00
Tooru Fujisawa d4ded20b52 Bug 1476209 - Update BinAST README.md r=Yoric DONTBUILD because NPOTB 2018-07-25 17:36:57 +09:00
Tooru Fujisawa cf4360562a Bug 1473202 - Part 10: Wrap method declaration. r=Yoric 2018-07-25 17:01:51 +09:00
Tooru Fujisawa b7d7bea0ac Bug 1473202 - Part 9: Fix error message when inherit target is not found. r=Yoric 2018-07-25 17:01:51 +09:00
Tooru Fujisawa 0134d6f76d Bug 1473202 - Part 8: Add before/after for optional field, and replace for none case. r=Yoric 2018-07-25 17:01:51 +09:00
Tooru Fujisawa 86af1e8f61 Bug 1473202 - Part 7: Add extra parameter to methods. r=Yoric 2018-07-25 17:01:51 +09:00
Tooru Fujisawa e2c5a6f39a Bug 1473202 - Part 6.4: Use get_method_call function when parsing sum. r=Yoric 2018-07-25 17:01:51 +09:00
Tooru Fujisawa 1e0288c298 Bug 1473202 - Part 6.3: Use get_method_call function when parsing interface. r=Yoric 2018-07-25 17:01:51 +09:00
Tooru Fujisawa da080c33b8 Bug 1473202 - Part 6.2: Use get_method_call function when parsing list item. r=Yoric 2018-07-25 17:01:50 +09:00
Tooru Fujisawa 5ba9932443 Bug 1473202 - Part 6.1: Add get_method_call function and use it when parsing field. r=Yoric 2018-07-25 17:01:50 +09:00
Tooru Fujisawa b4be307ee7 Bug 1473202 - Part 5: Make list append customizable. r=Yoric 2018-07-25 17:01:50 +09:00
Tooru Fujisawa 3eab1eee96 Bug 1473202 - Part 4: Make class name customizable. r=Yoric 2018-07-25 17:01:50 +09:00
Tooru Fujisawa f15b1443b2 Bug 1473202 - Part 3: Make default value for the optional field customizable. r=Yoric 2018-07-25 17:01:50 +09:00
Tooru Fujisawa 5560771708 Bug 1473202 - Part 2: Make the result type customizable. r=Yoric 2018-07-25 17:01:50 +09:00
Tooru Fujisawa 15bedb9823 Bug 1473202 - Part 1: Skip overwriting BinAST auto-generated file if the content is same. r=Yoric 2018-07-25 17:01:49 +09:00
Tooru Fujisawa 56db2c367a Bug 1477621 - Part 4: Add source note field constants for line. r=jandem 2018-07-25 17:01:49 +09:00
Tooru Fujisawa 4409e98bd2 Bug 1477621 - Part 3: Add source note field constants for colspan. r=jandem 2018-07-25 17:01:49 +09:00
Tooru Fujisawa 4a76ab952b Bug 1477621 - Part 2: Add source note field constants for try. r=jandem 2018-07-25 17:01:49 +09:00
Tooru Fujisawa 53c7a51a17 Bug 1477621 - Part 1: Add source note field constants for switch. r=jandem 2018-07-25 17:01:48 +09:00
Tooru Fujisawa 8fe894f60c Bug 1477621 - Part 0: Remove unnecessary note from JSOP_DEFAULT. r=jandem 2018-07-25 17:01:48 +09:00
Brian Hackett de349302f2 Bug 1465470 Part 4 - Always calculate creation/resolved time for promises, r=till.
--HG--
extra : rebase_source : be30c1841e57e4ab592efd85408ff1bc2c2092c3
2018-07-24 15:45:36 +00:00
Brian Hackett 2221c4b95b Bug 1465294 Part 9 - Avoid triggering unhandled recording divergences in XPConnect, r=mccr8.
--HG--
extra : rebase_source : a8a60143d3b8b9cc5c46be42a4dcbd23ad8c0b95
2018-07-24 15:44:35 +00:00
Boris Zbarsky 75abc43e0d Bug 1476145 part 8. Stop using getInterface(nsIDOMWindowUtils) in various test code. r=kmag 2018-07-24 19:47:43 -04:00
Matthew Gaudet 2c49bae399 Bug 1438727: [Part 8] Implement JSOP_MUL in CacheIR r=tcampbell
--HG--
extra : rebase_source : e17f138c9e1c5061332a10971f0f880e681f091c
2018-03-26 09:58:19 -04:00
Matthew Gaudet 380ca375d8 Bug 1438727: [Part 7] Clarify restrictions on imul and remove un-needed restriction r=tcampbell
--HG--
extra : rebase_source : 1a48e9e422f1f7db499d55d8233cc0064927f779
2018-04-20 16:36:07 +02:00
Matthew Gaudet 8876e34d81 Bug 1438727: [Part 6] Allow allocateFixedRegister to spill in order to acquire a fixed register r=jandem
In some circumstances the fixed register that's desired may be available only after a spill.

--HG--
extra : rebase_source : 8d51e0c53765bb0f84d43bf4aac8445d01270d59
2018-03-27 12:09:17 -04:00
Matthew Gaudet ef6b6a467f Bug 1438727: [Part 5] Implement branchMul32 in MacroAssembler r=tcampbell
--HG--
extra : rebase_source : 62d3893aaa49e03994acbf48768adb23ba99a2e4
2018-03-26 09:36:57 -04:00
Matthew Gaudet 609848183d Bug 1438727: [Part 4] Implement CacheIR IC for bitwise operations on Int32s r=jandem
(As well as booleans combined with int32s)

--HG--
extra : rebase_source : e884293f94e12c21632a72d83bdb732964764f7c
2018-03-22 19:01:00 -04:00
Matthew Gaudet 735ced9223 Bug 1438727: [Part 3] Implement ADD+SUB for Boolean + Double|Int32 r=jandem
--HG--
extra : rebase_source : 692d2222bc661d40f979528bf202c785802c6f09
2018-03-22 15:08:03 -04:00
Matthew Gaudet 632acc28d1 Bug 1438727: [Part 2] Implement a subset of JSOP_SUB in CacheIR r=jandem
--HG--
extra : rebase_source : 5442986a077d3fb99a3ca09db241a87fa07b962c
2018-03-22 14:12:58 -04:00
Matthew Gaudet 480171c17d Bug 1438727: [Part 1] Implement a subset of JSOP_ADD in CacheIR r=jandem
This patch adds both Ion and Baseline support for ADD when the arguments are
doubles or int32.

This is implmented as a strangler via the SharedIC, this falls back to the shared
IC if there's no attachment in CacheIR. This should allow preservation of performance
throughout.

To provide clobber safety to the float registers, this patch uses fixed temporaries on
LBinaryCache.

--HG--
extra : rebase_source : 35f32e5d0f99bb93845c41aadaf94693644192bd
2018-03-29 09:09:58 -04:00
Matthew Gaudet a7ecb4b922 Bug 1438727: [Part 0] Add test case for binary arithmetic operations r=tcampbell
--HG--
extra : rebase_source : abc22cae7f059f4cf31e5a1ebb1f3844e8126c79
extra : source : 3ff906bded3fe8c80a10bd8a09e371bf655613f1
2018-03-20 16:08:40 -04:00
Nathan Froyd 665c411039 Bug 1476423 - add --enable-cranelift option; r=gps,sunfish 2018-07-24 14:31:45 -04:00
Brian Hackett e77cc309c4 Bug 1477566 - Avoid recording events in SliceBudget::UnlimitedDeadline, r=sfink.
--HG--
extra : rebase_source : 463699491f3475ae928a6d700302ad2a9014b57d
2018-07-23 21:57:20 +00:00
Brian Hackett ac35a3d53e Bug 1470795 Part 8 - Define RecordReplayControl object via IJSDebugger, r=jorendorff.
--HG--
extra : rebase_source : dc342b8c3643ec4eb7a8ea90aee335d3d96828ff
2018-07-23 21:45:58 +00:00
Brian Hackett f594284848 Bug 1470795 Part 5 - Update content parse users for API movement, r=froydnj.
--HG--
extra : rebase_source : 856eecd3568adc9873b899a38ad96bbf24ebe955
2018-07-23 21:45:33 +00:00
Brian Hackett 55d5de3688 Bug 1470795 Part 4 - Move progress tracking logic to JSScript, r=jandem.
--HG--
extra : rebase_source : 971df1eff735485420b7157d2adfb58196332ca5
2018-07-23 21:44:55 +00:00
Brian Hackett 965d96a199 Bug 1470795 Part 1 - Debugger changes for recording/replaying, r=jorendorff.
--HG--
extra : rebase_source : f449f369a920483be4adb6701abf2c499b8e19a0
2018-07-23 21:44:04 +00:00
Brian Hackett 54b2f27d05 Bug 1465292 Part 2 - Track parsed content from XDR'ed scripts, r=nbp.
--HG--
extra : rebase_source : 93559e9e14c17a06e8a31e414958c32bc377b5ca
2018-07-23 21:41:50 +00:00
Brian Hackett 8f3d612ea8 Bug 1465289 Part 3 - Keep track of JS execution progress made when there is a replay debugger, r=jandem.
--HG--
extra : rebase_source : 1d5d6599876018fd7efc4e3dca5b14c42d1fea6f
2018-07-23 21:40:49 +00:00
Jan Varga a6ed38e33d Bug 1476955 - Structured clone algorithm doesn't serialize Array Length contrary to HTML spec, resulting in truncation of trailing sparse arrays like [1,2,3,,] (length=4) to [1,2,3] (length=3); r=sfink 2018-07-24 18:19:19 +02:00
Csoregi Natalia f7a71fcb6d Backed out changeset ec8c33de4e10 (bug 1474383) for build bustage. CLOSED TREE 2018-07-24 19:32:06 +03:00
Kristen Wright 657d16c582 Bug 1474383 - JSRuntime hook to construct ubi::Nodes specialized for nsINode instances r=jimb
Created a runtime hook to handle DOM nodes. Specialized ubi::Concrete for nsINode-inheriting objects. Displayed outgoing nsISupports* edges on reflector JSObjects. Generated outgoing child edges from nsINodes by examining their children. Updated the UbiNodeCensus to ignore zone checks if there is no zone to be found in a node.
2018-07-06 16:52:42 -07:00
Benjamin Bouvier bf62d92588 Bug 1477073: Don't double-count wasm structures when creating a memory report; r=luke
- wasm::JumpTables is directly owned by wasm::Code, which this' size has
  already been counted.
- wasm::CompileTask are owned by the wasm::Generator, which this' size is being
  accounted somewhere else.

--HG--
extra : rebase_source : e6ef9bb34cfce1ae39026fc91df514e7a95c3b71
extra : amend_source : 7f143724fdab33dff73862caebafda6874d3c975
2018-07-20 17:28:07 +02:00
Benjamin Bouvier 31f10c5e13 Bug 1476953: Update asm.js error message when atomics aren't enabled; r=jandem
--HG--
extra : rebase_source : 8c1a3c1e4c71ac901aad16a76a4dee79f350fe26
extra : amend_source : 667e2e310ff7d9910c739bc5cdcb457f76db3918
2018-07-19 19:44:17 +02:00
Lars T Hansen 5c37d5f314 Bug 1477329 - Avoid static casts for coercing TypeDef nodes. r=jseward
There's no reason to use static_cast, we already have transfer functions on the
AstTypeDef node that should be used.

--HG--
extra : rebase_source : 07674fd96172143542c4f06c1048c8b5b0e82a90
extra : amend_source : f15851b91133f694ad209ce1feae65c5e1551747
2018-07-24 09:04:26 +02:00
Gurzau Raul f2e1e857f1 Merge inbound to mozilla-central. a=merge 2018-07-24 12:49:23 +03:00
Kris Maglione 5520b46fd0 Bug 1477129: Part 2 - Fix SharedMap blob handling, and add tests. r=erahm
We were previously failing to send blobs to new content processes, which was a
problem for those processes. But we were also attempting to extract blobs for
new entries that we were serializing after we'd extracted their structured
clone data, and their blob array had been thrown away (which was a problem for
all processes).

This patch fixes both problems.

MozReview-Commit-ID: 3qbAmUTA85g

--HG--
extra : rebase_source : 87ed9356aa23ae83762a887cf12ba1f466e7bf61
2018-07-20 14:44:00 -07:00
Sean Stangl 4f56487f11 Bug 1476124 - Implement enough ARM64 Ion code to run a simple script. r=tcampbell 2018-07-23 15:15:00 +03:00
Matthew Gaudet 8d63227c2e Bug 1477375 Ensure we actually disable all CacheIR Stubs when requested with --cache-ir-stubs=off. r=evilpie 2018-07-20 15:47:40 -04:00
Brian Hackett 13a3630426 Bug 1465470 Part 10 - Avoid registering helper threads with the profiler when recording/replaying, r=sfink.
--HG--
extra : rebase_source : 45187f5dfea2be730c9e3cde76bd4236406f651e
2018-07-23 15:07:00 +00:00
Brian Hackett 98cefffcea Bug 1465470 Part 9 - Avoid recording some more JS atomics, r=jandem.
--HG--
extra : rebase_source : 17284f7c93525eef35d6eb663982844956939bfd
2018-07-23 15:06:18 +00:00
Brian Hackett 79ff2addad Bug 1465470 Part 8 - Tolerate pthread_setname_np failing when recording or replaying, r=till.
--HG--
extra : rebase_source : 147d5331f7e9f71181e71e54aa69bc67dfd3452e
2018-07-23 15:05:29 +00:00
Brian Hackett b5f74e9778 Bug 1465470 Part 7 - Avoid calling getenv at non-deterministic points in the JS engine, r=jandem.
--HG--
extra : rebase_source : 0bb17c91e14565fe5d0b6fa87dce05e2d7ff4d14
2018-07-23 15:04:54 +00:00
Brian Hackett 871f2e4852 Bug 1465470 Part 5 - Avoid recording time events at non-deterministic points in the JS engine, r=jonco.
--HG--
extra : rebase_source : ed238c0ad5861a3149f695a5e46d221cf22cb27d
2018-07-23 15:03:49 +00:00
Brian Hackett d1fdeae425 Bug 1465470 Part 3 - Preserve iteration order for structured clone transferable object table, r=jorendorff.
--HG--
extra : rebase_source : 33380e77e4c0fc7014f79b6252b073eab07b5a78
2018-07-23 15:00:54 +00:00
Brian Hackett 51d8e11435 Bug 1465470 Part 2 - Preserve iteration order for frontend name tables, r=jorendorff.
--HG--
extra : rebase_source : 7738eb3d80815f4caab4beae848541b84befd57b
2018-07-23 15:00:13 +00:00
Brian Hackett 3f7d790be0 Bug 1207696 Part 10f - Coordinate with snapshot mechanism in JS helper threads, r=fitzgen.
--HG--
extra : rebase_source : a33dce8cf5463a5894ff35496d4bc7926e172223
2018-07-23 14:48:27 +00:00
Brian Hackett 00d8b23734 Bug 1207696 Part 8c - Mark places in the JS engine where recording events are disallowed and where the recording should be invalidated, r=jandem.
--HG--
extra : rebase_source : 9d4d14449d61922c823878c1975fa8852391654e
2018-07-23 14:47:16 +00:00
Brian Hackett 52b33afe4e Bug 1207696 Part 7 - Ensure deterministic interaction of GC with CC and object references, r=smaug.
--HG--
extra : rebase_source : 5d9e7ebd1dc242ca648193ed1f27ae91d19006de
2018-07-23 14:46:37 +00:00
Brian Hackett 093c01c416 Bug 1207696 Part 6e - Disable the slow script dialog when recording or replaying, r=mrbkap.
--HG--
extra : rebase_source : 756af2eaf75b35f007bbc4ef4e0861cb82c8f0d9
2018-07-23 14:42:56 +00:00
Brian Hackett a5d872c73b Bug 1207696 Part 6d - Disable wasm signal handlers when recording or replaying, r=luke.
--HG--
extra : rebase_source : e676401e9440149f36a048973433dbf3625d1a24
2018-07-23 14:42:26 +00:00
Brian Hackett 3bf3cc3f2e Bug 1207696 Part 5i - Disable lazy and off thread JS parsing when recording or replaying, r=jandem.
--HG--
extra : rebase_source : 9cad31d867b49e3c28bff6c7a87d3e5840d053a9
2018-07-23 14:38:13 +00:00
Brian Hackett 8e3db0b2a3 Bug 1207696 Part 5d - Disable compacting GC when replaying, r=jonco.
--HG--
extra : rebase_source : 17673ab79bff02c54da3da7e011a7065d8e250bc
2018-07-23 14:37:09 +00:00
Brian Hackett 3ab7e5456e Bug 1207696 Part 5b - Don't keep track of times or page fault counts in GC and helper thread activity when recording or replaying, r=sfink.
--HG--
extra : rebase_source : 897096957775d13057ccc40bd5f0039e612ee97e
2018-07-23 14:35:53 +00:00
Brian Hackett 049bcdf766 Bug 1207696 Part 5a - Disable incremental GC when recording or replaying, r=mccr8.
--HG--
extra : rebase_source : a98389408b8aecd95323a7f56f2e286f7f6ce43d
2018-07-23 14:35:17 +00:00
Robert Bartlensky 2610f9e3c6 Bug 1472681: Fix NULL_DEREFERENCE error in js/src/vm/EnvironmentObject-inl.h. r=luke
MozReview-Commit-ID: 9p8jbWeZvhg

--HG--
extra : rebase_source : 9c163c7682be1e515dea2015019799ad69fa7d94
2018-07-19 11:16:42 +01:00
Robert Bartlensky 04f0622f7b Bug 1476657: Fix DEAD_STORE issues in js/src/frontend/Parser.cpp. r=arai
MozReview-Commit-ID: HI9p2AfOUiU

--HG--
extra : rebase_source : a49d1b189886e2eb77550fdcb0e8995b2a09c4c0
2018-07-20 13:44:35 +01:00
Nicolas B. Pierron 3e570c1197 Bug 1470115 - Disable LifoAlloc memory protection on release builds. r=tcampbell 2018-07-23 17:55:57 +00:00
Cosmin Sabou de8180ecd2 Merge mozilla-central to mozilla-inbound. a=merge 2018-07-23 12:33:45 +03:00
Cosmin Sabou e5eb80645b Merge mozilla-inbound to mozilla-central. a=merge 2018-07-23 12:30:50 +03:00
Benjamin Bouvier af223aba30 Bug 1475943: Don't trace a wasm global object if it's being created; r=jseward
--HG--
extra : rebase_source : 61eb6ba740443e7e57e89eb41b1721b6e02cbe18
extra : amend_source : b14308c30bf447067e8f09faaa72df8509a3121d
2018-07-19 19:56:38 +02:00
Stars 77274c3ef2 Bug 1466428 - BinSource-auto.cpp: argument name 'YYY' in comment does not match parameter name 'XXX'. Auto generated by rust generator and the yaml file, these comments were pointing to old parameters which have now been updated to have the correct generated source file. r=arai
MozReview-Commit-ID: CjNIY85s5K9

--HG--
extra : rebase_source : b3b8aa6d7ccf2e56b532d464789166653409f638
2018-07-06 08:40:50 -06:00
Brian Hackett 019a5b20c2 Bug 1465470 Part 6 - Avoid recording various JS atomics, r=jandem.
--HG--
extra : rebase_source : 6a01f4e7c76b889ae6d39cd242c063fce3182f53
2018-07-21 14:37:45 +00:00
Brian Hackett 2dc20fe713 Bug 1207696 Part 4f - Don't record JS mutexes, r=fitzgen.
--HG--
extra : rebase_source : c1cd4ca0af1a46034c4e88f27e59375162bc45fd
2018-07-21 14:24:48 +00:00
Brian Hackett 0709a8aee5 Bug 1207696 Part 4e - Don't record various JS atomics, r=jandem.
--HG--
extra : rebase_source : 7ced4108600a1182efafea06f1651a5ec7e06940
2018-07-21 14:24:16 +00:00
Jeff Walden 00b6fb8edc Bug 1476866 - Move TokenStreamChars::getFullAsciiCodePoint to GeneralTokenStreamChars::getFullAsciiCodePoint, because its algorithm is identical for UTF-8 and UTF-16. r=arai 2018-07-17 21:13:17 -07:00
Jeff Walden 031561e870 Bug 1476866 - Replace SourceUnits<CharT>::isRawEOLChar (where CharT had rather uncertain meaning) with standalone IsLineTerminator of clearer meaning. r=arai 2018-07-17 21:00:57 -07:00
Jeff Walden 563f25bd2c Bug 1476866 - Implement TokenStreamCharsBase::addLineOfContext that does all the work of creating a syntax-error window and works for either CharT. r=arai 2018-07-17 21:01:03 -07:00
Jeff Walden a9e2ee7319 Bug 1476866 - Move error-message window-start computation into SourceUnits::findWindowStart so that specialized versions can be provided for UTF-8 and UTF-16. r=arai 2018-07-13 18:59:06 -07:00
Jeff Walden 86596c05cc Bug 1476866 - Rename SourceUnits::findEOLMax to SourceUnits::findWindowEnd, and make it include only valid UTF-16. r=arai 2018-07-10 12:06:53 -07:00
Jeff Walden 847c39e888 Bug 1476866 - Move TokenStreamSpecific::computeLineOfContext to GeneralTokenStreamChars::internalComputeLineOfContext, and beef up its doc comment a little. r=arai
--HG--
extra : rebase_source : e213830e451cad413db19a98121914b728a65ae5
2018-07-18 18:05:21 -07:00
Jeff Walden e6062e85cf Bug 1476866 - Implement a bare-bones TokenStreamChars specialization for UTF-8, into which subsequent UTF-8-centric functions can be added. r=arai
--HG--
extra : rebase_source : 1089aa8523c395d9bf2435f99e84fd815d136c7b
2018-07-09 16:11:41 -07:00
Brian Hackett f6b8e6f81c Bug 1309552 - Specify buffer size when freeing data in AllocPolicy, r=waldo.
--HG--
extra : rebase_source : f4e2d9f8831cf41c19d592ce252e87161f32250b
2018-07-20 23:58:34 +00:00
Jan de Mooij 30d5135f62 Bug 1475559 part 6 - Add principals argument to SavedFrame APIs and do frame filtering based on it. r=bz
This removes AutoMaybeEnterFrameRealm. Most places pass cx->realm->principals: it preserves behavior when the (possibly wrapped) SavedFrame and cx are same-compartment. The main exception is the JSStackFrame DOM bindings code where we have to be a bit smarter about which principals to use.
2018-07-21 14:34:58 +02:00
Jan de Mooij 8c93c6e9e8 Bug 1475559 part 5 - Pass a global object to nsScriptErrorWithStack. r=bz
The stack object might be a CCW and we want to make it impossible to get a CCW's global. Now the caller has to supply a same-compartment global object, so we no longer rely on getting the CCW's global.
2018-07-21 14:34:37 +02:00
Jan de Mooij 90cedbd436 Bug 1475559 part 4 - Remove unnecessary nsScriptError::ToString call in JSErrorToXPCException. r=bz
formattedMsg was passed to XPCConvert::ConstructException, but there we call GetMessageMoz and use that instead.
2018-07-21 14:34:20 +02:00
Jan de Mooij 3536a9cbcb Bug 1475559 part 3 - Add JS::IsUnwrappedSavedFrame and assert this in JSStackFrame's constructor. r=bz 2018-07-21 14:33:22 +02:00
Jan de Mooij 41bc700eb1 Bug 1475559 part 2 - Rename JS::IsSavedFrame to JS::IsMaybeWrappedSavedFrame and do some minor cleanup. r=bz
Our JS::IsFoo APIs usually don't check for wrappers so being explicit about this seems useful.
2018-07-21 14:32:25 +02:00
Jan de Mooij ce0a15eebb Bug 1475559 part 1 - Remove unused GetFirstSubsumedSavedFrame API. r=bz 2018-07-21 14:31:40 +02:00
Kristen Wright c5a7b6643f Bug 1477381 - JS::ubi::TracerConcrete<Referent>::edges as a public method. r=erahm
--HG--
extra : amend_source : 5f3b27c27dbeecce604c3421c644b62fb2ff8744
extra : histedit_source : 3f2b7cc862ad1959b106bf71533b85a23d26ad98
2018-07-20 12:57:44 -07:00
André Bargull 41ec8b1dd3 Bug 1449986: Use NewBuiltinClassInstance when requesting default prototype. r=jorendorff 2018-07-20 10:46:36 -07:00
André Bargull 06901e16a9 Bug 1475678 - Part 14: Clear the incumbent global slot when it's no longer used. r=arai 2018-07-13 14:07:53 -07:00
André Bargull 94de6fb429 Bug 1475678 - Part 13: Use the Call() helper from Interpreter.h to reduce code duplication. r=arai 2018-07-13 14:07:19 -07:00
André Bargull fbce510226 Bug 1475678 - Part 12: Reduce slot size of PromiseReactionRecord to fit into OBJECT8 alloc kind. r=arai 2018-07-20 00:16:21 -07:00
André Bargull 85ed2e887b Bug 1475678 - Part 11: Add cache for Promise property lookups. r=arai 2018-07-20 00:15:50 -07:00
André Bargull 931e300273 Bug 1475678 - Part 10: Create a shared helper for PerformPromiseAll and PerformPromiseRace. r=arai 2018-07-20 00:15:04 -07:00
André Bargull 1bc6d3dcaf Bug 1475678 - Part 9: Directly initialize dense elements in PerformPromiseAll using NewbornArrayPush. r=arai 2018-07-13 14:05:45 -07:00
André Bargull a93222e77c Bug 1475678 - Part 8: Add a PromiseCapability struct. r=arai 2018-07-13 14:05:21 -07:00
André Bargull b1b64b4025 Bug 1475678 - Part 7: Avoid duplicate UncheckedUnwrap calls and use AutoRealm instead of JSAutoRealm. r=arai 2018-07-13 14:04:36 -07:00
André Bargull e8c78b5950 Bug 1475678 - Part 6: Remove unnecessary rooting in Promise code. r=arai 2018-07-20 00:14:18 -07:00
André Bargull f52ea7435b Bug 1475678 - Part 5: Improve dense array initialization for Promise code. r=arai 2018-07-13 14:01:41 -07:00
André Bargull fa83470cac Bug 1475678 - Part 4: Change size_t variables to uint32_t when the underlying type is int32/uint32. r=arai 2018-07-13 14:00:17 -07:00
André Bargull 36b9823aee Bug 1475678 - Part 3: Remove additional rooting of already rooted values. r=arai 2018-07-13 13:58:10 -07:00
André Bargull 3573d4f2be Bug 1475678 - Part 2: Skip RejectMaybeWrappedPromise when the promise is definitely not wrapped. r=arai 2018-07-13 13:57:34 -07:00
André Bargull 0fcb54a0f1 Bug 1475678 - Part 1: Use PromiseObject instead JSObject as the parameter type for async generators. r=arai 2018-07-13 13:47:59 -07:00
Benjamin Bouvier 8f25e2ae0c Bug 1477019: Don't generate dead code for wasm saturating instructions on x86; r=sunfish
--HG--
extra : rebase_source : 9c8192a014b429d8a730bc2eb4e2e674ba1c7a8d
2018-07-18 19:18:24 +02:00
Tooru Fujisawa d9086904d4 Bug 1456006 - Part 1: Add SwitchEmitter. r=jwalden 2018-07-20 16:13:56 +09:00
Tooru Fujisawa d9e4da676c Bug 1456006 - Part 0: Add reportError and reportExtraWarning variants to receive offset instead of ParseNode. r=jwalden 2018-07-20 16:13:56 +09:00
Paul Bone 81bdf394fb Bug 1476500 - Add a comment explaining why we need this value r=sfink
It was unclear why we need addressOfStringNurseryCurrentEnd but not
addressOfStringNurseryPosition.  Add a comment explaining this in this
context.

--HG--
extra : rebase_source : 4fb1907c6fe133223c9d323f8062470e716df4a5
2018-07-18 16:01:51 +10:00
Paul Bone 1a917abbc8 Bug 1476500 - Add extra assignments and make some types more specific r=nbp
--HG--
extra : rebase_source : af6c06d44b181095c15fe34d8529aae72c486ec8
2018-07-20 12:42:33 +10:00
Paul Bone 856781b0bb Bug 1476500 - Fix some prose in the MacroAssembler class comment r=tcampbell,nbp
Also fix an out-of-date reference to check-masm

--HG--
extra : rebase_source : f7a23870d844eabd8af82aa87a49895e0443e3c6
2018-07-19 13:16:29 +10:00
Jeff Walden 8040464690 Bug 1476866 - Move fillCharBufferWithTemplateStringContents into TokenStreamCharsBase so that a UTF-8 specialization can eventually be defined for it. r=arai
--HG--
extra : rebase_source : 8d4ff04bfe5d7bd8cd092e690b472655c7d1c836
2018-06-29 13:46:09 -07:00
Jeff Walden c323009c54 Bug 1476866 - Make matchCodeUnit only accept ASCII, and split matchLineTerminator (for '\r' and '\n') out of it. r=arai
--HG--
extra : rebase_source : b4ebb077110249c197bbf461b00b89c4ba48b6bb
2018-07-17 21:00:57 -07:00
Jeff Walden 5434732353 Bug 1476866 - Reduce code indentation in the loop to accumulate regular expression source text by handling the non-ASCII case in an early block-with-continue. r=arai
--HG--
extra : rebase_source : 41994cf4a198ac7c1e7a3a6334c367847c835af2
2018-07-17 21:00:56 -07:00
Jeff Walden 820f2dc35e Bug 1476866 - Remove ungetLineTerminator, used only to unget Unicode separators, and replace it with a SourceUnits::ungetLineOrParagraphSeparator. r=arai
--HG--
extra : rebase_source : 33a09c9cc1830af41cd621288f8a7be76e42bd3d
2018-07-09 16:22:50 -07:00
Jeff Walden b9da885e9e Bug 1476866 - Add a getNonAsciiCodePointDontNormalize for use in situations that demand such. r=arai
--HG--
extra : rebase_source : 07c2e14cd88238ce6421c37260f04b3b8ed59972
2018-07-09 14:38:16 -07:00
Jeff Walden 7208d297c5 Bug 1476866 - Move consumeRestOfSingleLineComment into TokenStreamChars (and the infallible UTF-16 implementation into SpecializedTokenStreamCharsBase) so that it can be easily specialized for UTF-8. r=arai
--HG--
extra : rebase_source : 4650b9958962167e8a754b25d6a7835383f73715
2018-06-29 13:46:09 -07:00
Jeff Walden 344a84f839 Bug 1476866 - Add a SpecializedTokenStreamCharsBase class to the hierarchy as a clear collection point for functions entirely specific to UTF-8 or UTF-16 tokenizing only. r=arai
--HG--
extra : rebase_source : c8fec271374098b7fb7de882cb478f7455f1d53e
2018-07-06 17:12:53 -07:00
Jeff Walden cfce8c373b Bug 1476866 - Fix the TokenStreamChars::getNonAsciiCodePoint doc comment to be clearer about |lead| being non-ASCII but still potentially (for UTF-16) a full code point. r=arai
--HG--
extra : rebase_source : 1eecf289078b6a70091b95f348221851208eee39
2018-07-17 21:00:55 -07:00
Jeff Walden ea1b68d0ac Remove some excess qualification in various tokenizing-related template class instantiations. No bug, r=me as trivial ("if it compiles, it's good")
--HG--
extra : rebase_source : 90f8645c28f36df69b9c27a38b96fcdfb1d622f8
2018-07-17 21:12:53 -07:00
Steve Fink bfdb43b04d Bug 1476383 - cx->pod_callocCanGC can set an exception when succeeding, r=pbone
--HG--
extra : rebase_source : e46376e318e4b7880a2b09c8e26bd1d406fe084b
extra : source : c04c0005e4857d5cf9bbba9be845ae175e17963b
2018-07-18 15:22:21 -07:00
Brian Hackett d138090586 Bug 1465287 Part 7 - Add IPDL and IDL for record/replay directives and fatal errors, r=mccr8.
--HG--
extra : rebase_source : 5f938acb994cf777cfd0630980f29aa03045789c
2018-07-22 11:51:55 +00:00
Coroiu Cristina 5d80f520f1 Backed out changeset c04c0005e485 (bug 1476383) for SpiderMonkey failures at non262/regress/regress-1476383-calloc-exc.js on a CLOSED TREE 2018-07-19 21:15:52 +03:00
Jim Blandy 557b8e3e01 NO BUG: Clarify documentation for Debugger.prototype.onNewScript hook. DONTBUILD r=jorendorff 2018-07-19 10:45:49 -07:00
Steve Fink 585b6ddeba Bug 1476383 - cx->pod_callocCanGC can set an exception when succeeding, r=pbone
--HG--
extra : topic : nursery.strings
extra : rebase_source : 0dafa4356e1f6226a97335838841f600e65b7202
extra : histedit_source : 87cf87164c85abba6ccc42113524e72753d59cb3
2018-07-18 15:22:21 -07:00
Steve Fink 7d44c63dea Bug 1470026 - Allow empty arenas while iterating the heap, r=jonco
--HG--
extra : topic : nursery.strings
extra : rebase_source : 82e5c6e7e080e2924eb4770087a3c085eb2ac6ee
2018-06-20 16:17:35 -07:00
shindli cd1abb81b8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-19 00:49:25 +03:00
Nicolas B. Pierron 5c9acf58b6 Bug 1473289 - Work around page table fragmentation caused by mprotect / VirtualProtect using LifoAlloc r=tcampbell 2018-07-18 17:27:59 +00:00
Cosmin Sabou 88199de427 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-18 20:19:59 +03:00
Robert Bartlensky 96ad373359 Bug 1476011: Initialize opcode on different value. r=jandem
MozReview-Commit-ID: 10GPnHgwD24

--HG--
extra : rebase_source : e7e11b2eb4565785864fa6c82c043cb811761cb7
2018-07-16 17:45:18 +01:00
Tooru Fujisawa c99c6607af Bug 1463979 - Part 1: Store a pointer to enclosing LazyScript into LazyScript. r=jimb,sfink 2018-07-18 21:15:32 +09:00