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