Commit Graph

265 Commits

Author SHA1 Message Date
Logan Smyth
18146a6645 Bug 1564177 - Part 2: Move the DebuggerVector from GlobalObject to the Realm. r=jimb
The DebuggerVector has been associated with the GlobalObject via a private slot
referencing a wrapper JS object (DebugggerVectorHolder). Moving this data into
the JS::Realm instance removes complexity and avoids needing the holder.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 20:21:44 +00:00
André Bargull
7a5b5e0a24 Bug 1288457 - Part 15: Add JSProtoKey for AsyncGeneratorFunction. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42885

--HG--
extra : moz-landing-system : lando
2019-10-16 12:35:36 +00:00
André Bargull
d80c1ed430 Bug 1288457 - Part 14: Add JSProtoKey for GeneratorFunction. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42884

--HG--
extra : moz-landing-system : lando
2019-10-16 12:35:08 +00:00
André Bargull
966f19f7e0 Bug 1288457 - Part 13: Add JSProtoKey for AsyncFunction. r=mgaudet
In a follow-up bug this will be changed to use `ClassSpec`, along with the rest
of the JSProtoKey classes still using non-ClassSpec initialisation.

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

--HG--
extra : moz-landing-system : lando
2019-10-16 12:34:46 +00:00
André Bargull
70066a6dde Bug 1288457 - Part 9: Assign an additional bit for CACHED_PROTO_KEY. r=mgaudet
Increase the CACHED_PROTO_KEY limit from 2⁶ to 2⁷ to allow that all current
JSProto classes can use JSCLASS_HAS_CACHED_PROTO.

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

--HG--
extra : moz-landing-system : lando
2019-10-16 12:34:06 +00:00
André Bargull
d14b6d410a Bug 1288457 - Part 8: Use constexpr instead of #defines in js/Class. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42877

--HG--
extra : moz-landing-system : lando
2019-10-16 12:34:04 +00:00
André Bargull
c29b895419 Bug 1288457 - Part 6: Change Intl.RelativeTimeFormat to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42875

--HG--
extra : moz-landing-system : lando
2019-10-16 12:53:08 +00:00
André Bargull
d367ed5276 Bug 1288457 - Part 5: Change Intl.PluralRules to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42874

--HG--
extra : moz-landing-system : lando
2019-10-16 12:31:58 +00:00
André Bargull
a10d581508 Bug 1288457 - Part 4: Change Intl.NumberFormat to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42873

--HG--
extra : moz-landing-system : lando
2019-10-16 12:31:34 +00:00
André Bargull
0ec985f2cc Bug 1288457 - Part 3: Change Intl.Locale to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42872

--HG--
extra : moz-landing-system : lando
2019-10-16 12:31:14 +00:00
André Bargull
c598de1fe4 Bug 1288457 - Part 2: Change Intl.DateTimeFormat to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42871

--HG--
extra : moz-landing-system : lando
2019-10-16 12:30:52 +00:00
André Bargull
a5e566d375 Bug 1288457 - Part 1: Change Intl.Collator to use ClassSpec. r=mgaudet
- `JSProto_Collator` has to be added to the end until part 9.
- `js::CreateCollatorPrototype` was renamed to `js::CreateCollator` because it
  no longer returns the prototype object. Part 7 will change this again.
- `CollatorObject::protoClass_` uses `PlainObject::class_`, which works because
  CollatorObject isn't xrayable.

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

--HG--
extra : moz-landing-system : lando
2019-10-16 12:30:29 +00:00
Cosmin Sabou
4c99a834d0 Backed out 19 changesets (bug 1288457) for causing build bbustages on CommonFunctions.h. CLOSED TREE
Backed out changeset e350706464ea (bug 1288457)
Backed out changeset ee723359cd0a (bug 1288457)
Backed out changeset d8176a4b1984 (bug 1288457)
Backed out changeset eafdeb4aaa02 (bug 1288457)
Backed out changeset 8f4cb4f8495c (bug 1288457)
Backed out changeset c13ce7a93ce9 (bug 1288457)
Backed out changeset 82e03558dc9f (bug 1288457)
Backed out changeset 226c1017cdbd (bug 1288457)
Backed out changeset 19625261f55a (bug 1288457)
Backed out changeset c743e9d10ae5 (bug 1288457)
Backed out changeset 13369226eaca (bug 1288457)
Backed out changeset e1a4db22bcb9 (bug 1288457)
Backed out changeset fe1512265c07 (bug 1288457)
Backed out changeset 79af8c3fa894 (bug 1288457)
Backed out changeset 310181e1596b (bug 1288457)
Backed out changeset 4ab734bad124 (bug 1288457)
Backed out changeset 97551047921f (bug 1288457)
Backed out changeset d8b0d1db18b8 (bug 1288457)
Backed out changeset cb587dae4080 (bug 1288457)
2019-10-16 13:36:37 +03:00
André Bargull
f90e196c3b Bug 1288457 - Part 15: Add JSProtoKey for AsyncGeneratorFunction. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42885

--HG--
extra : moz-landing-system : lando
2019-10-15 17:24:13 +00:00
André Bargull
4b52cb793f Bug 1288457 - Part 14: Add JSProtoKey for GeneratorFunction. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42884

--HG--
extra : moz-landing-system : lando
2019-10-15 17:23:45 +00:00
André Bargull
8a73a1e71c Bug 1288457 - Part 13: Add JSProtoKey for AsyncFunction. r=mgaudet
In a follow-up bug this will be changed to use `ClassSpec`, along with the rest
of the JSProtoKey classes still using non-ClassSpec initialisation.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 17:23:23 +00:00
André Bargull
c54ac15c78 Bug 1288457 - Part 9: Assign an additional bit for CACHED_PROTO_KEY. r=mgaudet
Increase the CACHED_PROTO_KEY limit from 2⁶ to 2⁷ to allow that all current
JSProto classes can use JSCLASS_HAS_CACHED_PROTO.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 17:22:08 +00:00
André Bargull
d2f8e95a58 Bug 1288457 - Part 8: Use constexpr instead of #defines in js/Class. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42877

--HG--
extra : moz-landing-system : lando
2019-10-15 17:22:06 +00:00
André Bargull
c0ef62e824 Bug 1288457 - Part 6: Change Intl.RelativeTimeFormat to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42875

--HG--
extra : moz-landing-system : lando
2019-10-15 17:39:17 +00:00
André Bargull
baf0f55458 Bug 1288457 - Part 5: Change Intl.PluralRules to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42874

--HG--
extra : moz-landing-system : lando
2019-10-15 17:20:32 +00:00
André Bargull
f655fe9c03 Bug 1288457 - Part 4: Change Intl.NumberFormat to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42873

--HG--
extra : moz-landing-system : lando
2019-10-15 17:20:15 +00:00
André Bargull
6c9d24ed86 Bug 1288457 - Part 3: Change Intl.Locale to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42872

--HG--
extra : moz-landing-system : lando
2019-10-15 17:19:53 +00:00
André Bargull
9566414194 Bug 1288457 - Part 2: Change Intl.DateTimeFormat to use ClassSpec. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D42871

--HG--
extra : moz-landing-system : lando
2019-10-15 17:19:27 +00:00
André Bargull
b14ab338c7 Bug 1288457 - Part 1: Change Intl.Collator to use ClassSpec. r=mgaudet
- `JSProto_Collator` has to be added to the end until part 9.
- `js::CreateCollatorPrototype` was renamed to `js::CreateCollator` because it
  no longer returns the prototype object. Part 7 will change this again.
- `CollatorObject::protoClass_` uses `PlainObject::class_`, which works because
  CollatorObject isn't xrayable.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 17:19:08 +00:00
André Bargull
56d3b81c51 Bug 1570370 - Part 4: Rename NativeLocaleObject to LocaleObject. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D40070

--HG--
extra : moz-landing-system : lando
2019-10-11 20:06:32 +00:00
André Bargull
46828c7015 Bug 1570370 - Part 2: Port Intl.Locale to C++. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D40068

--HG--
extra : moz-landing-system : lando
2019-10-11 19:24:41 +00:00
Brian Hackett
6f70f1e367 Bug 1572596 Part 1 - Add source URLs slot to global objects which is cleared on shrinking GC, r=jonco.
Differential Revision: https://phabricator.services.mozilla.com/D41682

--HG--
extra : moz-landing-system : lando
2019-08-22 00:07:41 +00:00
Jon Coppeard
45a3b432c0 Bug 1574098 - Remove unused defines from Class.h r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D42086

--HG--
extra : moz-landing-system : lando
2019-08-15 13:04:43 +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
Jon Coppeard
e22ceecec6 Bug 1573508 - Replace internal references to js::ClassOps with JSClassOps and remove the alias r=tcampbell
Another big patch. This a search-and-replace followed by mach clang-format, and removal of the js::ClassOps alias from Class.h.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 10:00:05 +00:00
Jon Coppeard
74f39034b7 Bug 1573508 - Remove js::ClassOps in favour of JSClassOps now these are the same r=tcampbell
This removes the original js::ClassOps but leaves it aliased to JSClassOps so everything compiles for now.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 23:36:55 +00:00
Jon Coppeard
6c416aec4d Bug 1572782 - Replace internal use of js::FreeOp with JSFreeOp r=tcampbell?
Sorry for the huge patch.  This is pretty much a search and replace of all uses of js::FreeOp.

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

--HG--
extra : moz-landing-system : lando
2019-08-12 10:43:51 +00:00
Jon Coppeard
a00726d223 Bug 1572782 - Remove js::FreeOp and make JSFreeOp opaque in public API r=tcampbell?
Merge js::FreeOp and JSFreeOp, but alias the former to the latter while we fix uses.

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

--HG--
extra : moz-landing-system : lando
2019-08-12 10:43:32 +00:00
Oana Pop Rus
44aafcc0d0 Backed out 4 changesets (bug 1572782) for build bustages at build/src/obj-firefox/dist/include/nsIXPCScriptable.h on a CLOSED TREE
Backed out changeset ec9d15c69bc8 (bug 1572782)
Backed out changeset 8239e4baa0f4 (bug 1572782)
Backed out changeset 9fd7bea2b512 (bug 1572782)
Backed out changeset 11d750555fe1 (bug 1572782)
2019-08-12 13:37:03 +03:00
Jon Coppeard
8186c345e2 Bug 1572782 - Replace internal use of js::FreeOp with JSFreeOp r=tcampbell?
Sorry for the huge patch.  This is pretty much a search and replace of all uses of js::FreeOp.

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

--HG--
extra : moz-landing-system : lando
2019-08-12 10:16:02 +00:00
Jon Coppeard
9d51a35e93 Bug 1572782 - Remove js::FreeOp and make JSFreeOp opaque in public API r=tcampbell?
Merge js::FreeOp and JSFreeOp, but alias the former to the latter while we fix uses.

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

--HG--
extra : moz-landing-system : lando
2019-08-12 10:15:57 +00:00
André Bargull
2684e5023e Bug 1433303 - Part 1: Implement Intl.Locale proposal. r=jwalden
Intl.Locale.m{ax,in}imize() are implemented in part 2.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 09:35:53 +00:00
Brian Hackett
07567615d5 Bug 1554524 Part 4 - Add Debugger interface for instrumenting scripts, r=jimb,tcampbell.
--HG--
extra : rebase_source : a0adc06f428c224c23755531b8dee1063cd591fb
2019-07-08 09:41:21 -10:00
Ted Campbell
78d3ac41a6 Bug 1545278 - Add js::ObjectMayBeSwapped and restrict transplanting. r=iain
JS_TransplantObject is a very powerful API that results in the JITs
having to worry about the type of objects changing in surprising ways.
In practice though, there are very limited uses of this API so we can
add an API to determine which objects have to worry about transplanting.
This can then by asserted in JITs to document places that optimize
performance by expecting not to deal with transplants.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 20:41:01 +00:00
Jan de Mooij
8fdefc5287 Bug 1541810 part 1 - Move the global lexical environment from GlobalObject to Realm. r=jonco
This way it's easier and faster to access from JIT code.

The old code in GlobalObject::offsetOfLexicalEnvironmentSlot was wrong because
it didn't account for the global having a private slot (XPConnect globals).

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

--HG--
extra : moz-landing-system : lando
2019-04-08 12:07:23 +00:00
Yoshi Cheng-Hao Huang
222255214e Bug 1534967 - Part 1: use RootedIdVector. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D25042
2019-04-08 10:46:53 +08:00
Andy Wingo
7d559ef8c3 Bug 1527860 - Remove ENABLE_BIGINT #ifdef r=jandem,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D19766

--HG--
extra : moz-landing-system : lando
2019-02-14 15:03:44 +00:00
André Bargull
6b7d6152d7 Bug 1522465 - Part 3: Remove remaining users of JSCLASS_IS_ANONYMOUS. r=jorendorff 2019-01-24 05:46:03 -08:00
Steve Fink
10953d54c2 Bug 1513108 - Remove the separate class extension hook for getting a weakmap key delegate, r=jonco
Replace with just unwrapping the key, since there are no users that return anything else for a delegate.

--HG--
extra : rebase_source : e72b825121ca3493364c9347f65e5dddd1ef53e0
2018-12-07 14:38:01 -08:00
André Bargull
564dc6c495 Bug 1435829 - Part 1: Implement String.prototype.matchAll proposal. r=jorendorff 2018-12-13 08:04:00 -08:00
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier
a7f1d173a0 Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)

--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
2018-11-30 16:39:55 +01:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00