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

61303 Коммитов

Автор SHA1 Сообщение Дата
Jon Coppeard 3075bc5440 Bug 1384885 - Do gray unmarking of cross zone edges as soon as they are found r=sfink 2017-07-28 11:06:40 +01:00
Tom Schuster b1db7228f4 Bug 1383646 - Optimize x.indexOf(x) for AngularJS. r=anba 2017-07-28 11:25:38 +02:00
Sylvestre Ledru a4376d5dd4 Bug 1384848 - Remove dead code in XPCConvert.cpp r=mrbkap
MozReview-Commit-ID: D6kCUtqfIwo

--HG--
extra : rebase_source : 539ce1a925fa42b74007189708287ee74324261a
2017-07-27 09:43:06 +02:00
André Bargull dab06faa1f Bug 1368978 - Skip non-initialized elements when deleting a property range in Array.prototype.splice. r=jandem 2017-07-27 04:37:43 -07:00
Jim Blandy 520ce8912f Bug 1380498 - Add isGeneratorFunction and isAsyncFunction to Debugger.Script and Debugger.Object. r=tromey 2017-07-18 17:51:44 -07:00
Julian Seward 408d24da56 Bug 1382563 - Remove ns*String::AssignWithConversion. r=erahm.
This patch replaces four functions of the name AssignWithConversion which
are essentially wrappers around CopyASCIItoUTF16 and LossyCopyUTF16toASCII
with direct calls to the latter two functions.  The replaced functions are:

  void nsCString::AssignWithConversion( const nsAString& aData )
  void nsString::AssignWithConversion( const nsACString& aData )

  void nsTString_CharT::AssignWithConversion(
                            const incompatible_char_type* aData,
                            int32_t aLength = -1);

The last of the three exists inside the double-included nsTString* world and
so describes two functions, giving four in total.

This has two advantages:

* it removes code

* at the call points, it makes clear (from the replacement name) which
  conversion is being carried out.  The generic name "AssignWithConversion"
  doesn't make that obvious -- one had to infer it from the types.

The patch also removes two commented out lines from
editor/composer/nsComposerCommands.cpp, that appear to be related.  They are
at top level, where they would never have compiled.  They look like
leftovers from some previous change.

--HG--
extra : rebase_source : fb47bf450771c3c9ee3341dd14520f5da69ec4f5
2017-07-24 19:23:52 +02:00
Jon Coppeard afbbfaffc3 Bug 1384550 - Skip atoms collection if it's no longer possible r=sfink 2017-07-27 18:31:07 +01:00
Ted Campbell fb86f05093 Bug 1383972 - [Ion] Fix allocation error with too many MPhis. r=nbp
MozReview-Commit-ID: GtzUQuUvpam

--HG--
extra : rebase_source : dd67a8ef6cc2df5e166be1eb3ea01840402164b3
2017-07-26 17:08:28 -04:00
Carsten "Tomcat" Book d360d49d2a merge mozilla-inbound to mozilla-central a=merge 2017-07-27 10:57:25 +02:00
Jim Blandy 7944af2cd7 Bug 1382258 - Handle async functions properly in Debugger API. r=tromey
An async function or generator is represented by a native function wrapped
around a scripted function. In order to avoid treating async functions as if
they were opaque native functions, Debugger must explicitly look through these
wrappers to find the scripted function inside.
2017-07-25 10:48:28 -07:00
Wes Kocher 512f32055e Backed out changeset adb09e2d7a30 (bug 1359912) for breaking linux noopt debug builds a=backout
MozReview-Commit-ID: E1treEAWecM
2017-07-26 15:30:17 -07:00
Mike Hommey 0f1ddd55b2 Bug 1384418 - Remove gcc entries from tooltool manifests. r=gps
--HG--
extra : rebase_source : 815c57f65ee9a9954d11ac890fb6e0ba56f1842c
2017-07-26 15:28:29 +09:00
Mike Hommey b9fc5a46aa Bug 1359912 - Add -z relro linker flags. r=gps
--HG--
extra : rebase_source : ae42e299d59cc139503c411e663cc81b18ff4177
2017-07-26 07:12:59 +09:00
Bevis Tseng a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Sean Stangl 43fc02b967 Bug 1384318 - Inline native check for emitMegamorphicLoadSlot variants. r=jandem 2017-07-25 15:17:00 -04:00
Emanuel Hoogeveen c879c5938d Bug 1342023 - Part 2: Stop using PageProtectingVector in AssemblerBuffer. r=jandem 2017-07-26 08:54:00 -04:00
Emanuel Hoogeveen 9f2123853d Bug 1342023 - Part 1: Remove ProtectedReallocPolicy from PageProtectingVector. r=jandem 2017-07-26 08:53:00 -04:00
Luke Wagner 898bdba0b5 Bug 1351488 - Baldr: change JS::WasmModule interface to separate bytecode from compiled code (r=lth)
MozReview-Commit-ID: 9PboJiP8BMM

--HG--
extra : rebase_source : dfcfb59c645b4c4877c99fe4ed68678449c1603a
2017-07-26 11:00:39 -05:00
Jon Coppeard ef3ea340a5 Bug 1384047 - Relax assertion that zones are empty when they are deleted r=jandem 2017-07-27 11:09:53 +01:00
Kartikaya Gupta ba4b3b9101 Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.

MozReview-Commit-ID: 6s78RvPFMzv

--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
2017-07-26 16:03:57 -04:00
Carsten "Tomcat" Book 198430bca2 merge mozilla-inbound to mozilla-central a=merge 2017-07-26 11:11:40 +02:00
Nicolas B. Pierron 13c6c8058f Bug 1375435 - Clear the GetPropertyCache prior resume-point at the end of IonBuilder build functions. r=jandem
--HG--
extra : source : a3a834899c7335e179ad77d0b48b9ed6df0a231a
2017-07-25 14:49:59 -04:00
Ryan VanderMeulen 6cc7f170de Backed out changeset a3a834899c73 (bug 1375435) for making too-long-array-splice.js permatimeout on SM asan builds. 2017-07-25 23:27:04 -04:00
Wes Kocher f19f28adfd Merge m-c to autoland, a=merge
MozReview-Commit-ID: F1X8wKqbkg
2017-07-25 19:16:09 -07:00
Wes Kocher 65bbd0525a Merge inbound to central, a=merge
MozReview-Commit-ID: E4oXfAM1mtd
2017-07-25 19:04:37 -07:00
Andrew McCreight 35f516cba7 Bug 1383303 - Support void returns from VM functions. r=jandem
MozReview-Commit-ID: JBPQ9aTqHAH

--HG--
extra : rebase_source : 985a61492b29cd2701bbeff9a081c2034cd66dd7
2017-07-21 13:20:44 -07:00
Andrew McCreight 88d9fadf79 Bug 1383174 - Make GetNonSyntacticGlobalThis return void. r=jandem
This method always returns true.

Also, get rid of the unused return statement at the end of the
method. The loop is a while(true) and it has no break statements.

MozReview-Commit-ID: 5hxfSkq6ZUD

--HG--
extra : rebase_source : 9caa8e84d487a44aa10dd73a9266845bd5cda98f
2017-07-21 12:36:40 -07:00
Kannan Vijayan c3b765ee0b Bug 1366375 - Add CacheIR stub for optimizing calls to array_push. r=jandem 2017-07-25 11:28:38 -04:00
Jan de Mooij 0fd607ec1b Bug 1383591 - Don't use |current| block in OutOfLineStoreElementHole code. r=nbp 2017-07-25 17:09:08 +02:00
Sebastian Hengst 8afce0c191 Backed out changeset 75d0af6c7c49 (bug 1368454) for failing named-yield-spread-obj.js after asserting !type.isSingleton() at ObjectGroup.cpp:792. r=backout 2017-07-25 16:30:17 +02:00
Till Schneidereit 7f4b13656d Bug 1368454 - Optimize js::CreateIterResultObject by using ObjectGroup::newPlainObject instead of manually creating the object and defining its properties. r=jandem
This should improve performance of creating the object and TI for code using iteration result objects.

MozReview-Commit-ID: 2QGqFs7V3uH
2017-07-25 16:01:41 +02:00
Jan de Mooij deb7d25aa4 Bug 1383343 part 2 - Add a cache for Function.prototype.toString. r=anba 2017-07-25 14:58:17 +02:00
Jan de Mooij 09e17362ed Bug 1383343 part 1 - Avoid StringBuffer overhead in FunctionToString in the common case. r=anba 2017-07-25 14:55:06 +02:00
Jan de Mooij 7e5724db61 Bug 1383775 - Clean up function toString/toSource code, remove remnants of source decompiler. r=anba 2017-07-25 13:22:11 +02:00
Jon Coppeard 27b31261f4 Bug 1374797 - Fix logic around triggering atoms GCs r=sfink 2017-07-25 11:28:41 +01:00
Tom Tromey adb3d74ff5 Bug 1383157 - change pn_type to a ParseNodeKind; r=jimb
MozReview-Commit-ID: 3woMGwYs3wY

--HG--
extra : rebase_source : 5bd7fc25a4cbfbc288ce19650831b484757689ed
2017-07-21 11:07:54 -06:00
Paul Bone 70b304d94b Bug 1380768 (part 2) - Add a pref for nursery size, r=sfink. 2017-07-21 14:34:46 +10:00
Paul Bone 07ea7264d8 Bug 1380768 (part 1) - Update comments to reflect API changes and a changed, r=sfink. 2017-07-21 15:56:11 +10:00
Kris Maglione cd5c5d6f7f Bug 1383215: Part 5 - Update tests that relied on loading the same JSM from multiple URLs.
MozReview-Commit-ID: KEXGiMrauH7

--HG--
extra : rebase_source : c1b5a1e22c00bdc42cc7cdfae2f4718248c7965d
extra : histedit_source : 968e9daffc7505853aac4b892178f27c3386aec1
2017-07-21 18:01:42 -07:00
Kris Maglione 0fefc0e8c0 Bug 1383215: Part 4 - Use location string as key in modules map. r=mccr8
Using the unmolested module location string as the cache key removes a huge
chunk of overhead when loading cached modules.

This also ensures that multiple URLs are not used to load the same module,
which would result in it being loaded more than once in the new regime

MozReview-Commit-ID: BAWoOJQSTc1

--HG--
extra : rebase_source : e5b295a498caf76e60efec4d174e558e9e55d77b
extra : histedit_source : dd683966b30090b5702264c2903e6050be0e4137
2017-07-24 20:32:42 -07:00
Kris Maglione 5e494303a2 Bug 1383215: Part 3 - Use scache::ResolveURI to resolve module URIs. r=mccr8
Since we now usually load modules from one of the startup caches, we usually
have no need to ever actually create a channel in order to load them.
Resolving the URIs directly is much cheaper in the normal case.

MozReview-Commit-ID: 8W8RMHRnyBa

--HG--
extra : rebase_source : 073ae92c3dc53e86084c1daa1ccfe720ade634c6
extra : histedit_source : cf6cc2b025a839e39aa48bf412ee3a273b549bbe
2017-07-21 15:42:38 -07:00
Kris Maglione 8f6455242f Bug 1383215: Part 1 - Don't resolve module URIs to files when already cached. r=mccr8
MozReview-Commit-ID: KBhXhcJkRjp

--HG--
extra : rebase_source : f5d9852dfa0bbda11d7ceee080bcde7e779c6312
extra : histedit_source : 151752f049ff9e6b2b73de51cbcef0d1d4f31906
2017-07-21 15:11:02 -07:00
Yoshi Huang 7036b3761f Bug 1382531 - Part 1: rewrite crashtest for data: URI is unique opaque origin. r=smaug 2017-07-25 09:56:02 +08:00
Wes Kocher fd09155f06 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 418vKEKrk3n
2017-07-24 18:10:56 -07:00
Wes Kocher 2673406be5 Merge inbound to central, a=merge
MozReview-Commit-ID: 1oTeP8uycV2
2017-07-24 18:06:39 -07:00
Brian Hackett 5914f8b520 Bug 1349924 - Try to specialize property loads to specific function objects, r=jandem.
--HG--
extra : rebase_source : 1bc1d41304bdc5083e4546995c0e7d4fcd52f977
2017-07-24 14:01:49 -06:00
Steve Fink 78befcf04b Bug 1376842 - Update gdb support code to new wasm SIGSEGV handler, and some other updates, r=tromey
DONTBUILD; this changes no compiled code and is only used when debugging.

--HG--
extra : rebase_source : 4942c1d0c19e4ba6bfdfa3b5d5ff263a64e01822
2017-07-24 17:04:22 -07:00
Jan de Mooij f33379a262 Bug 1368362 - Use setSlotWithType instead of setSlot in InitGlobalLexicalOperation. r=shu
--HG--
extra : amend_source : 7dc591f4c43ebc5ff5fe9d3c4f216a2ac9b2dd6e
2017-07-24 18:41:12 -04:00
Tom Tromey 1ac9609130 Bug 1383155 - remove redundant casts of SN_TYPE; r=jimb
MozReview-Commit-ID: 8hwj36YwAxz

--HG--
extra : rebase_source : f6c1537f6566b3e1aa732718103b21863f15c480
2017-07-21 08:13:19 -06:00
Georg Fritzsche 09d533dae9 Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-24 09:52:26 -04:00
Brian Hackett 36410ccf0f Bug 1370349 - Allow relinquishing access to zone groups when yielding (r=jandem)
MozReview-Commit-ID: F3Yu689WnlL
2017-07-25 19:50:16 -07:00
Brian Hackett e67cd26710 Bug 1373755 - Support profiling of cooperative threads (r=jandem)
MozReview-Commit-ID: E8thu8SuCYv
2017-07-25 19:48:33 -07:00
Wes Kocher 1c6b33b69a Merge m-c to inbound, a=merge
MozReview-Commit-ID: AwACQvl2e5g

--HG--
extra : rebase_source : e70812f9a96acf1d0747cb7ea57afa1e2152283b
2017-07-25 19:09:39 -07:00
Kris Maglione 09fd6d1778 Bug 1382329: Part 4 - Hold mMonitor while accessing scripts in the write thread. r=erahm
MozReview-Commit-ID: 66se8G27sqQ

--HG--
extra : rebase_source : 4fc09a04b4ebee937f614f9f271404ca20ab2c01
2017-07-19 14:16:56 -07:00
Kris Maglione f4d43b3b71 Bug 1382329: Part 3 - Wait for pending parse tasks to finish before freeing scripts. r=erahm,nbp
Off-thread parse tasks depend on the memory allocated by the main-thread
script preloader, so that memory needs to be kept alive until they finish. In
normal use cases, this is guaranteed, but when the browser shuts down very
quickly (as sometimes happens in tests), or we invalidate the startup caches
in the middle of the startup process, they can sometimes be freed too early.

MozReview-Commit-ID: GQmkVbWgTH9

--HG--
extra : rebase_source : 523fb559f3d71f16be11ae275ab1f6ea3900eff8
2017-07-25 15:23:12 -07:00
Kris Maglione d3ebec307a Bug 1382329: Part 2 - Eagerly encode scripts for the startup cache. r=erahm,nbp
MozReview-Commit-ID: JqCqQZ2rO2z

--HG--
extra : rebase_source : 14874cae551f10f091461c9e9b1d9a48c99afc2b
2017-07-19 12:44:17 -07:00
Kris Maglione 4c48c5dab8 Bug 1382329: Part 1 - Enable lazy source whenever compiling for the preloader. r=mccr8,nbp
In general, we always want to compile with lazy source whenever we intend to
store code in the startup bytecode cache. Currently, we only do so when the
main StartupCache is available (which is only in the parent process), even if
we'll be storing code in the ScriptPreloader cache.

The main side-effect of this is that scripts which are used in a content
process do not use lazy source, but *do* use lazy parsing. And since we need
to clone pre-loaded scripts into their target compartment before executing, we
end up eagerly compiling those lazy functions on the main thread as soon as we
execute the script, in order to clone them. And this causes two side-effects
of its own:

1) It's terrible for startup performance.

2) It creates new scope chains which didn't exist when the clone began, and
which are likely responsible for bug 1367896.

MozReview-Commit-ID: 6lZLb68zitp

--HG--
extra : rebase_source : 2f2bc11d0123fd7e14c2a5e716a764e7ab8ded46
2017-07-19 11:57:18 -07:00
Carsten "Tomcat" Book 2023b2d8e5 Merge mozilla-central to inbound 2017-07-24 14:59:06 +02:00
Jon Coppeard 6063f3db71 Bug 1366340 - Delete parsing zones immediately after their contents are merged r=sfink 2017-07-24 10:42:50 +01:00
Jon Coppeard 4266b7c35e Bug 1382431 - Only record malloc trigger stats if a GC was triggered r=sfink 2017-07-24 10:42:48 +01:00
Sean Stangl 3ea39fbf96 Bug 1308193 - Reorganize code that looks like it could return a stack address. r=nbp 2017-07-21 14:52:00 -04:00
Jason Orendorff cd310bafca Bug 1382016 - Fix autospider.sh nonunified on Mac. r=sfink
--HG--
extra : rebase_source : ac9f436dc6086477d0e5a8feab40110654da98f7
2017-07-18 17:15:24 -05:00
Brian Hackett 4736d3662e Bug 1383467 - Only cancel Ion compilations that use nursery pointers when performing a minor GC, r=jonco.
--HG--
extra : rebase_source : 9032ca56a38b2be96bc2cc5dfb6a0163a54b06c3
2017-07-24 07:34:40 -06:00
Florian Quèze d31ab0dd40 Bug 1381853 - Make defineLazyScriptGetter support lazy loading scripts exposing several symbols to the global scope, r=mconley,Mossop. 2017-07-23 00:17:56 +02:00
Florian Quèze 892a7dff17 Bug 1381853 - add defineLazyScriptGetter on XPCOMUtils.jsm, r=mconley. 2017-07-23 00:17:54 +02:00
Jan de Mooij 6cc7401337 Bug 1382973 part 8 - Remove BytecodeAnalysis from IonBuilder and ControlFlowGenerator. r=nbp 2017-07-22 14:31:45 +02:00
Jan de Mooij a756f3250a Bug 1382973 part 7 - Change BytecodeAnalysis to mark code after try-catch as reachable to simplify Ion code. r=nbp 2017-07-22 14:31:13 +02:00
Jan de Mooij 15ec672035 Bug 1382973 part 6 - Remove BytecodeAnalysis::hasTryFinally(). r=nbp 2017-07-22 14:24:29 +02:00
Jan de Mooij 43ea58d683 Bug 1382973 part 5 - Remove BytecodeAnalysis::hasSetArg(). r=nbp 2017-07-22 14:24:05 +02:00
Jan de Mooij 5e7ebbbe5b Bug 1382973 part 4 - Cache the BytecodeAnalysis usesEnvironmentChain flag on the BaselineScript. r=nbp 2017-07-22 14:23:30 +02:00
Jan de Mooij 5bb4de30f5 Bug 1382973 part 3 - Add IonBuilder::usesEnvironmentChain() helper function. r=nbp 2017-07-22 14:22:55 +02:00
Jan de Mooij fcbb532c3e Bug 1382973 part 2 - Eliminate some BytecodeAnalysis::maybeInfo checks in IonBuilder. r=nbp 2017-07-22 14:21:52 +02:00
Jan de Mooij e2a6ce0202 Bug 1382973 part 1 - Don't use BytecodeAnalysis to compute stack depths in Ion. r=nbp 2017-07-22 14:21:25 +02:00
Shu-yu Guo 32c821d11e Bug 1377016 - Take both with-wrapped and unwrapped enclosing environments when getting non-syntactic lexical environments. (r=jorendorff) 2017-07-22 12:45:26 +02:00
Sebastian Hengst f16a7f8371 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4EWdTlEncz7
2017-07-22 11:38:42 +02:00
Wes Kocher d45eb771f0 Merge m-c to inbound, a=merge
MozReview-Commit-ID: Ah48RzFU8Mt
2017-07-21 18:20:46 -07:00
Wes Kocher 051dc17e6c Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: GYc8r8gnS0j
2017-07-21 18:12:55 -07:00
Ted Campbell d7d599bf4a Bug 1383206 - Fix format string for in GC slice statistics. r=sfink
MozReview-Commit-ID: 7eLrYNtb4jv

--HG--
extra : rebase_source : da1e37628a8056f16a025443869792dc9f217e83
2017-07-21 14:46:47 -04:00
Ryan VanderMeulen f4e3a91992 Merge m-c to inbound. a=merge 2017-07-21 09:40:28 -04:00
Sebastian Hengst 367f0ac5a2 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IWRTFZdtzaE
2017-07-21 12:56:44 +02:00
Kris Maglione 2ed607e9ac Bug 1382904: Optimize XPCOMUtils.generateQI. r=florian
XPCOMUtils.generateQI is called a lot, and the current implementation is
especially inefficient. It relies on calling the stringification slow path
twice for each interface ID, which begins to add up fast given how often it's
called.

MozReview-Commit-ID: 2O87wBVMA2G

--HG--
extra : rebase_source : b3d43fbe77990e82702491a58d59c4e439d3d2f8
2017-07-20 18:38:14 -07:00
Wes Kocher 61354cf6c0 Merge m-c to autoland, a=merge CLOSED TREE
MozReview-Commit-ID: 9pPsy8McMun
2017-07-21 18:18:35 -07:00
Sylvestre Ledru 7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Brian Hackett a2b14f72a0 Bug 1355109 - Add IC for property reads on xrays, r=jandem,bz.
--HG--
extra : rebase_source : bc62ebf7f9c6fc006e95ede93087370ad7120303
2017-07-21 07:49:53 -07:00
Ehsan Akhgari 8f4879f93e Bug 1382745 - Improve the hashing of StackShape, especially on 64-bit systems; r=jandem 2017-07-21 10:40:01 -04:00
Christoph Kerschbaumer a34dfc464b Bug 1382815 - Convert more tests within js/xpconnect to comply with new data: URI inheritance model. r=smaug 2017-07-21 10:28:47 +02:00
Mike Hommey 09db7d4793 Bug 1382564 - Use the information from bug 1374940 with `mach artifact toolchain`. r=gps
Bug 1374940 adds a MOZ_TOOLCHAINS environment variable with a list of
path@task-id strings, where task-id is corresponding to the (possibly
optimized) toolchain job, and path corresponding to the
toolchain-artifact defined for that toolchain job.

We want to use that to pull artifacts instead of tooltool packages.

--HG--
extra : rebase_source : 277daa2c83d6d197975cb4ef36ee131176afa992
2017-06-21 15:18:33 +09:00
Nicolas B. Pierron d38995b912 Bug 1375435 - Clear the GetPropertyCache prior resume-point at the end of IonBuilder build functions. r=jandem
--HG--
extra : rebase_source : 0d4ba582c28debae0b508946315bfbca9f3e3bc0
2017-07-25 14:49:59 -04:00
Brian Hackett d00e270300 Bug 1383777 - Support idempotent ICs that access missing properties and object lengths, r=jandem.
--HG--
extra : rebase_source : 405e682faa19e1e710f4d9f1c3692baf0a1b8299
2017-07-25 17:18:29 -06:00
Nicholas Nethercote 53662318c9 Bug 1381727 (part 1) - Remove JS_smprintf_free(). r=sfink.
Because it's just a wrapper for js_free().

Furthermore, JS_smprintf() and friends return a JS::UniqueChars, which is also
wired up to free with js_free(). So having the indirection via
JS_smprintf_free() obfuscates things.

--HG--
extra : rebase_source : 1db80199dc801a2684fffe2a5fd5349a42c6941b
2017-07-25 09:09:23 +10:00
Kris Maglione 8683b183cd Bug 1382645: Part 1 - Add memory reporter for StructuredCloneHolder binding implementation. r=billm
MozReview-Commit-ID: aK3ljfCJVi

--HG--
extra : rebase_source : d788c6c686cc72b423ca100795a379d343c398db
2017-07-25 14:53:41 -07:00
Olli Pettay 866053df7a Bug 1384215 - Try to run deferred deletion more likely during idle time, r=mccr8
--HG--
extra : rebase_source : 0dd6ec9641e323959a454d812a9d2f15b1d02982
2017-07-25 22:22:12 +03:00
Brian Hackett 4d36acb0f4 Bug 1349924 - Backed out changeset 7aa7d265948a due to regression. 2017-07-25 13:57:57 -06:00
Sebastian Hengst 838439065a Backed out changeset e3825e35e2e2 (bug 1366294) for crashing various tests with [@ TelemetryHistogram::DeInitializeGlobalState()], e.g. in bc's browser_permission_dismiss.js. r=backout on a CLOSED TREE 2017-07-21 15:21:49 +02:00
Sebastian Hengst a577a1f14f Backed out changeset 217ad633fbf7 (bug 1379146) for failing spidermonkey cgc's js/src/jit-test/tests/debug/inspect-wrapped-promise.js on Linux x64 debug. r=backout on a CLOSED TREE 2017-07-21 15:18:58 +02:00
Georg Fritzsche e6a136758b Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-21 08:41:44 -04:00
Nicolas B. Pierron 6cebd62c89 Bug 1379146 - SpiderMonkey: Reserve space when enqueuing compression tasks, to avoid OOM on helper threads. r=shu 2017-07-21 10:03:32 +00:00
Jon Coppeard ba0373934d Bug 1382722 - Trigger debugger GC notification once at the end of GC r=sfink 2017-07-21 10:01:14 +01:00
Jon Coppeard 1aa04fef20 Bug 1382720 - Move zone state assertion into state update method r=sfink 2017-07-21 10:00:59 +01:00
André Bargull 7a3eb41821 Bug 1377279 - Fine-tune array built-ins. r=djvj 2017-06-29 14:59:14 -07:00
André Bargull 457b12734d Bug 1381891 - Inline IsTypedArray even when non-TypedArrays were observed. r=jandem 2017-07-18 09:46:08 -07:00
Sean Stangl c3d68d0f00 Bug 1382023 - Optimize better in presence of lookaround. r=jandem
This is a pull of v8 commit 8df7c2a21b07174c3704894ca1d149b2711dfa58,
reviewed at https://codereview.chromium.org/2777583003.

--HG--
extra : histedit_source : 62baef1128e57ddf77b715ffec727610ae7fb8ae
2017-07-18 15:37:00 -04:00
Sean Stangl f4e7d91218 Bug 1382023 - Fold repeated assertions. r=jandem
This is a pull of v8 commit c8e4c8b9263b5009716804f06f39225a9dd7fc68,
reviewed at https://codereview.chromium.org/2768443003.

--HG--
extra : histedit_source : a18886aba3443d84eb909f1f37a3d63b7aa415a9
2017-07-18 15:37:00 -04:00
Ehsan Akhgari b940c3d6e8 Bug 1382339 - Improve SpiderMonkey hashing functions by using MFBT's HashGeneric more; r=jandem 2017-07-20 12:59:09 -04:00
Tom Schuster a5f725d4f6 Bug 1382612 - Support default class constructors in Ion. r=tcampbell 2017-07-20 18:47:28 +02:00
Tom Schuster 1efe54ed22 Bug 1344483 - Remove MInitProp from Ion. r=jandem 2017-07-20 18:46:36 +02:00
Ehsan Akhgari 33114ba370 Bug 1382324 - Improve SpiderMonkey's pointer hashing function for pointers to neighboring memory locations; r=jandem
This is very similar to the fix to bug 1379282 for the XPCOM hashtables.
2017-07-20 12:23:07 -04:00
Nicolas B. Pierron 30db580939 Bug 1304569 - JS Code Coverage: Simplify checks for the last found case-statement body. r=bhackett 2017-07-20 16:20:14 +00:00
Ehsan Akhgari cd15c1d8a0 Bug 1382435 - Create Symbols from Symbol.for() with a different hash from the atom used to create them; r=jandem 2017-07-20 12:16:38 -04:00
Jan de Mooij 591afd7b2d Bug 1379936 - Make sure lastIndex slot is always initialized to 0 when cloning regexps in Ion. r=nbp 2017-07-20 16:23:05 +02:00
Andrew McCreight 51944f0ae4 Bug 1381919 - Remove most of the xpcIJSModuleLoader interface. r=kmag
People only use these methods via Cu, so remove them from this
interface. Also, ban anybody from implementing this interface in JS
(though I can't imagine anybody trying), and eliminate a variant of
mozJSComponentLoader::ImportInto that is never called.

MozReview-Commit-ID: Kok5ksXiK5a

--HG--
extra : rebase_source : ef7237953404fd1b75e8e1118b9fc4e2235ff187
2017-07-17 17:11:06 -07:00
Wes Kocher f361e1638d Backed out 13 changesets (bug 1366294) for leaking base::Histogram::FactoryGet a=backout CLOSED TREE
Backed out changeset f2d79c13799a (bug 1366294)
Backed out changeset b722d638f6ed (bug 1366294)
Backed out changeset aee317b1445d (bug 1366294)
Backed out changeset 14f9f9521d4f (bug 1366294)
Backed out changeset beb5f00c4b19 (bug 1366294)
Backed out changeset 72635bc1ba25 (bug 1366294)
Backed out changeset c387459a798b (bug 1366294)
Backed out changeset 476daf9a5846 (bug 1366294)
Backed out changeset e7ce6a06c131 (bug 1366294)
Backed out changeset 1cc736607aab (bug 1366294)
Backed out changeset 175c3ccb0015 (bug 1366294)
Backed out changeset 96b594816a21 (bug 1366294)
Backed out changeset 57400dd449ad (bug 1366294)

MozReview-Commit-ID: J6PyVMGwJ74
2017-07-19 12:49:46 -07:00
Georg Fritzsche 2932617587 Bug 1366294 - Part 1 - Remove base::StatisticsRecorder. r=chutten
The Chromium IPC histogram code used the StatisticsRecorder object for storage.
This is keyed by histogram name, which doesn't match our storage reality anymore.
Instead we use a name to refer to a set of histogram instances that record data from different processes, as well as separating session and subsession data.
Consequently we need to rewrite this storage, which means StatisticsRecorder is not used anymore.

MozReview-Commit-ID: 1LC7YubpKaD
2017-07-19 14:26:56 -04:00
Benjamin Bouvier 1e52c56b0d Bug 1381930: Move JitFrameIterator methods to their own cpp file; r=nbp
MozReview-Commit-ID: 6ShujTv5EIM

--HG--
extra : rebase_source : 099f4dc7dccf11dcffe88d8fafea1fcc9e8f3412
2017-07-18 20:10:48 +02:00
Benjamin Bouvier a2da47dfdd Bug 1381930: Use delegating ctors for JitFrameIterator; r=nbp
MozReview-Commit-ID: 1tmUQ9yPQSd

--HG--
extra : rebase_source : df76df2473d24478190d566082e3446dbe61b3c9
2017-07-18 19:36:25 +02:00
Benjamin Bouvier b79d31c403 Bug 1382040: Fix benign assertion issue when decoding wasm names; r=luke
MozReview-Commit-ID: KPefZhEo5si

--HG--
extra : rebase_source : 1e7584e7a2c7705fb7a5334aecb3a6ee14fac5b4
2017-07-19 12:15:19 +02:00
Nicolas B. Pierron 6eb7dc59af Bug 1381888 - Hard-code the current size factor between the source size and the bytecode size. r=mrbkap
--HG--
extra : rebase_source : 5e2a0735a7d02e414b38ce24ac6b887cb0c7ddbc
2017-07-18 10:09:00 -04:00
Jon Coppeard e428e12a6b Bug 1380972 - Tighten up our defintion of what constitutes a 'long' slice r=sfink 2017-07-19 16:52:48 +01:00
Jon Coppeard 4056892ff5 Bug 1381777 - Record how long we went over the time budget r=sfink data-r=bsmedberg 2017-07-19 09:37:18 +01:00
Jon Coppeard 1d3260f920 Bug 1366217 - Add more assertions to help track down LongestPhaseSelfTime crashes r=sfink 2017-07-19 09:37:18 +01:00
Boris Zbarsky 58c5f32380 Bug 1381408. Make cross-origin-exposed non-symbol properties enumerable. r=bholley
The list of exposed properties can be gotten via
Object.getOwnPropertyNames/Symbols already, so there's nothing to be won from
the non-enumerability.

The web platform test changes are backports of
https://github.com/w3c/web-platform-tests/pull/6538 and
https://github.com/w3c/web-platform-tests/pull/6571 and
https://github.com/w3c/web-platform-tests/pull/6583

The js/xpconnect/tests/mochitest/*crossOriginObject* tests being removed are
just older versions of the web platfrom test.
2017-07-19 11:47:39 -04:00
André Bargull c7e8c24f9f Bug 1381489 - Improve allocations and length limits when sorting typed arrays without a custom comparator. r=till 2017-07-17 09:17:02 -07:00
Jan de Mooij e216fb5e25 Bug 1375505 part 10 - Replace fixed-size iterator cache with a per-compartment HashSet to improve hit rate. r=jonco 2017-07-19 16:30:02 +02:00
André Bargull e062cd68d9 Bug 1381423 - Part 1: Generate slightly better code for visitCallGeneric and RangePopFront. r=jandem
--HG--
extra : rebase_source : 634db665f202b9c0c9dc299ec9f65b14e6f7faba
2017-07-19 03:18:47 -07:00
André Bargull 92e4a673cf Bug 1381423 - Part 0: Fix branchTestMagic with an Address operand for 32-bit targets. r=jandem
--HG--
extra : rebase_source : 80ae6bc5ed554cb2a843309019ad84a6c9a3b2fc
2017-07-19 03:12:37 -07:00
Ryan VanderMeulen 0cfb1d8460 Merge inbound to m-c. a=merge
CLOSED TREE
2017-07-19 10:00:35 -04:00
Ehsan Akhgari 16939c371d Bug 1379351 - Improve some of the XPConnect hash routines; r=mccr8 2017-07-19 00:08:50 -04:00
Sebastian Hengst e14a8f51d7 Backed out changeset aa6ecfc06517 (bug 1381423) for failing devtools' browser_dbg_variables-view-large-array-buffer.js on Windows 7 debug. r=backout on a CLOSED TREE 2017-07-18 20:17:57 +02:00
Jon Coppeard 9021f21c69 Bug 1380387 - Disable gczeal in GC marking test r=me 2017-07-18 16:56:31 +01:00
André Bargull 03d9b8eaa6 Bug 1381423 - Generate slightly better code for visitCallGeneric and RangePopFront. r=jandem 2017-07-18 17:34:15 +02:00
Sebastian Hengst b63513ed85 Backed out changeset aeb1787900b8 (bug 1381423) for failing devtools/client/webconsole/test/browser_webconsole_output_05.js. r=backout 2017-07-18 17:29:31 +02:00
Sebastian Hengst 367d6fd973 Backed out changeset 07dd7b5ed0e8 (bug 1381433) 2017-07-18 17:28:42 +02:00
André Bargull ceca1e45b7 Bug 1380344 - Add Ion support for IsPackedArray. r=jandem
--HG--
extra : rebase_source : 8599c33b39806d1580a3a5fd208f39150f6c2c3e
extra : histedit_source : de214f94b5b5eb2d440519634555da3a0dc72b85
2017-07-17 08:56:22 -07:00
André Bargull a32a33c30a Bug 1380962 - Part 2: Remove unnecessary lambda function in FunctionToString. r=jandem
--HG--
extra : rebase_source : 82d488bd9207e98ae632b825e040f991b17b9bc2
extra : histedit_source : e5284923248189d19766145a7de7554ae6f9b13c
2017-07-17 08:56:16 -07:00
André Bargull bd210d189b Bug 1380962 - Part 1: Merge append calls when assembling the source string for native functions. r=jandem
--HG--
extra : rebase_source : 11fcfdccb3ca403ba20a9270cf67ba843506da59
extra : histedit_source : c51ce359c176815f9a4f2658696810ab1b93057c
2017-07-17 08:56:11 -07:00
André Bargull 7807a64afa Bug 1381474 - Check for detached buffers by querying the current length when sorting typed arrays. r=till
--HG--
extra : rebase_source : ffdb83418d6c14772cff251dce5bc56d45c06e06
extra : histedit_source : d6fe1a16999f67ece70984c79bde5e4f7ea0602b
2017-07-17 06:12:20 -07:00
André Bargull f99876d7f6 Bug 1381469 - Only check for detached buffers when iterating over typed arrays when the current length is zero. r=till
--HG--
extra : rebase_source : a345bb12dc87a9923beb2b235850e506d08046b7
extra : histedit_source : 158f8c1d3e171735eb08e0c684023f9c78e24d12
2017-07-17 06:01:01 -07:00
André Bargull 900d376185 Bug 1381466 - Throw TypeError when comparator was provided, but is not callable per ES2018 draft spec. r=till
--HG--
extra : rebase_source : e738b045b90a6ccce6f990979989faec92eb261e
extra : histedit_source : 0433782bd238ff3f18a58016fb9b52cddd24903e
2017-07-17 05:53:07 -07:00
André Bargull 8949cb2fcf Bug 1381433 - Throw when Date.prototype.toString is called with non-Date object per ES2018 spec draft. r=till
--HG--
extra : rebase_source : 082eed044fd9c90287a5871e66be9bec5e2cc31f
extra : histedit_source : 625f3027b33eedde1d988079e726e70a916005a0
2017-07-17 03:43:15 -07:00
André Bargull 2db8d96a93 Bug 1381423 - Generate slightly better code for visitCallGeneric and RangePopFront. r=jandem
--HG--
extra : rebase_source : 3517d6d4d77e9c15fc881776fa363c72f1c2e06d
extra : histedit_source : f9720cfb0922a76298b69faa80d0994e89a1a1fb
2017-07-17 02:23:10 -07:00
Nicolas B. Pierron e16981ec72 Bug 1364908 - Fix test case basic/bug858097.js, to checking in Compacting GC cases. r=jonco 2017-07-18 14:16:21 +00:00
Nicolas B. Pierron 07a6807814 Bug 1364908 - Fix ion/bug1284485.js unreported OOM. r=bbouvier 2017-07-18 12:08:22 +00:00
Nicolas B. Pierron a1f0784e66 Bug 1364908 - IonMonkey: Add LoadElementFromSate to support argument[x] in inlined functions. r=jandem 2017-07-18 12:08:22 +00:00
Nicolas B. Pierron d6ec64d163 Bug 1364908 - Add MacroAssembler::branchToComputedAddress. r=jandem 2017-07-18 12:08:22 +00:00
Nicolas B. Pierron e1a4ed2946 Bug 1364908 - Move moveValue into the generic MacroAssembler. r=jandem 2017-07-18 12:08:21 +00:00
Jan de Mooij babc61461a Bug 1381461 part 2 - Remove the similar-objects heuristic in PropertyReadNeedsTypeBarrier. r=bhackett 2017-07-18 13:09:04 +02:00
Jan de Mooij 826fed3c48 Bug 1381461 part 1 - Don't skip the receiver object in PropertyReadNeedsTypeBarrier. r=bhackett 2017-07-18 10:58:56 +02:00
Shu-yu Guo 78323cab13 Bug 1368737 - Fix 'this' computation for Debugger.Frame.eval. (r=jimb) 2017-07-17 18:45:52 -07:00
Shu-yu Guo 81c208d0c8 Bug 1366927 - Rework column handling in frontend by separating column from offset from root ScriptSource buffer. (r=jimb)
The idea is this:

Offsets, like token positions and scripts' begin/end and
toString{Start,End}, are now always offset from the beginning of the
script's full ScriptSource buffer. That is, when delazifying, if the
buffer we are parsing is an interior pointer into some outer script's
ScriptSource buffer, the token offsets for that parsing session are
still offset from that outer buffer instead of the interior pointer.

The initial column number in CompileOptions will be added to the column
number when an offset maps to the initial line of the ScriptSource.
Columns are computed from offsets, but have no bearing on how to index
into the ScriptSource buffers.
2017-07-17 18:45:52 -07:00
Wes Kocher e336170364 Backed out changeset 3b275d92b419 (bug 1381919) for 32-bit windows build bustage a=backout CLOSED TREE
MozReview-Commit-ID: AeocWzkRyan
2017-07-18 22:37:01 -07:00
Ryan VanderMeulen d229288071 Merge m-c to autoland. a=merge
CLOSED TREE

--HG--
extra : amend_source : 2ab51304cc7df444f22c3aac001a1aba61faee3a
2017-07-21 09:42:41 -04:00
Cameron McCormack a7e21703f6 Bug 1380133 - Part 10: Whitelist nsStyleContext::PeekStyleXXX for heap writes. r=heycam
MozReview-Commit-ID: BLlJm7JUnOq

--HG--
extra : rebase_source : 424d25b0dd3ea76c2df9a304d9ff734f8f4cc2be
2017-07-21 11:51:04 +08:00
Andrew McCreight c77f1723be Bug 1381921, part 2 - Remove nsAXPCNativeCallContext. r=mrbkap
This class is no longer used.

MozReview-Commit-ID: Lv9AAd3OjIl

--HG--
extra : rebase_source : b37abc2c70a2a08b176d0504163c246b6ff3b8cf
2017-07-18 10:42:47 -07:00
Andrew McCreight c00d64f6c6 Bug 1381921, part 1 - Remove nsIXPConnect::CurrentNativeCallContext. r=mrbkap
It is only called in a single place, and can't be called from JS, so
inline it and eliminate it.

MozReview-Commit-ID: DWfyfoO5Zht

--HG--
extra : rebase_source : 8a44719af22a4d8724449d6225f4bdd119d648c8
2017-07-18 10:36:05 -07:00
Mike Hommey 0f1f412921 Bug 1384314 - Remove NSPR_LDFLAGS. r=gps
It's set in old-configure, but nothing uses it anymore.

--HG--
extra : rebase_source : e0197529b980d424afedb1a04eb7ba14bb606d90
2017-07-26 07:07:32 +09:00
Gregory Szorc 204ba452aa Bug 1382930 - Remove configure references to gonk; r=glandium
Some gaia-related code was also found and removed as part of the
cleanup.

MozReview-Commit-ID: DEjVSljzzu1

--HG--
extra : rebase_source : 58c4c34df44a258d90029853f29ea01338bd142b
2017-07-20 21:48:10 -07:00
Brian Birtles 267881f1f1 Bug 1381389 - Append PropertyValuePair objects on Gecko side so they are initialized correctly; r=hiro
Without this mValue may end up looking like a valid nsCSSValue object and bad
things will happen when we try to clone it.

We could just assign mem::zeroed() to mValue but this array hacking on the Servo
side is already pretty nasty and mSimulateComputeValuesFailure would still
remain unassigned (and if we did try to assign it on the Servo side we'd need to
only assign it in debug builds). Unless this proves performance-critical, it's
probably best to just do this on the Gecko side.

MozReview-Commit-ID: 75nFsflhZUM

--HG--
extra : rebase_source : 0e5d94a7f6fdb6768983ba440a3ea69d65cbffbf
2017-07-20 14:38:54 +09:00
Andrew McCreight 323b74a7ca Bug 1381919 - Remove most of the xpcIJSModuleLoader interface. r=kmag
People only use these methods via Cu, so remove them from this
interface. Also, ban anybody from implementing this interface in JS
(though I can't imagine anybody trying), and eliminate a variant of
mozJSComponentLoader::ImportInto that is never called.

MozReview-Commit-ID: Kok5ksXiK5a

--HG--
extra : rebase_source : 38c2469198e3320326e946c7af902bca33a0e6be
2017-07-17 17:11:06 -07:00
Zibi Braniecki ddf787a1b8 Bug 1380931 - Switch Intl.PluralRules tests to public domain. r=till
MozReview-Commit-ID: 33XHMMVhCz

--HG--
extra : rebase_source : df09b46bc681672267f72e1618eb4e6961af8d82
2017-07-14 01:24:25 -07:00
Steve Fink a18059010c Bug 1381568 - Allow reporting on minor GCs on an empty nursery, r=pbone
--HG--
extra : rebase_source : 62a125dd068a1f126350e46ae35cf0872bbe4366
2017-07-17 16:52:51 -07:00
Oriol d06b0ed712 Bug 1381275 - Report proper object in NewPromiseCapability TypeError. r=fitzgen 2017-07-17 13:06:00 -04:00
Tom Schuster d6df91fa28 Bug 1344483 - Use an IC for JSOP_INITPROP in Ion. r=jandem 2017-06-29 00:49:00 +02:00
Sebastian Hengst 96c11c0eea Backed out changeset a02a6cb9c94c (bug 1364908) for build bustage: undeclared 'StackSlotAllocator' at js/src/jit/CodeGenerator.cpp:11199. r=backout on a CLOSED TREE 2017-07-17 19:44:31 +02:00
Sebastian Hengst c8d8061326 Backed out changeset 60809bf55571 (bug 1364908) 2017-07-17 19:43:44 +02:00
Sebastian Hengst 517126d509 Backed out changeset b6be7c2be50e (bug 1364908) 2017-07-17 19:43:39 +02:00
Sebastian Hengst a8d6ccc0c7 Backed out changeset a249596785aa (bug 1364908) 2017-07-17 19:43:34 +02:00
Nicolas B. Pierron dedb131f00 Bug 1364908 - Fix ion/bug1284485.js unreported OOM. r=bbouvier 2017-07-17 17:04:12 +00:00
Nicolas B. Pierron 48a17c9e49 Bug 1364908 - IonMonkey: Add LoadElementFromSate to support argument[x] in inlined functions. r=jandem 2017-07-17 17:04:12 +00:00
Nicolas B. Pierron 693eef7903 Bug 1364908 - Add MacroAssembler::branchToComputedAddress. r=jandem 2017-07-17 17:04:11 +00:00
Nicolas B. Pierron 6ef2433bf2 Bug 1364908 - Move moveValue into the generic MacroAssembler. r=jandem 2017-07-17 17:04:11 +00:00
Brian Hackett bce0222a4d Bug 1375404 - Remove bogus assert, r=jandem. 2017-07-17 10:28:24 -06:00
Sebastian Hengst f96cc8c3fe Backed out changeset 5d9a6384bf51 (bug 1378207) for frequently timing out in devtools' browser_addons_debug_webextension_popup.js and browser_addons_remove.js on Windows. r=backout 2017-07-17 17:59:14 +02:00
Jan de Mooij b1a27a6dec Bug 1381438 - Fix boxDouble to not clobber the source register on x86 CPUs without SSE 4.1. r=evilpie 2017-07-17 16:29:52 +02:00
Jan de Mooij 04b0e4c0d7 Bug 1380961 - Fix SimpleArithOperand to return false if the TypeSet is empty. r=nbp 2017-07-17 15:55:33 +02:00
Bobby Holley 3d704b608a Bug 1378207 - Stop bypassing the Xray layer when walking the prototype chain. v2 r=krizsa
MozReview-Commit-ID: AR2Sta2gWRk
2017-07-17 14:31:50 +02:00
Jon Coppeard ca1485b3f9 Bug 1380778 - Fix review comment I missed r=sfink 2017-07-17 11:01:19 +01:00
Jon Coppeard 29c8ebe8bc Bug 1380778 - Fixup shape pointers into the nursery using a dedicated list r=sfink 2017-07-17 10:54:12 +01:00
Jon Coppeard 86b6f119b2 Bug 1381058 - Split full store buffer reasons into a separate reason for each store buffer r=sfink 2017-07-17 10:54:12 +01:00
Jon Coppeard 474325c95e Bug 1380967 - Add a separate reason code for minor GC performed at the start of major GC r=sfink 2017-07-14 19:02:09 +01:00
Jon Coppeard 534fa4d786 Bug 1380387 - Only repeat shutdown GCs for removed roots r=sfink 2017-07-14 19:01:49 +01:00
Tom Schuster e66c52c9c3 Bug 1344483 - Nop jsop_toid for string/symbol. r=jandem 2017-07-15 18:04:43 +02:00
Sebastian Hengst 2d7e93854e Backed out changeset ea49e7dc13d5 (bug 1344483) for frequently crashing with js::GetInitDataPropAttrs(JSOp) in devtools tests on Windows, e.g. browser_rules_edit-selector_04.js. r=backout 2017-07-16 00:14:24 +02:00
Tom Schuster 88c2b80407 Bug 1344483 - Nop jsop_toid for string/symbol. r=jandem 2017-07-15 18:04:43 +02:00
Sebastian Hengst ea10928fd7 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-07-15 16:36:54 +02:00
Sebastian Hengst 186c6d7165 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Kr2w3UdA0p9
2017-07-15 16:34:47 +02:00
Jan de Mooij 2be2d91c31 Bug 1375505 part 9 - Optimize for-in/JSOP_ITER with a Baseline/Ion IC. r=evilpie 2017-07-15 13:22:34 +02:00
Steve Fink 683b884146 Bug 1380770 - Add more info to GCMinor marker JSON, r=jonco
--HG--
extra : rebase_source : 04d4bfc0188106f4c68b662ff5aa4e8a04dc37ab
extra : amend_source : 9692172a301e41c8bb029130c6d3a22a1e665feb
2017-07-13 17:36:46 -07:00
Sebastian Hengst 68baf06033 Backed out changeset 15c280b7d53b (bug 1380387) for Linux cgc failure in js1_8_5/extensions/collect-gray.js. r=backout 2017-07-14 21:25:36 +02:00
Sebastian Hengst 0a996c1db9 Backed out changeset e029feccd0c0 (bug 1380967) for Linux cgc failure in js1_8_5/extensions/collect-gray.js. r=backout 2017-07-14 21:24:55 +02:00
Jon Coppeard 5e9163c32a Bug 1380967 - Add a separate reason code for minor GC performed at the start of major GC r=sfink 2017-07-14 19:02:09 +01:00
Jon Coppeard 873e518ea8 Bug 1380387 - Only repeat shutdown GCs for removed roots r=sfink 2017-07-14 19:01:49 +01:00
André Bargull cad709c270 Bug 1380111 - Inline iterator code into Map/Set forEach to avoid extra allocations. r=till
--HG--
extra : rebase_source : 1244d9d9b19b25b19728da4b94ce0c391cab8ad2
extra : histedit_source : c6b736c9f005e51cb366a0f241be2b4a5dcdf2c3
2017-07-12 07:38:54 -07:00
Wes Kocher ee45f814bb Merge m-c to autoland, a=merge
MozReview-Commit-ID: GOb2bgdUd36
2017-07-14 17:27:36 -07:00
Andrew McCreight 5de8ffcbf5 Bug 1379786, part 1 - Remove dead code related to the security manager. r=mrbkap
Also, one unused include of nsIProgrammingLanguage, which is unrelated.

MozReview-Commit-ID: LJf2NSwmaYG

--HG--
extra : rebase_source : 63dfca9185535dbfa695cf2f383d81a14ce423c0
2017-07-07 15:59:29 -07:00
Andrea Marchesini 50f9ea47a3 Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02:00
Marco Castelluccio 0f9d4e1985 Bug 1380665 - Define MOZ_CODE_COVERAGE for the entire tree. r=jmaher 2017-07-13 19:12:23 +02:00
Carsten "Tomcat" Book 260b5f956f merge mozilla-inbound to mozilla-central a=merge 2017-07-13 16:35:22 +02:00
Carsten "Tomcat" Book 7243722c19 Backed out changeset 77fac7f5d728 (bug 1379639) for still perma failing xpcshell x6 tests 2017-07-13 14:56:25 +02:00
Carsten "Tomcat" Book 5680281cc1 Backed out changeset 4e27c8cad5d1 (bug 1380087) 2017-07-13 14:56:02 +02:00
Andrew Halberstadt ce93f45e61 Bug 1380338 - Convert taskgraph unit tests to the |mach python-test| framework, r=dustin
These tests can now be run with:
./mach python-test taskcluster/taskgraph

or:
./mach python-test taskcluster

They can now run in parallel by passing in -j.

MozReview-Commit-ID: JXeZV8B04Sf

--HG--
extra : rebase_source : 7427f96facaf75e6b6fcca532027c68fb6c1a1a3
2017-07-12 10:47:14 -04:00
Sebastian Hengst 95d7656f60 Backed out changeset d7a872ed8840 (bug 1379983) for failing xpcshell's toolkit/components/osfile/tests/xpcshell/test_available_free_space.js on Linux debug. r=backout 2017-07-13 13:27:35 +02:00
Sebastian Hengst 1c26c58657 Backed out changeset 37e091fb7f79 (bug 1379983) 2017-07-13 13:25:45 +02:00
Sebastian Hengst 307db9d758 Backed out changeset 942e95e4964d (bug 1379983) 2017-07-13 13:25:41 +02:00
Jon Coppeard 350ab58390 Bug 1380397 - Use PersistentRooted to implement XPCJSObjectHolder r=mccr8 2017-07-13 09:51:58 +01:00
Christoph Kerschbaumer d11ba73bee Bug 1380249 - Convert tests within js/xpconnect to comply with new data: URI inheritance model. r=bholley 2017-07-13 08:18:59 +02:00
André Bargull 8c234e0627 Bug 1380087 - Add an intrinsic to test for Map and Set objects. r=till
--HG--
extra : rebase_source : c30f89c15ddce434a86ca043b7ae6a9c5d00c905
2017-07-12 07:37:53 -07:00
André Bargull a108ef2f00 Bug 1379983 - Part 3: Remove goto statements from Unescape function and some other clean-ups. r=jandem
--HG--
extra : rebase_source : ff238fd152fd2c67857f1c255ec49615f4e4bfa1
2017-07-12 07:36:40 -07:00
André Bargull 9a3eb95fa0 Bug 1379983 - Part 2: Use InlineCharBuffer for String.fromCharCode and escape. r=jandem
--HG--
extra : rebase_source : 976393624c104dbbd76cf0ec7bb1151be79bf0d2
2017-07-12 07:36:19 -07:00
André Bargull 3be3eaa5d7 Bug 1379983 - Part 1: Move InlineCharBuffer to top of file. r=jandem
--HG--
extra : rebase_source : 70c989d42130ed9a65cab4fe20b438d949d58128
2017-07-12 07:35:05 -07:00
André Bargull f746a86c3e Bug 1379639 - Move Number.isInteger to self-hosted code and avoid bailouts in isSafeInteger. r=jandem
--HG--
extra : rebase_source : 0d56e10e2abea23848c43b64143cd26b3cd60b05
2017-07-12 10:29:48 -07:00
Jan Beich 47b549f365 Bug 1379430 - Unbreak BSDs build on ARM* after bug 1370696. r=bbouvier
Define R11_sig, R13_sig, R14_sig based on:
https://github.com/openbsd/src/blob/master/sys/arch/arm/include/signal.h
https://github.com/netbsd/src/blob/trunk/sys/arch/arm/include/mcontext.h
https://github.com/freebsd/freebsd/blob/master/sys/arm/include/ucontext.h

Define RLR_sig and R31_sig based on:
https://github.com/openbsd/src/blob/master/sys/arch/arm64/include/signal.h
https://github.com/netbsd/src/blob/trunk/sys/arch/aarch64/include/mcontext.h
https://github.com/freebsd/freebsd/blob/master/sys/arm64/include/ucontext.h

MozReview-Commit-ID: 4IyQyZMbEK6

--HG--
extra : rebase_source : c4d58aa1e9d152dc28f63021f6b3f2b274dd9a99
2017-07-09 00:40:14 +00:00
Philip Chimento 3faca05ad5 Bug 1379538 - Unresolved symbols when linking program to standalone SpiderMonkey. r=fitzgen
Some symbols that need to be public are not marked as such.
2017-07-11 10:59:00 -04:00
Philip Chimento 260bdd7088 Bug 1334338 - Mark character encoding functions as public API. r=fitzgen 2017-07-10 22:56:04 -07:00
Tom Schuster ebe8d92b75 Bug 1341261 - Use CompareIR for string equality. r=jandem 2017-07-08 19:59:44 +02:00
Tom Schuster 6a9b9472e7 Bug 1341261 - CompareIR spewing. r=jandem 2017-07-08 19:29:50 +02:00
Tom Schuster f1365ea693 Bug 1341261 - Basic framework for CompareIR code. r=jandem 2017-07-08 19:29:50 +02:00
Jan de Mooij 5c5ead5942 Bug 1379461 - Refactor code to return RegExpShared* directly instead of using bool + outparam. r=evilpie,sfink 2017-07-11 11:31:12 +02:00
Jon Coppeard 3b4db1432d Bug 1377466 - Rename PokeGC and add a reason code for GCs triggered by this r=sfink 2017-07-11 17:17:17 +01:00
Jon Coppeard 73aaca8f5b Bug 1378717 - Allow inlining of TraceEdge API's null check r=sfink 2017-07-11 16:51:37 +01:00
Jon Coppeard b8dfe1df8d Bug 1378717 - Speed up gray root buffering tracer by removing a virtual dispatch and some release asserts r=sfink 2017-07-11 16:51:26 +01:00
Carsten "Tomcat" Book ae3f78f2c2 Backed out changeset 32a13d3e2902 (bug 1379980) for bustage 2017-07-11 16:57:46 +02:00
Jan de Mooij 0b7c63388c Bug 1379980 - Clean up RegExp code a bit. r=jonco 2017-07-11 16:46:36 +02:00
Carsten "Tomcat" Book 31311070d9 merge mozilla-inbound to mozilla-central a=merge 2017-07-11 12:51:59 +02:00
Wes Kocher 1ef5d8834c Merge m-c to autoland, a=merge 2017-07-10 18:51:05 -07:00
Lars T Hansen 814a1042c6 Bug 1373414 - Backout wasm work stealing on JS helper threads. r=shu
--HG--
extra : rebase_source : 8b1dbd5f5885d41c281da137496ac5e268f4029c
extra : source : 55393d7d4f5d8a0d6258cc3035f418a05ba40aea
2017-07-07 16:03:39 -07:00
Boris Zbarsky 66481a7a29 Bug 1371259 part 9. Make UnwrapReflectorToISupports return already_AddRefed<nsISupports>. r=peterv
The main reason to not do this would be performance (avoiding the
addref/release), but there are two main mitigating factors:

1)  All calls to UnwrapReflectorToISupports that pass in a Web IDL object
    already do the addref (and in fact QI).  So this only affects the
    XPCWrappedNative case.

2)  The vast majority of the callers proceed to QI on the pointer anyway, and a
    second addref is cheap; it's the first addref after a CC that can be
    expensive on a cycle-collected object.

Going through the changes one by one:

* In GlobalObject::GetAsSupports, we do have a change that slightly slows down
  precisely in the XPCWrappedNative global case.  That's the message managers
  and the backstagepass.  And this really only affects calls to Web IDL statics
  from those globals.

* In UnwrapArgImpl we're talking about a Web IDL method taking an "external
  interface" type, and the UnwrapReflectorToISupports call is immediately
  followed by QI anyway.

* In UnwrapXPConnectImpl we're talking about the case when we have a
  non-WebIDL-object implementation of a Web IDL interface.  Again, this is the
  message manager globals, for EventTarget.  And we have a QI call immediately
  after the UnwrapReflectorToISupports.

* In the generated HasInstance hook for EventTarget we will be slightly slower
  when the LHS of the instanceof is an XPCWrappedNative.  And not much slower,
  because again there's an immediate QI.

* In InstallXBLField we're never going to have an XPCWrappedNative as thisObj;
  it's always an Element in practice.  So this is no more expensive than before.

* In sandbox's GetPrincipalOrSOP we now have an extra addref.  But it was
  followed by various QIs anyway.

* In XPCConvert::JSValToXPCException we have an extra addref if someone throws
  an XPCWrappedNative, which is fairly unlikely; our actual Exception objects
  are on Web IDL bindings.  Plus we have an immediate QI.

* In xpc::HasInstance we have an extra addred if the LHS of instanceof is an
  XPCWrappedNative.  But, again, there's an immediated QI after the
  UnwrapReflectorToISupports.

* In xpcJSWeakReference::Init we are likely doing an extra addref, but again
  immediately followed by QI.

I think it's worth making this change just to remove the footgun and that the
perf impact, if any, is pretty minimal.
2017-07-10 16:05:26 -04:00
Boris Zbarsky 9cdb2834a8 Bug 1371259 part 8. Get rid of nsIXPConnect::GetNativeOfWrapper. r=peterv
Most of these changes are just replacements of GetNativeOfWrapper with
UnwrapReflectorToISupports, which is all it did under the hood.

The other changes are as follows:

* In nsDOMClassInfo, we really care whether we have a window, so we can just
  UNWRAP_OBJECT to the Window interface, since Window is always on Web IDL
  bindings now.  Also, the weird compartment check hasn't been needed ever since
  GetNativeOfWrapper stopped returning things off the passed-in object's
  prototype chain (Firefox 22, bug 658909).
* The only use of do_QueryWrapper was to get a Window in nsDocument; again we
  can UNWRAP_OBJECT.
* In XPCJSRuntime, we again just want to check for a Window, so UNWRAP_OBJECT.
2017-07-10 16:05:25 -04:00
Boris Zbarsky c524a4da7c Bug 1371259 part 7. Root the unwrapped object in XPCConvert code. r=mccr8 2017-07-10 16:05:25 -04:00
Boris Zbarsky fa152ffab7 Bug 1371259 part 6. Root the unwrapped object in PRE_HELPER_STUB. r=mccr8 2017-07-10 16:05:25 -04:00
Boris Zbarsky 6761a93bcb Bug 1371259 part 5. Use a safer implementation of IsFileList. r=peterv 2017-07-10 16:05:25 -04:00
Boris Zbarsky 5c76874a46 Bug 1371259 part 3. Change UnwrapObject<> and the UNWRAP_OBJECT macro to allow passing in mutable object or value handles for the thing being unwrapped, and do so at various callsites. r=peterv
I did audit all UNWRAP_OBJECT callers to make sure that the lifetimes of all the
temporary Rooted or the RefPtrs they unwrap into are long enough.
2017-07-10 16:05:24 -04:00
Kris Maglione 06237cc088 Bug 1367896: Include script filename in crash reason. r=shu data-r=bsmedberg
If the scope that we're trying to clone is actually a function script, this
should give us the script URL. If it's not (presumably due to some sort of
data corruption), it should give us a different crash, which should hopefully
give us more information.

MozReview-Commit-ID: Fppi0qt4GJP

--HG--
extra : rebase_source : 52a6b4c79c03f657c007518fec3873bb03fbe0b5
extra : amend_source : 9f79e47bc92170cd713092e1c8b3f4dd5c2ff41b
2017-07-05 18:02:20 -07:00
Jon Coppeard 6fca503292 Bug 1367795 - Use multiple parallel tasks for weak cache sweeping r=sfink 2017-07-10 18:33:20 +01:00
Jon Coppeard 0b761a51d2 Bug 1367795 - Use a single parallel task for weak cache sweeping r=sfink 2017-07-10 18:33:02 +01:00
Jon Coppeard aa387d5c99 Bug 1367795 - Add tests for incremental weak cache sweeping r=sfink 2017-07-10 18:32:40 +01:00
Jon Coppeard da86f951f4 Bug 1367795 - Move weak cache sweeping out of the initial slice for the sweep group r=sfink 2017-07-10 18:32:25 +01:00
Jon Coppeard 9392176f58 Bug 1367795 - Allow movable cell hashing to handle matching against a dead table entry r=sfink 2017-07-10 18:31:41 +01:00
Jon Coppeard c383e59bed Bug 1367795 - Refactor movable cell hashing methods to move them to MovableCellHasher<T> r=sfink 2017-07-10 18:29:55 +01:00
Jon Coppeard eb6ab2cb17 Bug 1367795 - Add barriers to JS::WeakCache for GCHashMap r=sfink 2017-07-10 18:28:07 +01:00
Jon Coppeard 7f6cdb57e8 Bug 1367795 - Add barriers to JS::WeakCache for GCHashSet r=sfink 2017-07-10 18:27:43 +01:00
Jon Coppeard af750debd2 Bug 1367795 - Specialise JS::WeakCache for GCHashMap so we can add barriers r=sfink 2017-07-10 18:25:57 +01:00
Jon Coppeard d59d472223 Bug 1367795 - Specialise JS::WeakCache for GCHashSet so we can add barriers r=sfink 2017-07-10 18:25:40 +01:00
Jon Coppeard 8fbc82a162 Bug 1367795 - Refactor some use of WeakCache r=sfink 2017-07-10 18:24:16 +01:00
Tom Tromey f851475ddd Bug 1119954 - document Debugger.Source.displayURL; r=jimb
MozReview-Commit-ID: 7vlg1DqpFc

--HG--
extra : rebase_source : f8fe524fe54b069e30176ac797b45fab4f8c912d
2017-05-31 13:31:47 -06:00
Jan de Mooij eda21c506e Bug 1115355 - Optimize RegExpObject allocation in Ion. r=evilpie 2017-07-09 11:46:57 +02:00
Andrew McCreight 19c035f60e Bug 1379023, part 4 - Remove mSystemPrincipal fields from mozJSSubScriptLoader and mozJSComponentLoader. r=mrbkap
The lone remaining use is trivial.

MozReview-Commit-ID: Gx0K69ArMJ2

--HG--
extra : rebase_source : ff48484246aeed32f7fa7c03573ba994b097967e
2017-07-07 11:29:48 -07:00
Andrew McCreight 93029d4038 Bug 1379023, part 3 - Make WriteCachedScript assert about the system principal not require the argument. r=mrbkap
MozReview-Commit-ID: FRgjZ32ULqj

--HG--
extra : rebase_source : be20c846efd3a5d5ba52ca1f614a0b40775d5e01
2017-07-07 11:27:53 -07:00
Andrew McCreight ef5af5fdf2 Bug 1379023, part 2 - Remove unused systemPrincipal argument to ReadCachedScript. r=mrbkap
MozReview-Commit-ID: D59LfiHXbXJ

--HG--
extra : rebase_source : 1f09e37f2c6ba7b2b0fa15fcacb932e3f9f8f7ab
2017-07-07 11:14:04 -07:00
Andrew McCreight 6ff67aafc2 Bug 1379023, part 1 - Directly compute if we're compiling in a content compartment in DoLoadSubScriptWithOptions. r=mrbkap
The existing code uses various intermediate objects, but the only
thing they are used for now is to figure out if the compartment we're
in has the system principal or not, so just compute that directly.

MozReview-Commit-ID: FMoWfAX8rGW

--HG--
extra : rebase_source : 385ab0e10a0c719155c48e3822e7844434f417f8
2017-07-06 16:30:44 -07:00
Wes Kocher fd4857585c Merge autoland to central, a=merge
MozReview-Commit-ID: Lf7ROINgvql
2017-07-07 17:22:00 -07:00