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

5060 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 60dcde7875 Bug 1261723 (part 2) - Separate class ops from js::Class. code=njn,h4writer. r=efaust,bz.
js::Class op are often all null. And when they're not all null, they're often
duplicated among classes. By pulling them out into their own struct, and using a
(possibly null) pointer in js::Class, we can save 114 KiB per process on
64-bit, and half that on 32-bit.
* * *
imported patch separate-ClassOps-2

--HG--
extra : rebase_source : bd751bf247e9491c1966a123dbeffa573657dfb1
2016-04-01 11:00:01 +11:00
Nicholas Nethercote 754dc0bd49 Bug 1261723 (part 1) - Rename js::Class::ops as oOps. r=efaust.
|oOps| is short for "objectOps", which will contrast with the |cOps| "classOps"
field that the next patch will introduce.

--HG--
extra : rebase_source : 920662674e1f672d923cb9060de23c85dfc903bf
2016-04-01 10:59:59 +11:00
Jonathan Watt fb7bb15e68 Bug 1263782 - Kill off the deprecated nsINode::IsInDoc(). r=baku 2016-03-31 11:58:25 +01:00
Boris Zbarsky 1998448029 Bug 1256376. Fix forEach on typed arrays to work over Xrays from web extension sandboxes. r=till 2016-03-22 13:49:58 -04:00
Bill McCloskey 8b6c0ca54e Bug 1260945 - Add missing isSystem check (r=bholley) 2016-04-07 17:15:25 -07:00
Tooru Fujisawa dd2692b0e2 Bug 887016 - Part 13: Implement RegExp.prototype[@@split] and call it from String.prototype.split. r=h4writer,till 2015-09-05 22:01:43 +09:00
Tooru Fujisawa c06f3481c2 Bug 887016 - Part 12: Implement RegExp[@@species] getter. r=evilpie,bholley 2015-10-25 02:19:03 +09:00
Tooru Fujisawa 7d12904dfe Bug 887016 - Part 11: Implement RegExp.prototype[@@replace] and call it from String.prototype.replace. r=h4writer,till 2015-09-05 22:01:41 +09:00
Tooru Fujisawa 78e5236cee Bug 887016 - Part 10: Implement RegExp.prototype[@@search] and call it from String.prototype.search. r=till 2015-09-05 22:01:40 +09:00
Tooru Fujisawa 4d74d76aa9 Bug 887016 - Part 9: Implement RegExp.prototype[@@match] and call it from String.prototype.match. r=till 2015-09-05 21:55:06 +09:00
Tooru Fujisawa 886ad96018 Bug 1165052 - Part 1: Implement Array[@@species] getter. r=efaust,bholley 2015-08-07 07:53:32 +09:00
Tooru Fujisawa 28cf450f2c Bug 1233642 - Part 2: Self-host Array.prototype.concat. r=efaust,bholley 2015-12-18 17:02:27 +09:00
Nicholas Nethercote 0faa7a06ba Bug 1261720 (part 2) - Move ClassExtension::isWrappedNative into js::Class::flags. r=jorendorff.
This saves 10 KiB of static data on 64-bit, and half that on 32-bit.

--HG--
extra : rebase_source : f0e9c5cdba7f5a71cda046152691de6a5184a223
2016-04-04 08:47:15 +10:00
Nicholas Nethercote f7dab46ae8 Bug 1261720 (part 1) - Separate js::ClassExtension from js::Class. r=jorendorff,bz.
js::ClassExtension is often all null. When it's not all null, it's often
duplicated among classes. By pulling it out into its own struct, and using a
(possibly null) pointer in js::Class, we can save 17 KiB per process on
64-bit, and half that on 32-bit.

--HG--
extra : rebase_source : eb78ade09ce268e886d091f6cbc38d7e5e912527
2016-04-04 08:45:07 +10:00
Chris Manchester f7a1b3fb60 Bug 1242051 - Add inter-directory test support file dependencies to ini manifests. r=gps
Previously, every test and support file would be synced to the objdir
when running any test. Now that only those support files and tests requested
are synced, we note support files required beyond those in a test's
directory in ini manifests.

MozReview-Commit-ID: EmlDz9d4lqt
2016-04-04 14:56:52 -07:00
Nicholas Nethercote 3e563eab78 Bug 1260984 (part 3) - Separate js::ClassSpec from js::Class. r=jorendorff.
js::ClassSpec is often all null. When it's not all null, it's often duplicated
among classes. By pulling it out into its own struct, and using a (possibly
null) pointer in js::Class, we can save 138 KiB per process on 64-bit, and half
that on 32-bit.

--HG--
extra : rebase_source : 852ac6770ace46958d018107e78c5c44ebd6528a
2016-04-01 10:59:54 +11:00
Morgan Phillips 9050862722 Bug 1255133 - Surface links to external documentation alongside relevant error messages 1/2; r=bgrins
--HG--
extra : rebase_source : 2c285070e648d42ccdd523c2415c6c6c6ed1a871
extra : amend_source : c6dd5cd109d6a767523dab6d35f8f3509995d9cd
2016-04-01 23:17:49 -07:00
Bevis Tseng 47e9ad43d3 Bug 1198093 - Part 1: Expose indexedDB to System with [Exposed=System]. r=khuey 2016-03-30 11:22:14 +08:00
Ryan VanderMeulen 95ae6db97d Backed out changeset 73c0af3f3693 (bug 1251855) because the fix is no longer needed since bug 1232639 landed on Gecko 47+.
--HG--
extra : rebase_source : 573c60e568f5533dcae5498b85eb3970f75a7c1a
2016-03-31 23:07:18 -04:00
Nicholas Nethercote d376f9f82e Bug 1260871 - Remove do_GetAtom() and rename NS_NewAtom() as NS_Atomize(). r=erahm.
do_GetAtom() is currently just a synonym for NS_NewAtom().

--HG--
extra : rebase_source : f4409784f931616cbc300591e6b843d30805c273
2016-03-29 10:09:43 +11:00
Phil Ringnalda 4204667ede Back out 735da799e3bb (bug 1211723) for assertion failures and crashes in SharedImmutableStringsCache
CLOSED TREE
2016-03-29 21:57:51 -07:00
Nick Fitzgerald 35e15a7ddb Bug 1211723 - Share JS source text between JSRuntimes; r=jimb
This commit adds `SharedImmutableStringsCache` which allows for de-duplication
and sharing of immutable strings between threads and JSRuntimes.

Each JSRuntime gets a SharedImmutableStringsCache member, but the accessor
always returns the parent runtime's cache. The caches in child JSRuntime's are
not wasting space, however, as initialization and allocation of the table
happens lazily within SharedImmutableStringsCache.

Furthermore, this commit removes `js::ScriptSource::Parent` and the
`CompressedSourceSet`. They are unnecessary because source text is always shared
via the parent runtime's `SharedImmutableStringsCache` now.
2016-03-29 15:15:47 -07:00
Nicholas Nethercote e114b226dc Bug 1259194 (part 4) - Separate js::ObjectOps from js::Class. r=efaust,mrbkap,bz.
js::ObjectOps is often all null. When it's not all null, it's often duplicated
many times among classes. By pulling it out into its own struct, and using a
(possibly null) pointer in js::Class, we can save 208 KiB per process on
64-bit, and half that on 32-bit.

--HG--
extra : rebase_source : 5be8fe45f652392571b8a6d7b63777cbafba6ae4
2016-03-24 07:00:29 +11:00
Nathan Froyd cccdd9fbca Bug 1177488 - use |const char*| for representing async call reasons; r=bz,fitzgen
Using a simple |const char*| is more memory-efficient than allocating a
JS string. We still have to allocate the JS string for passing things
into JS, but ideally we will be able to move the point of allocation
much closer to where it's actually needed, rather than indiscriminantly
doing it all the time.
2016-03-23 10:40:53 -04:00
Jan de Mooij 615d679373 Bug 1259699 - Adjust Windows stack limits to account for large PGO stack frames. r=bholley 2016-03-29 08:03:54 +02:00
Nicholas Nethercote f09c1cb32e Bug 1259194 (part 3) - Remove PopulateJSClass(). r=mrbkap.
PopulateJSClass() is only called immediately after the constructor, so it can
be merged into the constructor. (This helps with the next patch.)

The patch also removes an unnecessary |new| check.
2016-03-24 06:58:23 +11:00
Nicholas Nethercote 45b72ac8ed Bug 1259194 (part 2) - Remove XPCWrappedNativeJSClass. r=mrbkap.
It's a trivial and pointless wrapper for js::Class.

This patch also fixes some ridiculous formatting in XPCNativeScriptableShared.
2016-03-24 06:53:28 +11:00
Tooru Fujisawa ab25ebfb49 Backed out changeset 537d40121b6d (bug 887016) 2016-03-28 06:49:54 +09:00
Tooru Fujisawa 0be2d6fd80 Backed out changeset f23a61067cef (bug 887016) 2016-03-28 06:49:54 +09:00
Tooru Fujisawa 1a7246417a Backed out changeset f373233a8c82 (bug 887016) 2016-03-28 06:49:54 +09:00
Tooru Fujisawa 7a09a0d6d7 Backed out changeset 01da4d30fd11 (bug 887016) 2016-03-28 06:49:53 +09:00
Tooru Fujisawa 6b1b1f0a0b Bug 887016 - Part 13: Implement RegExp.prototype[@@split] and call it from String.prototype.split. r=h4writer,till 2015-09-05 22:01:43 +09:00
Tooru Fujisawa af196ee294 Bug 887016 - Part 11: Implement RegExp.prototype[@@replace] and call it from String.prototype.replace. r=h4writer,till 2015-09-05 22:01:41 +09:00
Tooru Fujisawa 39a8931577 Bug 887016 - Part 10: Implement RegExp.prototype[@@search] and call it from String.prototype.search. r=till 2015-09-05 22:01:40 +09:00
Tooru Fujisawa c77fd5e9a2 Bug 887016 - Part 9: Implement RegExp.prototype[@@match] and call it from String.prototype.match. r=till 2015-09-05 21:55:06 +09:00
Wes Kocher ea76ed99d7 Backed out changeset 95494e68c722 (bug 1177488) for crashes in test_bug732665.xul CLOSED TREE
MozReview-Commit-ID: IFUHUBUCnCD
2016-03-25 12:11:48 -07:00
Nathan Froyd 418aa2af4f Bug 1177488 - use |const char*| for representing async call reasons; r=bz,fitzgen
Using a simple |const char*| is more memory-efficient than allocating a
JS string. We still have to allocate the JS string for passing things
into JS, but ideally we will be able to move the point of allocation
much closer to where it's actually needed, rather than indiscriminantly
doing it all the time.
2016-03-23 10:40:53 -04:00
Tom Schuster 96226d8425 Bug 875433 - Implement Array.prototype.values. r=jorendorff.
--HG--
extra : commitid : COQ24oLNaPl
extra : rebase_source : 800c882bfae5481e3580a2e4de00bac1cda1a57f
2016-03-21 10:44:35 -05:00
Jason Orendorff d738e7170c Bug 1258163 - Implement Array.prototype[@@unscopables]. r=shu, r=bholley.
--HG--
extra : commitid : 56kAI0JkVDz
extra : rebase_source : a328ca4df3406bff9ff0d7c8fedb1a04c77ae4e6
2016-03-23 12:17:58 -05:00
Martin Thomson 2238c2d4d1 Bug 1258299 - Move RTCIdentityProvider to a dictionary, r=jib,khuey
MozReview-Commit-ID: K97lKyhlsW8
2016-03-24 16:12:56 +11:00
Boris Zbarsky 9d00c4004b Bug 1255817 part 5. Remove the now-unused xpc::SystemErrorReporter. r=bholley 2016-03-23 11:44:54 -04:00
Boris Zbarsky fb54936d49 Bug 1255817 part 4. Make XPCJSRuntime use MozCrashErrorReporter by default, now that there should be no stray JS_ReportPendingException calls. r=bholley 2016-03-23 11:44:54 -04:00
Boris Zbarsky c4652e0bab Bug 1255817 part 3. Remove the now-unreachable JS_ReportPendingException call in nsXPCWrappedJSClass::CallQueryInterfaceOnJSObject. r=bholley 2016-03-23 11:44:54 -04:00
Boris Zbarsky e3b2de6aa9 Bug 1255817 part 2. Get rid of AutoJSAPI::OwnsErrorReporting and AutoJSAPI::TakeOwnershipOfErrorReporting. r=bholley 2016-03-23 11:44:54 -04:00
Boris Zbarsky d31cf3a233 Bug 1256342. Fix typed array iteration to work correctly over Xrays. r=till 2016-03-22 13:49:36 -04:00
Bob Owen db4259c176 Bug 1256992: Initialize Windows sandbox BrokerServices before any child processes are created. r=aklotz, r=bholley 2016-03-23 08:10:43 +00:00
Tooru Fujisawa d9e3bca691 Bug 1219757 - Part 1: Remove RegExp.multiline accessor. r=till 2015-11-25 22:38:04 +09:00
Boris Zbarsky c01ae6afbe Back out bug 1256342 too, for now, still CLOSED TREE. 2016-03-22 19:55:55 -04:00
Boris Zbarsky a107417359 Back out bug 1256376 for now until I can figure out what's going on with it. I am sorry for the CLOSED TREE. 2016-03-22 19:27:47 -04:00
Till Schneidereit db904728ee Bug 911216 - Part 7: Implement ES6 Promises in the JavaScript engine. r=efaust
--HG--
extra : rebase_source : 44ac4d767f6b2298acea444675c7177cb8f0d602
2015-11-10 12:34:00 +01:00