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

154 Коммитов

Автор SHA1 Сообщение Дата
Jon Coppeard 4c9a0dab80 Bug 1634459 - Simplify the wrapper used for rooting non-GC thing types r=jandem
Previously this stored a function pointer to do the tracing along with the rooted thing. The patch changes this to use a virtual method for the tracing. Calling the method on the base class means we don't need to do address arithmetic to find wher the trace function is stored and we don't need the alignment restrictions, because the virtual trace method knows the layout of its class.

I had to add a traits class, mainly to get the address of the rooted thing inside the wrapper since we need to be able to get the address of the wrapper itself now for tracing.

The wrapper class is renamed from DispatchWrapper to RootedTraceable.

Differential Revision: https://phabricator.services.mozilla.com/D73421
2020-05-04 16:53:56 +00:00
Tom Schuster 0ac6524608 Bug 1633145 - Bustage fix for jsglue.cpp
Differential Revision: https://phabricator.services.mozilla.com/D73343
2020-04-30 20:03:58 +00:00
Tom Schuster bd161088e3 Bug 1633145 - Replace INTERNED_STRING_TO_JSID. r=jandem
I am honstely still not convinced that this function should actually exists.
It seems like a convulted way of saying AtomToId, while also asserting that the atom is pinned.

Differential Revision: https://phabricator.services.mozilla.com/D72563
2020-04-30 18:18:12 +00:00
Tom Schuster ba90702647 Bug 1633174 - Fix rust bindings. r=arai
Verified by cargo build --release in js/rust

Differential Revision: https://phabricator.services.mozilla.com/D72530
2020-04-25 15:17:31 +00:00
Jeff Walden 5f081085e8 Bug 949220 - Make |NewProxyObject| return only non-singletons, and add |NewSingletonProxyObject| for the singleton case. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D70502

--HG--
extra : moz-landing-system : lando
2020-04-14 16:57:15 +00:00
Bogdan Tara 669bffcf00 Backed out 30 changesets (bug 949220) for assertion failure on JSObject.cpp CLOSED TREE
Backed out changeset b077b434866d (bug 949220)
Backed out changeset 437dc6f1a0b1 (bug 949220)
Backed out changeset 9043d3f4ea6f (bug 949220)
Backed out changeset 761005340836 (bug 949220)
Backed out changeset 650ccbbc2e15 (bug 949220)
Backed out changeset b7459076dbf5 (bug 949220)
Backed out changeset e1ac27ee38e2 (bug 949220)
Backed out changeset 5c07df930240 (bug 949220)
Backed out changeset 42312dec52aa (bug 949220)
Backed out changeset ca28434cf70f (bug 949220)
Backed out changeset c8322158294f (bug 949220)
Backed out changeset 817de77f7cf1 (bug 949220)
Backed out changeset 097d29b3ed26 (bug 949220)
Backed out changeset a2a3821dcc6e (bug 949220)
Backed out changeset cf4659d06791 (bug 949220)
Backed out changeset 53c4c74abb23 (bug 949220)
Backed out changeset a4a124e8f193 (bug 949220)
Backed out changeset 53a89cfb8c24 (bug 949220)
Backed out changeset 69e8d2e49ee1 (bug 949220)
Backed out changeset afb91f3ce31e (bug 949220)
Backed out changeset 43ff0c2fc3dc (bug 949220)
Backed out changeset eda9a8e621b3 (bug 949220)
Backed out changeset 93b33661e87b (bug 949220)
Backed out changeset ddf62ab9e8cc (bug 949220)
Backed out changeset 62fff9f3a631 (bug 949220)
Backed out changeset 45e22642cd49 (bug 949220)
Backed out changeset 54f48761a664 (bug 949220)
Backed out changeset c0d4d9557fac (bug 949220)
Backed out changeset 98ac0d0d392c (bug 949220)
Backed out changeset 2d677ae71924 (bug 949220)
2020-04-14 13:17:51 +03:00
Jeff Walden 17320991d7 Bug 949220 - Make |NewProxyObject| return only non-singletons, and add |NewSingletonProxyObject| for the singleton case. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D70502

--HG--
extra : moz-landing-system : lando
2020-04-14 08:37:31 +00:00
Emilio Cobos Álvarez 2cffc808c8 Bug 1621044 - Tentative fix for the SM-rust build bustage.
Differential Revision: https://phabricator.services.mozilla.com/D66346

--HG--
extra : moz-landing-system : lando
2020-03-11 00:06:44 +00:00
Emilio Cobos Álvarez 6ef2792e0e Bug 1621044 - Update in-tree consumers of bindgen. r=keeler,rhunt
Differential Revision: https://phabricator.services.mozilla.com/D66281

--HG--
extra : moz-landing-system : lando
2020-03-10 21:07:34 +00:00
Sylvestre Ledru 31e4471215 Bug 1617369 - Reformat js/ using rustfmt r=arai,bbouvier
Differential Revision: https://phabricator.services.mozilla.com/D63952

--HG--
extra : moz-landing-system : lando
2020-02-27 10:29:46 +00:00
Andrea Marchesini 8220fd1ad9 Bug 1611855 - Worklet must be part of the same parent's agentCluster - part 6 - CloneDataPolicy.allowSharedMemoryObjects(), r=sfink,smaug
Differential Revision: https://phabricator.services.mozilla.com/D61276

--HG--
extra : moz-landing-system : lando
2020-02-06 13:49:28 +00:00
Andrea Marchesini b13b3b72d2 Bug 1611855 - Worklet must be part of the same parent's agentCluster - part 2 - CloneDataPolicy in writing, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D61182

--HG--
extra : moz-landing-system : lando
2020-02-06 13:46:25 +00:00
Narcis Beleuzu d259fe38d8 Backed out 13 changesets (bug 1611855) for wpt failures on /audioworklet-postmessage-sharedarraybuffer.https.html . CLOSED TREE
Backed out changeset 2b661d588f96 (bug 1611855)
Backed out changeset 16094fc92bc9 (bug 1611855)
Backed out changeset 3f89bbcaff92 (bug 1611855)
Backed out changeset a906501b6d92 (bug 1611855)
Backed out changeset 54738b88425d (bug 1611855)
Backed out changeset d27de910a6c0 (bug 1611855)
Backed out changeset 261902f6336d (bug 1611855)
Backed out changeset 380d83b61e62 (bug 1611855)
Backed out changeset 39aac60ebf5e (bug 1611855)
Backed out changeset 5ea099787376 (bug 1611855)
Backed out changeset d0f58871f838 (bug 1611855)
Backed out changeset e1be102310a9 (bug 1611855)
Backed out changeset 633357835540 (bug 1611855)

--HG--
rename : dom/base/test/test_postMessages_workers.html => dom/base/test/test_postMessages.html
2020-02-06 12:31:36 +02:00
Andrea Marchesini f110ab6849 Bug 1611855 - Worklet must be part of the same parent's agentCluster - part 6 - CloneDataPolicy.allowSharedMemoryObjects(), r=sfink,smaug
Differential Revision: https://phabricator.services.mozilla.com/D61276

--HG--
extra : moz-landing-system : lando
2020-02-05 22:19:21 +00:00
Andrea Marchesini 87b1a8a547 Bug 1611855 - Worklet must be part of the same parent's agentCluster - part 2 - CloneDataPolicy in writing, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D61182

--HG--
extra : moz-landing-system : lando
2020-02-05 22:07:34 +00:00
Emilio Cobos Álvarez d99e85ea4b Bug 1613176 - Enable -Wreturn-type-c-linkage. r=froydnj
JSAPI functions are not extern "C" anymore. This warning has a couple false
positives due to template specialization (see first patch of this bug), but we
were already working around them, because apparently some mingw builds use it.

Once I fix cbindgen to generate the specializations as needed we can remove
those workarounds, but this is green in the meantime and doesn't hurt.

Depends on D61626

Differential Revision: https://phabricator.services.mozilla.com/D61627

--HG--
extra : moz-landing-system : lando
2020-02-05 11:21:04 +00:00
Andrea Marchesini c4cb10712a Bug 1609990 - AgentCluster comparison in MessagePort and BroadcastChannel - part 3 - CloneDataPolicy, r=smaug,sfink,lth
Differential Revision: https://phabricator.services.mozilla.com/D60485

--HG--
extra : moz-landing-system : lando
2020-01-24 16:31:21 +00:00
André Bargull 980e63f88b Bug 1530372 - Part 4: Support nursery allocation for BigInt. r=sfink,jandem
Most of the code was copied from the String nursery allocation code paths and
then adjusted to work with BigInts. Where applicable, the newly added BigInt
functions were placed right next to the String functions, so it's easier to
compare them against each other. In a follow-up bug, we should try to reduce
these code duplications.

In contrast to Strings, nursery allocated BigInts will also try to nursery
allocate their heap digits, when needed, in the nursery. This works similar to
the slots and elements storage for objects, which can also be nursery
allocated. Supporting nursery allocation for BigInt digits is important when we
want to support nursery allocation of BigInts using heap digits, because it
avoids the extra overhead of registering malloc memory with nursery cells.

Differential Revision: https://phabricator.services.mozilla.com/D54772

--HG--
extra : moz-landing-system : lando
2020-01-06 12:49:45 +00:00
Simon Giesecke f3fc79d4ec Bug 1602514 - Build Rust SpiderMonkey bindings in C++17 mode. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56697

--HG--
extra : moz-landing-system : lando
2019-12-11 21:24:05 +00:00
Jeff Walden 62a130ba0a Bug 1602882 - Move array operations to a new js/Array.h header. r=sfink,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D56595

--HG--
extra : moz-landing-system : lando
2019-12-11 06:17:44 +00:00
Jeff Walden 0960b032ac Bug 1602882 - Move AutoValueArray and HandleValueArray to a new ValueArray.h header. r=sfink
Depends on D56593

Differential Revision: https://phabricator.services.mozilla.com/D56594

--HG--
extra : moz-landing-system : lando
2019-12-10 19:54:44 +00:00
Philip Chimento 13b367b72b Bug 1590907 - Remove obsolete macro JS_NO_JSVAL_JSID_STRUCT_TYPES. r=sfink
This macro is defined when building the Rust bindings, but it doesn't
actually affect anything.

Differential Revision: https://phabricator.services.mozilla.com/D51771

--HG--
extra : moz-landing-system : lando
2019-11-12 22:00:55 +00:00
Jason Orendorff fbc689a32a Bug 1448324 - Fix link in js/rust readme. r=jdm
Differential Revision: https://phabricator.services.mozilla.com/D49748

--HG--
extra : moz-landing-system : lando
2019-10-18 14:30:52 +00:00
Tom Tung 0adbc024e7 Bug 1583251 - P6 - Apply the change to sc.rs; r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D49755

--HG--
extra : moz-landing-system : lando
2019-10-23 07:21:05 +00:00
Jan de Mooij 6febd292ea Bug 1586683 - Remove flat strings from JSAPI. r=jwalden,bzbarsky
We want to remove flat strings (JSFlatString). With this patch we only expose
linear strings (JSLinearString) to API consumers.

This is very mechanical for the most part, because code typically only cares
about linear strings and not the null-termination aspect.

CTypes's Library.cpp has some Windows-specific code where we relied on null-terminated
strings. This patch adds JS_CopyStringCharsZ for that use case.

Differential Revision: https://phabricator.services.mozilla.com/D48314

--HG--
extra : moz-landing-system : lando
2019-10-14 09:32:07 +00:00
Emilio Cobos Álvarez ab7a52626a Bug 1587368 - Stop using -oldsyn bindgen version now that we pull newer syn and proc_macro versions anyway.
MANUAL PUSH: Cherry-picking upstream stuff, with reviewers that are not on phabricator.
2019-10-09 13:42:36 +02:00
Tom Ritter 5b875f2afd Bug 1576254 - Add isSystemOrAddonPrincipal to RustJSPrincipal r=luke
RustJSPrincipal is used in Servo; we just return the conservative value of 'false'.

Differential Revision: https://phabricator.services.mozilla.com/D47478

--HG--
extra : moz-landing-system : lando
2019-10-04 17:38:03 +00:00
Paul Bone 03339e515d Bug 1530251 - Remove nursery size parameter from GCRuntime::init r=jonco
Callers should use JS_SetGCParameter() instead.

Differential Revision: https://phabricator.services.mozilla.com/D47870

--HG--
extra : moz-landing-system : lando
2019-10-03 05:52:54 +00:00
Emilio Cobos Álvarez 41ff579eac Bug 1583471 - Don't pull new syn / quote / etc. dependencies just yet. r=bbouvier
Transition to syn 1.0 is ongoing, but these take a long time to build.

Hopefully we already patch coreaudio-sys manually so all the crates dependent on
bindgen are effectively in-tree.

I published v0.51.1-oldsyn to avoid pulling all these dependencies for now.

Differential Revision: https://phabricator.services.mozilla.com/D46966

--HG--
rename : third_party/rust/quote-0.6.11/tests/conditional/integer128.rs => third_party/rust/quote/tests/conditional/integer128.rs
rename : third_party/rust/unicode-xid-0.1.0/scripts/unicode.py => third_party/rust/unicode-xid/scripts/unicode.py
extra : moz-landing-system : lando
2019-09-25 09:50:10 +00:00
Benjamin Bouvier e207459263 Bug 1583471: Update bindgen to 0.51.1 througout the tree; r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D46962

--HG--
rename : third_party/rust/quote/tests/conditional/integer128.rs => third_party/rust/quote-0.6.11/tests/conditional/integer128.rs
rename : third_party/rust/unicode-xid/scripts/unicode.py => third_party/rust/unicode-xid-0.1.0/scripts/unicode.py
extra : moz-landing-system : lando
2019-09-25 09:50:10 +00:00
Jon Coppeard ad4df9ae33 Bug 1581574 - Remove Heap<T> write barrier and rely on existing read barrier to make incremental marking work r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D46133

--HG--
extra : moz-landing-system : lando
2019-09-20 10:09:19 +00:00
Bastien Orivel 3be4e0c3aa Bug 1580908 - Part 7: Update glob to 0.3. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45715

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:17 +00:00
Bastien Orivel 67cd993dc5 Bug 1580908 - Part 4: Update num-traits to 0.2 in js to dedupe it. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45713

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:09 +00:00
Bastien Orivel c98f904a4d Bug 1580908 - Part 2: Update env_logger to 0.6. r=froydnj
This is one less dependency on regex 0.2

Differential Revision: https://phabricator.services.mozilla.com/D45711

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:02 +00:00
Jon Coppeard d4f47d27ad Bug 1573844 - Remove references to js::Class and remove the alias r=tcampbell
The final huge patch. This is a search-and-replace removal of js::Class followed by clang-format and removal of the alias from TypeDecls.h.

Depends on D41986

Differential Revision: https://phabricator.services.mozilla.com/D41987

--HG--
extra : moz-landing-system : lando
2019-08-14 19:13:12 +00:00
Jon Coppeard 41d076b49e Bug 1573844 - Remove js::Jsvalify and js::Valueify r=tcampbell
Depends on D41984

Differential Revision: https://phabricator.services.mozilla.com/D41985

--HG--
extra : moz-landing-system : lando
2019-08-14 17:18:54 +00:00
Jon Coppeard 66fc30ba53 Bug 1573844 - Remove js::Class definition and alias JSClass to it r=tcampbell,mccr8
JSClass contained void* members corresponding to the internal pointer members of js::Class. This stores the internal members in JSClass and removes js::Class.

This leaves js::Class aliased to JSClass while we remove references to it. I also aliased Jsvalify and Valueify into global scope temporarily to make this compile. These get removed in the following patches.

I had to remove a few functions which now don't compile with js::Class being the same type as JSClass.

Differential Revision: https://phabricator.services.mozilla.com/D41983

--HG--
extra : moz-landing-system : lando
2019-08-15 08:32:22 +00:00
Nathan Froyd 08b51223a9 Bug 1560666 - turn off C++17 aligned allocation support; r=glandium
Just like C++14 sized deallocation support, we don't want to support
this.  We shouldn't be using `new` on over-aligned types anyway.

Differential Revision: https://phabricator.services.mozilla.com/D41819

--HG--
extra : moz-landing-system : lando
2019-08-14 01:37:34 +00:00
Sylvestre Ledru 10390f6514 Bug 1562642 - Part 4 - Add missing MPL2 headers in js/ r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D37545

--HG--
extra : moz-landing-system : lando
2019-07-26 21:17:29 +00:00
Mike Hommey bf3db9e84f Bug 1569331 - Update bindgen to 0.51. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D39580

--HG--
extra : moz-landing-system : lando
2019-07-27 00:36:18 +00:00
Jan de Mooij 93d6f816f0 Bug 1564349 part 1 - Convert Baseline/Ion/NativeRegExp prefs from ContextOptions to JitOptions. r=nbp,smaug
Using process-wide prefs is consistent with the other JIT options and is simpler
to work with (one place to initialize for all runtimes).

Differential Revision: https://phabricator.services.mozilla.com/D37385

--HG--
extra : moz-landing-system : lando
2019-07-10 09:43:39 +00:00
Iain Ireland 29dc9fe2ea Bug 1559072: Revert Rust bindings to old boxing format r=djvj
Depends on D35547

Differential Revision: https://phabricator.services.mozilla.com/D35548

--HG--
extra : moz-landing-system : lando
2019-06-25 17:11:15 +00:00
Ted Campbell 9b0fa42e1f Bug 1559275 - Avoid OwningCompileOptions accessors in js-rust glue. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D35260

--HG--
extra : moz-landing-system : lando
2019-06-19 00:50:43 +00:00
Iain Ireland b1d0f80ddf Bug 1401624: Part 6: Update Rust bindings r=fitzgen
We are changing the representation of values on 64-bit. Part 5 of this patch stack has more details on the changes.

Differential Revision: https://phabricator.services.mozilla.com/D29056

--HG--
extra : moz-landing-system : lando
2019-06-12 17:51:04 +00:00
Andreea Pavel 9eda2afac1 Backed out 7 changesets (bug 1401624) for build bustages at MacroAssembler-inl.h on a CLOSED TREE
Backed out changeset 46030572ffde (bug 1401624)
Backed out changeset bccc5a509ebe (bug 1401624)
Backed out changeset 1a488ead5ac5 (bug 1401624)
Backed out changeset caac1da9ae80 (bug 1401624)
Backed out changeset 8f02092ab0b4 (bug 1401624)
Backed out changeset 90a104231405 (bug 1401624)
Backed out changeset d5d97222de6f (bug 1401624)
2019-06-12 20:47:42 +03:00
Iain Ireland 40460c1e69 Bug 1401624: Part 6: Update Rust bindings r=fitzgen
We are changing the representation of values on 64-bit. Part 5 of this patch stack has more details on the changes.

Differential Revision: https://phabricator.services.mozilla.com/D29056

--HG--
extra : moz-landing-system : lando
2019-06-03 15:57:43 +00:00
Steve Fink 995829d42a No bug. Reformat js/** to fix accumulated divergences.
# ignore-this-changeset

--HG--
extra : amend_source : 7b51d539061710bf4939e687b4ca4b74af757cf3
2019-05-24 11:57:18 -07:00
Tooru Fujisawa 66e25f6243 Bug 1549340 - Part 2: Use union instead of reinterpret_cast to initialize const char* with symbol for JSPropertySpec.name. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D30493

--HG--
extra : moz-landing-system : lando
2019-05-13 10:26:48 +00:00
Jon Coppeard dd05bccccd Bug 1542184 - Use PersistentRooted for rooting vectors of GC things from rust code r=fitzgen?
This replaces the use of heap-alloced Rooted with PersistentRooted which is safe wrt destruction order.

I had to add PersistentRooted and StackGCVector to OPAQUE_TYPES to make this work... I'm not really sure what this does.

Differential Revision: https://phabricator.services.mozilla.com/D30668

--HG--
extra : moz-landing-system : lando
2019-05-10 17:36:34 +00:00
Tooru Fujisawa 56585dc81e Bug 1543843 - Add constructors to JSPropertySpec and inner structs/unions. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D27277

--HG--
extra : moz-landing-system : lando
2019-04-26 01:01:15 +00:00