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

60605 Коммитов

Автор SHA1 Сообщение Дата
Sylvestre Ledru 5fddbbeb72 Bug 1366497 - disable strict-aliasing for gcc in js/src/gdb & js/src/jsapi-tests r=sfink
MozReview-Commit-ID: HI8yGkXpDXg

--HG--
extra : rebase_source : e727801d5b894f21c6ffa77f721c22078f76b11f
2017-05-20 17:28:20 +02:00
Sebastian Hengst 79f625ac56 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EqC7wKnn6Jt
2017-05-20 18:48:53 +02:00
Steve Fink 38b58864cb Bug 1291954 - Update tsan failures to current set and move SM(tsan) to tier 1, r=jonco
MozReview-Commit-ID: 1q7doyj5vJa

--HG--
extra : rebase_source : d73fbea345b7b19a86201d657885602c31f6b9f8
2017-05-18 15:17:26 -07:00
Shu-yu Guo f9087690d7 Bug 1364608 - Stash rval in AsyncIteratorClose. (r=arai) 2017-05-19 15:48:19 -07:00
Kris Maglione 341bdc643d Bug 1364934: Ignore cached scripts from content processes which were removed in a cache flush. r=erahm
MozReview-Commit-ID: AnmsM3WiZMX

--HG--
extra : rebase_source : 9c240099272cc1546dfe35764f130d5b6356f4e2
2017-05-17 22:55:14 -07:00
Ryan VanderMeulen 9f0c23d7c6 Merge m-c to inbound. a=merge 2017-05-19 12:25:23 -04:00
Ryan VanderMeulen acb2f518fc Merge inbound to m-c. a=merge 2017-05-19 11:46:56 -04:00
Steve Fink 63bc9a3595 Bug 1364288 - Fix thread races on global JS shell vars, r=jonco
MozReview-Commit-ID: HcHf96vJAPP

--HG--
extra : rebase_source : eff483c918d32ad9742722a7b13384c84e1b3c35
2017-05-11 20:00:13 -07:00
Steve Fink 1514d9b219 Bug 1364287 - Move g{Out,Err}FilePtr into ShellContext for thread safety, r=jonco
MozReview-Commit-ID: KNAAL7pRAMG

--HG--
extra : rebase_source : b1febb564d18601769a19c6c73b16cacdeff4fc3
2017-05-12 17:20:48 -07:00
Steve Fink 1ae8052378 Bug 1366085 - Make JSON output use hierarchical names, r=jonco
--HG--
extra : rebase_source : 33a999e29bf9fc9710cb715ef7da12bfb2d81162
2017-05-18 14:16:41 -07:00
Boris Zbarsky a4fdbd6fad Bug 1361125 part 2. Disable Ion fast paths for DOM getters on proxies when the jitinfo indicates the value can live in a slot. r=jandem
We do this for now because the Ion fast paths assume things about whether slots
are fixed or not, and how reserved slot indices map to fixed slot indices, that
are not true for proxies, because they have an extra reserved slot.
2017-05-19 09:24:30 -04:00
Boris Zbarsky 6a4a1b53d0 Bug 1361125 part 1. Add a way to ask a TemporaryTypeSet whether it might contain proxies. r=jandem 2017-05-19 09:24:29 -04:00
Wes Kocher e9b5549946 Merge m-c to autoland a=merge
a=release IGNORE BAD COMMIT MESSAGES
2017-05-19 15:21:13 -07:00
Andi-Bogdan Postelnicu 66a10a7ff6 Bug 1363009 - disable strict-aliasing for gcc in js/src. r=sfink
MozReview-Commit-ID: CsuRwyNNGAc

--HG--
extra : rebase_source : fc4b5816d44596b8e875af1eca2e5a964772d145
2017-05-16 11:37:35 +03:00
Francois Marier 39b6d88744 Bug 1364959 - Clean up Safe Browsing preferences in tests. r=dimi
Remove the forbiddenURI pref which was removed in bug 1274893 as well
as browser.safebrowsing.enabled which got renamed in bug 1025965.

Set dummy URLs for all of the network endpoints.

MozReview-Commit-ID: Efk2fv6cC3g

--HG--
extra : rebase_source : 9fbb3eb0fa7f002fe24577a8a0870ec4d1b7cf31
2017-05-18 16:18:59 -07:00
Wes Kocher 90573b0612 Merge m-c to autoland, a=merge
MozReview-Commit-ID: FYdNNRDmEla
2017-05-18 17:21:30 -07:00
Ravi Shankar 22e28d36ee Bug 1363664 - Add bindings for StyleGridTemplate and nsTArray<nsString>; r=heycam
MozReview-Commit-ID: AsVxzu4SUu9

--HG--
extra : rebase_source : e8650549bd6adb80fde898474e06a3f851982fdb
2017-05-18 23:26:21 +05:30
Mike Hommey 92ba43731c Bug 1365460 - Replace MOZ_MEMORY_DEBUG, MALLOC_DEBUG and !MALLOC_PRODUCTION with MOZ_DEBUG. r=njn
--HG--
extra : rebase_source : eeae81907bb80f78d0ab83343cc514f483d5ddc0
2017-05-18 10:22:20 +09:00
Mike Hommey f10295dbae Bug 1363811 - Replace all uses of delayed_getattr(a, 'b') with a.b. r=cmanchester+432261
And remove delayed_getattr.
2017-05-19 07:03:40 +09:00
Andrew McCreight 21f4802365 Bug 1365417 - mozJSComponentLoader::FindTargetObject() is infallible. r=kmag
MozReview-Commit-ID: Iw4ke16CTKg

--HG--
extra : rebase_source : b2c6f5b0dec1849e1bd814ecdcde78b376ffb8ca
2017-05-16 14:27:50 -07:00
Andrew McCreight f7b4214e05 Bug 1365760 - Fix two tiny issues in mozJSComponentLoader::ImportInto(). r=kmag
MozReview-Commit-ID: 84I37uRi11H

--HG--
extra : rebase_source : 144b88771956c29c5de58e75dd57aab5d6e2dc1f
2017-05-16 15:51:14 -07:00
Wes Kocher 0174ce8ebb Merge inbound to m-c a=merge
MozReview-Commit-ID: AVhTkLAYIv7
2017-05-18 17:13:28 -07:00
Sébastien Marie 9461e33846 Bug 1364547 - Followup to fix build on OpenBSD where size_t is an unsigned long (like OSX). r=jonco 2017-05-18 11:00:00 -04:00
Carsten "Tomcat" Book e5197b271a Merge mozilla-central to autoland 2017-05-18 15:00:43 +02:00
Jon Coppeard ebfe174007 Bug 1365654 - Fix style bustage r=me 2017-05-18 16:47:53 +01:00
Jon Coppeard e85f5ed76c Bug 1365654 - Add a move constructor to HashTable::Enum r=luke 2017-05-18 16:22:00 +01:00
Michelangelo De Simone c6ca6e9675 Bug 1357911 - Baldr: update names section format (r=luke)
MozReview-Commit-ID: 5xIiHiB6ico

--HG--
extra : rebase_source : 23999118a544fbb2b54f346bd499a7c750ee566d
2017-05-18 09:51:02 -05:00
Petr Sumbera 421cbf7a04 Bug 1365620 - Option -rpath-link is not supported by Solaris linker. r=glandium 2017-05-17 08:03:02 -07:00
Yury Delendik f46517ec4c Bug 1362084 - Add binary source and JS source maps support. r=luke
MozReview-Commit-ID: 7WVcaH9ngHL

--HG--
extra : rebase_source : 515e38f7b32df658fcf734c47903f81af14fdddf
2017-05-04 10:39:09 -05:00
Jakob Stoklund Olesen fe9b95a3ca Bug 1366096 - SIMD globals with 8x16 and 16x8 types. r=bbouvier
Add support for asm.js global variables with the following types:

    Int8x16, Bool8x16, Int16x8, Bool16x8.

We already have the needed code generation support, but tests were
missing for these types, and so their types were omitted from some
critical switches.

MozReview-Commit-ID: B4r7VofjlYL

--HG--
extra : rebase_source : 4df72f2296f814a1ea83d6ff93170ed2049f4361
2017-05-19 14:44:53 -07:00
Iris Hsiao 34b5af799e Merge mozilla-central to mozilla-inbound 2017-05-18 14:16:22 +08:00
Iris Hsiao 77020e4e53 merge mozilla-inbound to mozilla-central a=merge 2017-05-18 12:05:45 +08:00
Mike Hommey 6be8089731 Bug 1365788 - Always define NOMINMAX in spidermonkey. r=sfink. a=backout
--HG--
extra : rebase_source : 1c31350716806945c896f62077cf74d3cf31c79e
extra : amend_source : 4e8a0407c52e638ee6fc2a59b5afdde30e6dcf21
2017-05-18 08:13:24 +09:00
Jon Coppeard e26d8d5744 Bug 1361458 - Generate the phase tree for GC statistics recording ahead of time r=sfink 2017-05-17 10:37:18 +01:00
Steve Fink fddeb6a448 Bug 1364547 - Do not report untracked timings for nursery collections, r=jonco
--HG--
extra : rebase_source : d30182c2dc78e129bc8559695c3ff7ab78208065
2017-05-12 12:11:48 -07:00
Steve Fink 2c8f69a305 Bug 1364547 - Tell Gecko whether a slice is a final slice, r=jonco,mccr8
--HG--
extra : rebase_source : ea028988b3515cdc441af8f7c2c1ba0794482494
2017-05-12 16:46:43 -07:00
Steve Fink 51871e1507 Bug 1364547 - Call the slice end callback for every slice, r=jonco
Currently, the final slice of an incremental GC only gets a GC_CYCLE_END callback, not a GC_SLICE_END callback. So if you are doing anything that expects to see all of the slices, you will be missing one.

Simplify the setup so that every GC is bracketed with CYCLE_BEGIN/END, and every slice is bracketed with SLICE_BEGIN/END, treating a nonincremental as a GC with a single slice (which it is for everything else.)

--HG--
extra : rebase_source : 8e21300819d517b3e35de14930f53b3ab737a44e
2017-05-15 08:06:24 -07:00
Steve Fink 496252c685 Bug 1364547 - Add number of slices to major GC summary, r=jonco
--HG--
extra : rebase_source : c7cdf4ef944c4bc227650e6027a59907bbf4fd21
2017-05-12 12:10:56 -07:00
Jim Chen a2dff5ad91 Bug 1360321 - 10. Fix opt build warnings in VIXL; r=me
Fix an unused variable warning for `visitor` because it's only used in
the assertion macro.

Fix several no-return-value errors because the compiler cannot assume
the VIXL_UNREACHABLE() macro is actually unreachable.

r=me for trivial patch.

MozReview-Commit-ID: 13IlMyUsXUN
2017-05-17 13:06:23 -04:00
Sebastian Hengst 0c5a87d59f Backed out changeset 36f2908f6650 (bug 1361458) for crashing [@ js::GCMarker::drainMarkStack], e.g. in devtools' devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemaps.js. r=backout 2017-05-17 12:53:58 +02:00
Carsten "Tomcat" Book 845d4f803d Merge mozilla-central to mozilla-inbound 2017-05-17 12:27:56 +02:00
Carsten "Tomcat" Book 6bd33f52d5 merge mozilla-inbound to mozilla-central a=merge 2017-05-17 11:16:52 +02:00
Jon Coppeard 03c00562c3 Bug 1361458 - Generate the phase tree for GC statistics recording ahead of time r=sfink 2017-05-17 10:37:18 +01:00
Jon Coppeard e7b43f46d6 Bug 1364051 - Make WriteBarrieredBase copy constructor protected r=sfink 2017-05-17 10:07:53 +01:00
André Bargull f2ef984519 Bug 1365387 - Optimize FinishBoundFunctionInit by delaying atomizing the function name. r=till 2017-05-16 13:03:11 -07:00
Boris Zbarsky cba820b01b Bug 1189822 part 2. Remove the DOM proxy expando object hashtable in xpconnect. r=peterv 2017-05-17 00:52:53 -04:00
Thinker K.F. Li 25a2560576 Bug 1364926 - Fix operand type of localno annotated in the comments. r=jandem 2017-05-16 07:56:00 -04:00
André Bargull f87976d623 Bug 1361143 - Enforce lookahead restriction for "async function" in expression statements. r=shu
--HG--
extra : rebase_source : b192181d5f5f89c9895216862770e28d3ac16515
2017-05-02 13:01:09 -07:00
Phil Ringnalda c62e9f1e9d Merge m-c to autoland
MozReview-Commit-ID: 4PrtfU4e6kL
2017-05-21 13:17:22 -07:00
Andrew McCreight 1ed03a415f Bug 989373, part 8 - mLoaderGlobal is always null. r=kmag
This field can be eliminated for now.

MozReview-Commit-ID: 9xyxoTwBfXU

--HG--
extra : rebase_source : e71660452286d383ba9738e7c0f7e09ae134a01e
2017-05-15 15:51:20 -07:00
Andrew McCreight 016441faf0 Bug 989373, part 7 - Add new method to create a loader global. r=kmag
This makes the code a little nicer to read, and means there will be less code churn
if we later add back the ability to share globals.

The holder also gets changed to an actual JS object.

mLoaderGlobal is always null, but the simplification for that will be
made in a later patch.

MozReview-Commit-ID: 7Qg7JSgIxxm

--HG--
extra : rebase_source : 204339b998501c96af35b407ba672a11204956dc
2017-05-15 15:46:13 -07:00
Andrew McCreight 486eb7eb5a Bug 989373, part 6 - Rename |obj| to |thisObj| in PrepareObjectForLocation. r=kmag
The name obj is not very descriptive, and a later patch will add
another object to this method, so rename it to thisObj. thisObj is the
object we set properties on for a particular .jsm. With global
sharing, it will be different than the global.

MozReview-Commit-ID: 9TPqdbXKYXO

--HG--
extra : rebase_source : c1692bb4f2274f957e602d0e469a544ae9a97e6a
2017-05-18 13:18:53 -07:00
Andrew McCreight df181e287e Bug 989373, part 5 - Eliminate |function| from subscript loader. r=kmag
Thanks to the previous patch, we never set any of the function
arguments, so they can be removed, and various code for running
functions can be deleted.

MozReview-Commit-ID: BTIIyDtBPMR

--HG--
extra : rebase_source : 944adf3ac8f1579639e631a478fc286e980972ab
2017-05-17 09:21:54 -07:00
Andrew McCreight 87bdd721ca Bug 989373, part 4 - Remove reuse global flag from subscript loader. r=kmag
FindTargetObject in DoLoadSubScriptWithOptions will always return a
global object, so the boolean values we pass around to determine if a
global was being reused will always be false. The next patch will
eliminate the various |function| arguments that are now unused.

MozReview-Commit-ID: GvPNFGluRub

--HG--
extra : rebase_source : 76a67f5523153a37942c2730388e62125ecf4390
2017-05-15 15:04:45 -07:00
Andrew McCreight 07e8c20289 Bug 989373, part 3 - |function| is always null in ObjectForLocation. r=kmag
With the changes in part 1, the local variable |function| is always
null in ObjectForLocation, which lets me remove a lot of dead
code. Additionally, in the second half of the function we know that
|script| is always non-null, because we return with a failure before
then if it isn't null.

In addition, with these changes WriteCachedFunction is no longer
called, so I removed it.

MozReview-Commit-ID: 60hEPi8S3H4

--HG--
extra : rebase_source : 69ea6110fb85d02d2f1c72c5675014aeebb2dee5
2017-05-15 15:00:46 -07:00
Andrew McCreight bcb1ad469b Bug 989373, part 2 - Remove unused JS API methods related to global sharing while compiling to functions. r=shu
These functions are only needed for B2G-style global sharing, which is
based getting |this| as the special JSM object by compiling .jsms are
functions.

I left in place the comments relating this sharing because we may
still reuse that machinery.

MozReview-Commit-ID: IBBW5P70TQm

--HG--
extra : rebase_source : 60cdf549db737ab8dac81c7f48ff7287639a851d
2017-05-15 14:39:52 -07:00
Andrew McCreight 05d8bb3c65 Bug 989373, part 1 - Remove pref for reusing globals with JSMs. r=kmag
Removing support for this preference means that mReuseLoaderGlobal
will always be false, which lets us eliminate that field, and remove a
lot of code.

This also means that false is always passed to
PrepareObjectForLocation for aReuseLoaderGlobal.

ReadCachedFunction is no longer used, so it is deleted.

MozReview-Commit-ID: 5JD24EYVcQf

--HG--
extra : rebase_source : 3b23b4b8d2b1a2f6a53223477afb4cb13b8a671c
2017-05-15 14:33:21 -07:00
cku 5e40c4609b Bug 1310885 - Part 11. (gecko) Clean up unused things. r=heycam
MozReview-Commit-ID: CxHbNyVNSz8

--HG--
extra : rebase_source : c9b3600e31023d79736f4df871ed741c37b1647f
extra : intermediate-source : d650a2abb555fb2bed3d832bc8f007ec7909c99e
extra : source : 33e2a248ed4da28bba3b0e4b745e3d894c68ed4d
2017-04-28 19:47:04 +08:00
Steve Fink ea2155c823 Bug 1347750 - Generate old-style DWARF info for fuzzing builds, r=glandium
--HG--
extra : rebase_source : 09f7640bd23155027cb8a8326558c59f24161885
2017-05-10 12:12:06 -07:00
André Bargull 7a7d850eb6 Bug 1360220 - Replace emitRequireObjectCoercible with JSOP_CHECKOBJCOERCIBLE. r=shu
--HG--
extra : rebase_source : cef0f46847a0aded63dbbcdfa497dc9b5a7d5259
2017-04-27 09:24:08 -07:00
Carsten "Tomcat" Book e83697008e merge mozilla-inbound to mozilla-central a=merge 2017-05-16 15:04:38 +02:00
Mike Hommey 782725e19a Bug 1363992 - Remove jemalloc 4. r=njn
--HG--
extra : rebase_source : 9794320e96279cbb8b7b66db6720c959eaa6a95b
2017-05-11 13:23:07 +09:00
Mike Hommey 02a06f7958 Bug 1363992 - Remove support for making jemalloc4 the default. r=njn
--HG--
extra : rebase_source : 77e1c13aa329637d0ec875439d572ee06e6919fa
2017-05-11 13:16:00 +09:00
André Bargull 8d75de07fc Bug 1359575 - Report SyntaxError if GeneratorDeclaration/AsyncFunctionDeclaration is redeclared in block-scope. r=shu
--HG--
extra : rebase_source : 900809d2faa5e3eabc1bbdf108e85cedc604257d
2017-05-15 12:08:59 -07:00
Luke Wagner cd63304f36 Bug 1364615 - Baldr: remove bytecode from wasm::Code (r=lth)
MozReview-Commit-ID: 10FncpKzcFR
2017-05-15 14:30:21 -05:00
Luke Wagner 81dc873c58 Bug 1364615 - Baldr: remove MaxWasmCodeAllocations (r=jandem)
MozReview-Commit-ID: 2X9R8dhDoPr
2017-05-15 14:27:10 -05:00
Luke Wagner dfe2dee7ef Bug 1364615 - Baldr: remove unlinkedBytesForDebugging (r=lth)
MozReview-Commit-ID: BIizDn89igc
2017-05-15 14:27:10 -05:00
Luke Wagner 77415b69b2 Bug 1364615 - Baldr: use UniquePtr to own code (r=lth)
MozReview-Commit-ID: 9WJ36B3gR6k
2017-05-15 14:27:10 -05:00
André Bargull 58665203ca Bug 1362753 - Part 3: Use CallSelfHostedFunction to call ArraySpeciesCreate. r=till
--HG--
extra : rebase_source : a5f2f6c48c5181f97501af212489e4256b255da5
extra : amend_source : 533b8c852ceab743c602299d58ee53115c4ee0be
2017-05-15 07:57:30 -07:00
André Bargull 0c4af1fb9f Bug 1362753 - Part 2: Take Array.prototype.slice/splice fast paths in more cases. r=jandem
--HG--
extra : rebase_source : 6f916180647f21b1d43538492375f63fbf49cace
2017-05-15 07:46:26 -07:00
André Bargull 5b4ad1140e Bug 1362753 - Part 1: Use array species fast path in Array.p.slice/splice when input argument isn't an array. r=jandem
--HG--
extra : rebase_source : 6619cf51db1ab7d7feec95f49ea7310bcfe72a4d
2017-05-15 05:49:11 -07:00
André Bargull 1f7b56a7b8 Bug 924058 - Part 6: Update test cases to expect ToLength conversion in array methods. r=jandem
--HG--
extra : rebase_source : b6eaebe8c66bef4fa9eee9e473fe19f50b27895f
2017-05-15 05:24:04 -07:00
André Bargull bcf4ccd7ad Bug 924058 - Part 5: Update Array.prototype.splice to use uint64 length values. r=jandem
--HG--
extra : rebase_source : 8aff8e64636e32dd3c807edc7b3bfa14f16a030f
2017-05-15 05:23:54 -07:00
André Bargull d327713f01 Bug 924058 - Part 4: Update Array.prototype.slice to use uint64 length values. r=jandem
--HG--
extra : rebase_source : 537c83d0019b1cfcb6f7b4fad9449377331f252b
2017-05-15 05:23:46 -07:00
André Bargull 00ab66e6d1 Bug 924058 - Part 3: Update simple methods to use uint64 length values. r=jandem
--HG--
extra : rebase_source : 8a2651c541b43446fcf76e59ffa4a4becdb87748
2017-05-15 05:23:38 -07:00
André Bargull dbff2b94da Bug 924058 - Part 2: Add new property operations to work on uint64 indices. r=jandem
--HG--
extra : rebase_source : e30192465e1de2884379571abef31f8be1e4ef21
2017-05-15 05:23:29 -07:00
André Bargull 41cffedfc5 Bug 924058 - Part 1: Use uint64 instead of double for large indices in Array.prototype methods. r=jandem
--HG--
extra : rebase_source : b96b4b26351a8ffe222340614702688ca29bda0b
2017-05-15 05:23:04 -07:00
Steve Fink 828107d250 Bug 1364442 - Remove more locale-sensitive JSON output paths, r=jonco
MozReview-Commit-ID: 1k3DIXGAW8s

--HG--
extra : rebase_source : a50000c988778bff7781fe89dcc52a8b8e9bbb08
2017-05-12 09:04:59 -07:00
Andrew McCreight 6d13ed70db Bug 1363555 - Make IS_TEAROFF_CLASS into a function. r=mrbkap
Right now, it is a macro, which causes a warning with clang about
extraneous parentheses. Turning it into a function fixes that and is
also nicer.

MozReview-Commit-ID: KTPA9b6oeUu

--HG--
extra : rebase_source : ae063db5a4b5b14bc4a3a8f64adbbecfc897edd9
2017-05-09 15:34:02 -07:00
Andrew McCreight f8742e48d2 Bug 1363544 - Call into nsXPConnect directly in the loader and XPCShellImpl. r=mrbkap
MozReview-Commit-ID: 7ZnHdAG1Jmk

--HG--
extra : rebase_source : ff79438edb136ba0e4127173608d605793e7e3b7
2017-05-09 14:08:15 -07:00
Xidorn Quan 1d6d79ddd2 Bug 1363699 followup - Update hazard analysis whitelist.
MozReview-Commit-ID: B6nVWkeGZgD

--HG--
extra : source : e933dffa72c2f284d328feba7e73f4db845bf4bd
2017-05-15 15:14:23 +10:00
André Bargull b15be5df38 Bug 1366372 - Remove performance pitfalls in Array.from method. r=evilpie
--HG--
extra : rebase_source : cba2af2c7a172ddfe119a2c2fbe0f2502cf332ef
2017-05-19 12:46:43 -07:00
Ted Campbell 8dd2f97456 Bug 1365769 - MToString should bailout on Symbols r=jandem
MozReview-Commit-ID: ECKpiSLNkcX

--HG--
extra : rebase_source : 3491eea8ce02af54cae1d338fefa6bda62d1ab33
2017-05-18 13:51:33 -04:00
Sebastian Hengst 484d2b7f51 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Jduo3F6TzgF
2017-05-14 18:04:29 +02:00
Kris Maglione 51f7df2898 Bug 1361900: Part 11 - Make sure new cache file is closed before renaming on Windows. r=me
MozReview-Commit-ID: KpJpId6eULt

--HG--
extra : rebase_source : c8552d69195d353b3ca6302cff03e5641ac49c07
2017-05-13 22:55:34 -07:00
Kris Maglione 3bc458e421 Bug 1361900: Part 10 - Replace linked lists with a single hashtable. r=erahm
MozReview-Commit-ID: 3qXnswsP6Z0

--HG--
extra : rebase_source : 289775a1e6ac452081fb2ec80346f803a51710c5
extra : source : 75b28187fa5ed70fafdd30565a12584b301b9104
2017-05-13 22:43:08 -07:00
Kris Maglione a09d901e45 Bug 1361900: Part 9 - Sort scripts by initial load time before saving. r=erahm
MozReview-Commit-ID: 54UN2DVK4xM

--HG--
extra : rebase_source : 034c0020678d04d6087e3a40ab76499958ac748c
extra : source : 2a48f8b743d158bc744a776bd939c80a242e1446
2017-05-13 14:08:42 -07:00
Hiroyuki Ikezoe cbcc8022b4 Bug 1354947 - Drop Gecko_AnimationAppendKeyframe. r=birtles
MozReview-Commit-ID: 9B9TjkJ5CxO

--HG--
extra : rebase_source : 1930b77481e1f3be46a2bf4750445e4f72292d15
2017-05-13 16:34:38 +09:00
Hiroyuki Ikezoe c115978360 Bug 1354947 - Fill in missing keyframe values. r=birtles
This is mostly a mimic of what we do in
GeckoCSSAnimationBuilder::FillInMissingKeyframeValues().

In Gecko we iterate over the properties just once because we can take the
index for both the synthesized start and end keyframe and easily look them up
as needed. However, in this patch we synthesize the start and end keyframes
separately and iterate over the properties twice because that's easier than
getting two indices and then later calling another FFI to dereference each of
them, and neater than getting back two pointers

MozReview-Commit-ID: 1e0R9AKzgaG

--HG--
extra : rebase_source : a37c406480c2d0ce2b8c4d4ad804622cac2083fa
2017-05-13 16:34:38 +09:00
Hiroyuki Ikezoe 8fd511dac1 Bug 1354947 - Merge keyframe values at the same offset and of the same timing function. r=birtles
MozReview-Commit-ID: 4BTYAGjFb3V

--HG--
extra : rebase_source : 6c49d3bf381b71ce8e9a161e50c3f357356e551c
2017-05-13 16:34:38 +09:00
Kris Maglione 24826fb52a Bug 1361900: Part 7 - Use the script preloader in content processes in subscript and component loaders. r=mccr8
MozReview-Commit-ID: 4b5XwORYlAz

--HG--
extra : rebase_source : 4e7f20d0fdd3fd45184b3185fac818bf9c032344
extra : source : 3c716b3b45417e45100d5480241921f44c601270
2017-04-30 21:53:49 -07:00
Kris Maglione 589a82d7ba Bug 1361900: Part 6 - Add content process support for the script preloader. r=erahm,gabor
MozReview-Commit-ID: 6hDQAI52bKC

--HG--
extra : rebase_source : 46e8d5ed5965e483fa4b0bd8f6f4403e0bb771dc
extra : source : 4227bcda00babd2d5980dca3b42cb4b467da38c4
2017-05-02 17:17:52 -07:00
Kris Maglione e3992a28fd Bug 1361900: Part 5 - Add support for IPC FileDescriptors to AutoMemMap. r=erahm
MozReview-Commit-ID: 3HBuKLVNdWT

--HG--
extra : rebase_source : d1edbec1294e41f645c0515a523cf3df5e90af21
extra : source : 540ecb4c1f0fc25725375c7cc5a399a1d2bea5fe
2017-04-30 22:54:00 -07:00
Kris Maglione fc0586811d Bug 1361900: Part 4 - Use a separate script cache for scripts loaded in the child process. r=erahm,gabor
MozReview-Commit-ID: EIdwmuTOl90

--HG--
extra : rebase_source : d2f6ba18a03cb54459e98b9d2ff03bc3d9567e83
extra : source : ad243db647c708b74859d73e8787b5b34897c140
2017-05-09 19:52:17 -07:00
Kris Maglione 10c8448c1a Bug 1361900: Part 3 - Add a helper script to decode and inspect script cache data. r=erahm
MozReview-Commit-ID: DOj7X46NaZ5

--HG--
extra : rebase_source : a937fb12c287861c2a2487ca4254050195a16a4d
extra : source : bd55bd27bb1e55e44fbe76786993b1657c2af944
2017-04-30 13:00:55 -07:00
Kris Maglione a8eba3c140 Bug 1361900: Part 2 - Add process types field to cached script data. r=erahm
MozReview-Commit-ID: Gvh672XD0ar

--HG--
extra : rebase_source : 4391f60ab8f1eaa3df646f7acbc2652be2487f0c
extra : source : 39ffa8a7801a7807a1097ea2c9290c772cd54a9b
2017-05-03 17:21:31 -07:00
Sebastian Hengst 0bc683dcda Backed out changeset 39ffa8a7801a (bug 1361900) 2017-05-13 18:53:50 +02:00
Sebastian Hengst 20ecaf5c4c Backed out changeset bd55bd27bb1e (bug 1361900) 2017-05-13 18:53:45 +02:00
Sebastian Hengst e1ddae17f8 Backed out changeset ad243db647c7 (bug 1361900) 2017-05-13 18:53:40 +02:00
Sebastian Hengst 185936c593 Backed out changeset 540ecb4c1f0f (bug 1361900) 2017-05-13 18:53:35 +02:00
Sebastian Hengst 0f6e08c578 Backed out changeset 4227bcda00ba (bug 1361900) 2017-05-13 18:53:30 +02:00
Sebastian Hengst aa75233439 Backed out changeset 3c716b3b4541 (bug 1361900) 2017-05-13 18:53:25 +02:00
Sebastian Hengst f2d93e36db Backed out changeset 2a48f8b743d1 (bug 1361900) 2017-05-13 18:53:15 +02:00
Sebastian Hengst b5071f569a Backed out changeset 75b28187fa5e (bug 1361900) 2017-05-13 18:53:10 +02:00
Sebastian Hengst 68e5b1d383 Backed out changeset 9795dacd97e1 (bug 1361900) 2017-05-13 18:52:53 +02:00
Sebastian Hengst 9c58d83d6f Backed out changeset 8d47499f43b3 (bug 1361900) 2017-05-13 18:52:48 +02:00
Sebastian Hengst f8b2c3d68c Backed out changeset 0b38ac21c7a5 (bug 1361900) 2017-05-13 18:52:25 +02:00
Sebastian Hengst 1e386fe967 Backed out changeset 23dc7b443bb0 (bug 1361900) 2017-05-13 18:51:57 +02:00
Jan de Mooij dcafc48cf0 Bug 1363054 part 2 - Remove some shared stubs code that's no longer needed. r=tcampbell 2017-05-09 14:04:10 +02:00
Jan de Mooij 59938d22e8 Bug 1363054 part 1 - Remove redundant addMonitorStubForValue calls. r=tcampbell 2017-05-09 14:03:44 +02:00
cku 4877f8d094 Bug 1310885 - Part 3. (gecko) Create a new API to receive cached ImageValue from stylo.
This patch implement several things:
1. Implement a new constructor for nsStyleImageRequest to receive an existing
   ImageValue from the caller.
2. Implement Gecko_ImageValue_Create to allow stylo to create a gecko::ImageValue
   object.
3. Implement Gecko_SetXXXXImageValue to allow stylo to pass a created ImageValue
   back to gecko.

MozReview-Commit-ID: 1SbW5w8FSV2

--HG--
extra : source : 63777ecf4c7138a0ce5847753a41efcbfc8e2b20
extra : intermediate-source : dced488c119da7e3ae27c903c0dcc76593d8a06d
2017-05-02 16:20:01 +08:00
Kris Maglione 8d9a00892f Bug 1361900: Fix one last merge botch, and fix a false rooting hazard warning.
MozReview-Commit-ID: JpKYYEBpbQj

--HG--
extra : rebase_source : 5bbb462ed3255c631cc1c280359af8c9c2224239
extra : histedit_source : 444c4c02eb1a3ced85cef09f7b7a6e7f5b9235b5%2Cb16ca4316a1aabf5e5c1b8641a0e1818d815da76
2017-05-12 18:14:12 -07:00
Kris Maglione 40bbc14054 Bug 1361900: Follow-up: Fix order of execution issue. r=me
MozReview-Commit-ID: DcmTlzxskUj
2017-05-12 15:46:34 -07:00
Kris Maglione 26511894d2 Bug 1361900: Follow-up: Fix another rebase botch. r=me
MozReview-Commit-ID: BuvkimQCRDP
2017-05-12 15:17:25 -07:00
Kris Maglione 53cf532feb Bug 1361900: Follow-up: Fix rebase botch. r=me
MozReview-Commit-ID: 3KIbvGYhnlG
2017-05-12 14:59:34 -07:00
Kris Maglione a4e4191399 Bug 1356826: Part 4 - Add Cu.isInAutomation and Cu.crashIfNotInAutomation helpers. r=bholley
MozReview-Commit-ID: ADqVqF2XraG

--HG--
extra : rebase_source : 5b4ff1ceb7f3123f585559a954e59291c91e5554
extra : source : c46fed6e4f6a928df2b06fca6b3f004fd4bb0cc7
2017-04-15 14:23:58 -07:00
Kris Maglione 23518f0244 Bug 1361900: Part 10 - Replace linked lists with a single hashtable. r=erahm
MozReview-Commit-ID: 3qXnswsP6Z0

--HG--
extra : rebase_source : 1edbf92171003d9ad2c4cfebabbb8a1d7f2d4e24
2017-05-03 16:57:31 -07:00
Kris Maglione 220b0239c3 Bug 1361900: Part 9 - Sort scripts by initial load time before saving. r=erahm
MozReview-Commit-ID: 54UN2DVK4xM

--HG--
extra : rebase_source : f7cb39eb05bb86a03a17b97cbe2cb9d8dd1008fe
2017-05-01 14:12:01 -07:00
Kris Maglione 4948d82519 Bug 1361900: Part 7 - Use the script preloader in content processes in subscript and component loaders. r=mccr8
MozReview-Commit-ID: 4b5XwORYlAz

--HG--
extra : rebase_source : a43936bc2eaaa87c24cc8933e54e99a9386e12e3
2017-04-30 21:53:49 -07:00
Kris Maglione 2a49ee963d Bug 1361900: Part 6 - Add content process support for the script preloader. r=erahm,gabor
MozReview-Commit-ID: 6hDQAI52bKC

--HG--
extra : rebase_source : a7a32c6ebca0ce1b6449030e33656a9d416e910e
2017-05-02 17:17:52 -07:00
Kris Maglione d3eae9806f Bug 1361900: Part 5 - Add support for IPC FileDescriptors to AutoMemMap. r=erahm
MozReview-Commit-ID: 3HBuKLVNdWT

--HG--
extra : rebase_source : b5c331223808810c0dceeafccbbf7a2de7d98bc4
2017-04-30 22:54:00 -07:00
Kris Maglione 34e20a0617 Bug 1361900: Part 4 - Use a separate script cache for scripts loaded in the child process. r=erahm,gabor
MozReview-Commit-ID: EIdwmuTOl90

--HG--
extra : rebase_source : bce9efcd7b97c281bf4e17e30eed31e6e93c614a
2017-05-09 19:52:17 -07:00
Kris Maglione c0f737d8d9 Bug 1361900: Part 3 - Add a helper script to decode and inspect script cache data. r=erahm
MozReview-Commit-ID: DOj7X46NaZ5

--HG--
extra : rebase_source : f974fa6dc5cf0316b463bc7d1c7f6cd4478c4b59
2017-04-30 13:00:55 -07:00
Kris Maglione 4b6d93f595 Bug 1361900: Part 2 - Add process types field to cached script data. r=erahm
MozReview-Commit-ID: Gvh672XD0ar

--HG--
extra : rebase_source : 022d4a8d3116ae1817189d1f03c3180087997487
2017-05-03 17:21:31 -07:00
Ryan VanderMeulen bda1298f43 Merge m-c to autoland. a=merge
CLOSED TREE
2017-05-24 16:34:01 -04:00
Andrew McCreight 1471488de6 Bug 1367521 - Fix misspellings of "delegate". r=dholbert
MozReview-Commit-ID: KqOnp8rpCZD

--HG--
extra : rebase_source : 90bf8965737a1e808a5d2305ad395bdc99102cd1
2017-05-24 10:43:11 -07:00
Ryan VanderMeulen 38a48a48ce Backed out 4 changesets (bug 816784) for intermittent GC crashes.
Backed out changeset 9a553b9dc922 (bug 816784)
Backed out changeset ac4a48a831ce (bug 816784)
Backed out changeset e80197b11567 (bug 816784)
Backed out changeset 7e8f428a3edf (bug 816784)
2017-05-24 12:07:07 -04:00
Ting-Yu Chou a9760d2cbe Bug 816784 part 4 - Fix the rooting hazards that the analysis report. r=sfink
WrapperMap::Enum::goToNext() is listed as a GC function because the *generated*
stack calls BrowserCompartmentMatcher::match() which leads a path to a FieldCall
of nsISupports.QueryInterface, however it is never the case. Add
nsContentUtils::IsExpandedPrincipal() to the ignore functions because it is more
narrowly scoped and therefore less likely to hide problems.



MozReview-Commit-ID: ACwkMtRiQk2

--HG--
extra : rebase_source : 2cadcc9f59096b4e5f693f39e2cab93da048f949
2017-05-23 11:45:17 +08:00
Ting-Yu Chou 13ae780706 Bug 816784 part 3 - Optimize the other places that iterate CCWs. r=jonco
The wrappers for strings have target compartment nullptr, which are stored
separately with the other wrappers, so we can simply skip or target them.

MozReview-Commit-ID: CEgU3q7cnmB

--HG--
extra : rebase_source : 10216b58189aa7c9878dc02596e67a296f7bfbdc
2017-05-04 17:46:43 +08:00
Ting-Yu Chou 6d83ca4000 Bug 816784 part 2 - Optimize NukeCrossCompartmentWrappers() to iterate only the targetting wrappers. r=jonco
Changed the type of argument |targetFilter| of NukeCrossCompartmentWrappers()
from CompartmentFilter to JSCompartment* because it is always a single target
compartment, and we can optimize the iteration not to iterate the outer map.

MozReview-Commit-ID: 7cDCgJI0H9z

--HG--
extra : rebase_source : 4973dfd4c3326bf48b78088979962e425e35030c
2017-05-03 13:56:54 +08:00
Ting-Yu Chou d1636adfe5 Bug 816784 part 1 - Use a 2d hashmap to store cross compartment wrappers. r=jonco
Now we use a flat hashmap to store CCWs, which when we want to nuke wrappers to
a target compartment, we need to iterate every single one to find them. But if
we use a 2d hashmap to store CCWs by their target compartment, we can walk
through only the wrappers that we're targeting.

MozReview-Commit-ID: 8h6wO6NLkD9

--HG--
extra : rebase_source : f6550be07979d94ba937aa5f6ac629a98df7aa44
2017-05-03 14:07:38 +08:00
Manish Goregaokar bf23cb1d19 Bug 1362599 - Guard against threadsafety issues in lang group stuff. r=heycam 2017-05-20 21:44:37 +02:00
Sebastian Hengst af0f9643cf merge mozilla-central to autoland. r=merge a=merge 2017-05-20 18:53:36 +02:00
Boris Chiou 3ae8dacbdf Bug 1334036 - Part 9: Add one FFI which return None transform. r=emilio
This FFI is used by Servo_AnimationValue_GetTransform(), which needs to
handle and return none transform properly.

MozReview-Commit-ID: 49cFXE2BIbm

--HG--
extra : rebase_source : 9def5e92dc6c0b60c2fb412228a50d7e2f5eb722
2017-05-19 16:09:45 +08:00
Boris Chiou 1e2c865691 Bug 1334036 - Part 5: Implement FFI for finding properties overriding animations. r=birtles,emilio
We need to traverse rule tree to get the important rules, so we will not
override them if they have animations running on compositor.

MozReview-Commit-ID: 67NO2nIcUfq

--HG--
extra : rebase_source : 24a4ea4ca10e00f409d94c81acacb3db72248b3f
2017-05-19 15:58:47 +08:00
Chris H-C 7a3995e709 bug 1364503 - Allow GC/CC MAX_PAUSE collection in opt-out r=bsmedberg,mccr8
While we're here, also align their buckets and give them bug_numbers fields.

To change buckets for GC_MAX_PAUSE_MS we need to rename to _2. Because of
GC_MAX_PAUSE_MS' use as a historical perf metric, we need to leave it in-place
for now.

MozReview-Commit-ID: Cffo3q1pR5E

--HG--
extra : rebase_source : 9843ca718dea8694be8029530a0f8646352c5b37
2017-05-19 16:12:24 -04:00
Ting-Yu Chou d12f2af318 Bug 816784 part 4 - Fix the rooting hazards that the analysis report. r=sfink
WrapperMap::Enum::goToNext() is listed as a GC function because the *generated*
stack calls BrowserCompartmentMatcher::match() which leads a path to a FieldCall
of nsISupports.QueryInterface, however it is never the case. Add
nsContentUtils::IsExpandedPrincipal() to the ignore functions because it is more
narrowly scoped and therefore less likely to hide problems.



MozReview-Commit-ID: ACwkMtRiQk2

--HG--
extra : rebase_source : f4222495676f80cc74a5d38e9440cdc7a9ec0791
extra : source : 9a553b9dc92286434644838c41e8513f943f2c25
2017-05-23 11:45:17 +08:00
Ting-Yu Chou 37179cadb3 Bug 816784 part 3 - Optimize the other places that iterate CCWs. r=jonco
The wrappers for strings have target compartment nullptr, which are stored
separately with the other wrappers, so we can simply skip or target them.

MozReview-Commit-ID: CEgU3q7cnmB

--HG--
extra : rebase_source : d93752bf1d10c0f2dd4453ec6f96ee718b65e224
extra : source : ac4a48a831ce289295ca989fc5119611d8560ec1
2017-05-04 17:46:43 +08:00
Ting-Yu Chou e11749eeba Bug 816784 part 2 - Optimize NukeCrossCompartmentWrappers() to iterate only the targetting wrappers. r=jonco
Changed the type of argument |targetFilter| of NukeCrossCompartmentWrappers()
from CompartmentFilter to JSCompartment* because it is always a single target
compartment, and we can optimize the iteration not to iterate the outer map.

MozReview-Commit-ID: 7cDCgJI0H9z

--HG--
extra : rebase_source : ee9341168a28b5e6f273c512b0562ee4ddc297bc
extra : source : e80197b115673f259293d112da61c8dd9edc121e
2017-05-03 13:56:54 +08:00
Ting-Yu Chou 5fe0cca12d Bug 816784 part 1 - Use a 2d hashmap to store cross compartment wrappers. r=jonco
Now we use a flat hashmap to store CCWs, which when we want to nuke wrappers to
a target compartment, we need to iterate every single one to find them. But if
we use a 2d hashmap to store CCWs by their target compartment, we can walk
through only the wrappers that we're targeting.

MozReview-Commit-ID: 8h6wO6NLkD9

--HG--
extra : rebase_source : 1bdbf3642e86ee25999fc7a4d2bec062d2efaac0
extra : source : 7e8f428a3edf506fc53bda26eacc2b64641f8346
2017-05-03 14:07:38 +08:00
Mike Hommey c617726cfa Bug 1364613 - Disable replace-malloc on hazard builds. r=sfink
This avoids some known hazard from replace-malloc itself, and unhides
--disable-replace-malloc hazards if there are any (and there is one from
bug 1361258), which wouldn't be caught until riding trains
(replace-malloc being only enabled on nightly).

The hazard from bug 1361258 that disappears is this one:
  Error: Indirect call malloc_hook_table_t.jemalloc_thread_local_arena_hook
  Location: replace_jemalloc_thread_local_arena @memory/replace/replace/ReplaceMalloc.cpp#261
  Stack Trace:
  jemalloc_thread_local_arena @ memory/build/replace_malloc.c#287
  Gecko_SetJemallocThreadLocalArena @ layout/style/ServoBindings.cpp#2062

The new hazard from that bug is:
  Error: Variable assignment jemalloc.c:arenas_map
  Location: jemalloc_thread_local_arena @memory/mozjemalloc/jemalloc.c#3068
  Stack Trace:
  Gecko_SetJemallocThreadLocalArena @ layout/style/ServoBindings.cpp#2048

Where arenas_map is a thread-local variable, so there really is no
hazard.

--HG--
extra : rebase_source : bea3d2f862ede8c0b90775b6ec9cebb657b9b455
2017-05-16 08:20:46 +09:00
Sean Stangl 138ff090a8 Bug 1299147 - Split double MoveOperands that conflict with floats. r=jandem 2017-05-04 15:39:52 -07:00
Jakob Stoklund Olesen e4dd648a6d Bug 1364215 - Use pmovmskb for allTrue and anyTrue. r=bbouvier
The movmskps SSE instruction only transfers 4 bits from the xmm
register. This work for Bool32x4 and Bool64x2 vectors, but it misses
lanes of the Bool16x8 and Bool8x16 types.

Use a pmovmskb SSE2 instruction instead which transfers 16 byte sign
bits from the xmm register. This lets us resolve even Bool8x16 lanes
correctly.

We know that the input vector is a boolean type, so each lane is known
to be either 0 or -1. There is no harm in checking too many bits of the
types with lanes wider than 8 bits. It won't affect the result.
2017-05-12 13:26:01 -07:00
Carsten "Tomcat" Book 7a4eb50360 merge mozilla-inbound to mozilla-central a=merge 2017-05-12 14:36:44 +02:00
Iris Hsiao 6559420d58 Backed out 15 changesets (bug 1358846, bug 1356826) for talos error. a=backout
Backed out changeset 96ea13bb00c5 (bug 1358846)
Backed out changeset b533d7f9b9c2 (bug 1358846)
Backed out changeset 7dcb80a051a3 (bug 1358846)
Backed out changeset 26825f1e33dd (bug 1358846)
Backed out changeset 98b57ff82a54 (bug 1358846)
Backed out changeset b9088593e34f (bug 1358846)
Backed out changeset cb2518673c56 (bug 1358846)
Backed out changeset 889c487a5d41 (bug 1358846)
Backed out changeset 459b36092b7a (bug 1356826)
Backed out changeset c861e23ec8ef (bug 1356826)
Backed out changeset d47998fa24cd (bug 1356826)
Backed out changeset b02e89c67132 (bug 1356826)
Backed out changeset c46fed6e4f6a (bug 1356826)
Backed out changeset 237268e3d9d2 (bug 1356826)
Backed out changeset 527435fc20db (bug 1356826)
2017-05-12 17:45:21 +08:00
Mike Hommey 6277defd95 Bug 1361258 - Add a hazard exception for Gecko_SetJemallocThreadLocalArena. r=me 2017-05-12 18:12:07 +09:00
Jan de Mooij 652857ca5b Bug 1364014 - Remove unnecessary is-array check in GCMarker::restoreValueArray. r=jonco 2017-05-12 09:46:21 +02:00
Ting-Yu Chou fd6af522f6 Bug 1363956 - Check the flag before calling relatively expensive IsWindowProxy(). r=bz
Check the stopAtWindowProxy flag before checking IsWindowProxy(), since the flag
check is cheaper and in performance-sensitive binding code the flag is false.

MozReview-Commit-ID: 8R4tElYBXaI

--HG--
extra : rebase_source : 78d7942c3269b3d0016815a71099b4ec59587c8a
2017-05-11 11:29:34 +08:00
Jan de Mooij 7effa6b8fe Bug 1348772 - Optimize Array.prototype.shift to have O(1) perf instead of O(n). r=jonco
JS code often uses arrays as queues, with a loop to shift() all items, and this resulted in quadratic behavior for us. That kind of code is much faster now.
2017-05-11 17:12:39 +02:00
Nicolas B. Pierron 5c420a509e Bug 1347120 - XDR: Do not assert if the failure code is already set as to 'Throw' when there is a pending exception. r=shu 2017-05-11 13:25:20 +00:00
Nicolas B. Pierron 2a6927dcfd Bug 1342328 - IonMonkey dce-with-rinstructions.js test: Prevent compilation of the top-level loop. r=tcampbell 2017-05-11 12:47:23 +00:00
Till Schneidereit 29431d1f42 Bug 1363758 - Don't use a dummy function for internally-create Promise in wasm compilation/instantiation. r=bbouvier
PromiseObject now has a createSkippingExecutor function that avoids the need for a dummy executor for internally created promises.

MozReview-Commit-ID: IEzNwMYSdde
2017-05-11 14:43:23 +02:00
Till Schneidereit be699bc7bf Bug 1357958 - Move the JS shell's Promise job handling into the engine to be used as a default implementation. r=jandem
The shell has a very basic implementation of Promise job queue handling. This patch moves it into the engine, exposed through friendapi functions. The motivation is that I want to write JSAPI tests for streams, which requires Promise handling. The test harness would need essentially a copy of the shell's Promise handling, which isn't nice.

To be clear, the default implementation isn't used automatically: the embedding has to explicitly request it using js::UseInternalJobQueues.

MozReview-Commit-ID: 6bZ5VG5mJKV
2017-05-11 14:43:22 +02:00
Wes Kocher 02bf8c4425 Merge m-c to inbound, a=merge
MozReview-Commit-ID: FfNikA7un6F
2017-05-10 17:31:18 -07:00
Wes Kocher 1b5ad2c128 Merge inbound to central, a=merge
MozReview-Commit-ID: DfRZi0gKjit
2017-05-10 16:48:03 -07:00
Sebastian Hengst 67fb8912b0 Backed out changeset 502f442198b6 (bug 1360248) for build bustage in WasmSignalHandlers.cpp, at least on Windows 2012. r=backout on a CLOSED TREE 2017-05-10 20:22:11 +02:00
Sebastian Hengst e6d07c36b9 Backed out changeset 5b0d8eb9dc56 (bug 1360248) 2017-05-10 20:21:37 +02:00
Sebastian Hengst 86c890c430 Backed out changeset 20f376c71c88 (bug 1360248) 2017-05-10 20:21:32 +02:00
Sebastian Hengst aa90d097a7 Backed out changeset 3e087957c2c6 (bug 1360254) 2017-05-10 20:21:27 +02:00
Luke Wagner f6aa6a7019 Bug 1360254 - Baldr: remove JSContext::wasmActivationStack (r=bbouvier)
MozReview-Commit-ID: Ftzs7mTUzWN

--HG--
extra : rebase_source : f528f33a1bcf94c11dc7e721c68f3301a5f29cbf
2017-05-10 12:29:15 -05:00
Luke Wagner a554e5062f Bug 1360248 - Baldr: use wasm::Frame* type for fp instead of void* (r=bbouvier)
MozReview-Commit-ID: K88WK1gmbZ9

--HG--
extra : rebase_source : 4159840d991c476cb66315757543b9d8ffc0a46c
2017-05-10 12:10:47 -05:00
Luke Wagner bb0f5e559f Bug 1360248 - Baldr: remove WasmActivation::exitSP_, using unwinding instead (r=bbouvier)
MozReview-Commit-ID: 1vh274E0A5O

--HG--
extra : rebase_source : 881bd26f53488b9e65c01bc16c83ffb5b83ba978
2017-05-10 12:08:38 -05:00
Luke Wagner a5521c97a5 Bug 1360248 - Baldr: factor out argument/return ABI code (r=bbouvier)
MozReview-Commit-ID: HKqPRPUhwyx

--HG--
extra : rebase_source : f0ef4fb48c8d01100c63feaf9ea3b335647f5667
2017-05-10 11:54:43 -05:00
Benjamin Bouvier b8329c34d6 Bug 1363431: wasm: Check for maximum br_table size; r=luke
MozReview-Commit-ID: 2Q2pWi5NSn7

--HG--
extra : rebase_source : a778197f93e3ea208e3d0bf067254e37aca6fa9f
2017-05-09 18:33:40 +02:00
Luke Wagner b9a4912ee2 Bug 1360254 - Baldr: remove JSContext::wasmActivationStack (r=bbouvier)
MozReview-Commit-ID: Ftzs7mTUzWN

--HG--
extra : rebase_source : b4670defcde377465b9d51681bb51a60a942b214
2017-05-10 12:29:15 -05:00
Luke Wagner 90264dad88 Bug 1360248 - Baldr: use wasm::Frame* type for fp instead of void* (r=bbouvier)
MozReview-Commit-ID: K88WK1gmbZ9

--HG--
extra : rebase_source : 8ccee369bc072a6bb17050fb5c6e9ac12549822c
2017-05-10 12:10:47 -05:00
Luke Wagner c933213f7d Bug 1360248 - Baldr: remove WasmActivation::exitSP_, using unwinding instead (r=bbouvier)
MozReview-Commit-ID: 1vh274E0A5O

--HG--
extra : rebase_source : c23043a8e4bbf0178fb5efa8fc51e59e91907e19
2017-05-10 12:08:38 -05:00
Luke Wagner a89e52745a Bug 1360248 - Baldr: factor out argument/return ABI code (r=bbouvier)
MozReview-Commit-ID: HKqPRPUhwyx

--HG--
extra : rebase_source : ff22df8a9c839a4379ac8b5b6652081b8db69ad3
2017-05-10 11:54:43 -05:00
Milan Sreckovic 8e95e2695e Bug 1358297: Part 5. We have a new function, StripTaggedASCII that needs to be added to the heap hazard whitelist. r=froydnj
MozReview-Commit-ID: 4bhnYwCkwIx

--HG--
extra : rebase_source : 4cd19deec0d0b854572b4f5b1f0340b5f00ff8e4
2017-05-10 13:12:48 -04:00
Wes Kocher c7918207d5 Backed out changeset feea2db3ddbe (bug 1363664) at developer's request a=backout
MozReview-Commit-ID: 83nv6jxNwoL
2017-05-10 09:51:38 -07:00
Ravi Shankar bacca6ee5c Bug 1363664 - Add bindings for StyleGridTemplate and nsTArray<nsString>; r=heycam
MozReview-Commit-ID: AsVxzu4SUu9

--HG--
extra : rebase_source : 55f6b62e574aba07c21ac0d4041de6a15a4c3f41
2017-05-10 17:51:39 +05:30
Kris Maglione 602cb201f5 Bug 1356826: Part 4 - Add Cu.isInAutomation and Cu.crashIfNotInAutomation helpers. r=bholley
MozReview-Commit-ID: ADqVqF2XraG

--HG--
extra : rebase_source : ea5df06eb9162f9f8c5816f49fb44d9f41947126
2017-04-15 14:23:58 -07:00
Shu-yu Guo e3a7e478c2 Bug 1363191 - Pop eval lexical scope before propagating its var scope's Annex B functions. (r=anba) 2017-05-11 20:54:35 -07:00
Shu-yu Guo 82dddd7d50 Bug 1357075 - Pad a nop to unwind to the scope just before a destructuring iterator close trynote. (r=arai) 2017-05-11 20:54:35 -07:00
Shu-yu Guo a17db9d0f8 Bug 1359622 - Fix assert for calling Function.toString on class constructors when the compartment has had source discarded. (r=Yoric) 2017-05-11 20:54:35 -07:00
Shu-yu Guo 87deb0d488 Bug 1362590 - Always give global scripts an extra frame slot in JIT code for compiling INITGLEXICAL. (r=jandem) 2017-05-11 20:54:35 -07:00
Leo Balter 81ea5b96c5 Bug 1362169 - Update tests skip list r=shu 2017-05-11 17:26:21 -07:00
Leo Balter 6627653d3b Bug 1362169 - Remove test262/local files r=shu
Superseded by current test262 tests.

Refs
- https://github.com/tc39/test262/pull/955
- https://github.com/tc39/test262/pull/895
2017-05-11 17:26:21 -07:00
Leo Balter 71444f558b Bug 1362169 - Update Test262 files r=shu
--HG--
rename : js/src/tests/test262/language/expressions/async-generators/browser.js => js/src/tests/test262/annexB/built-ins/RegExp/prototype/flags/browser.js
rename : js/src/tests/test262/language/expressions/async-generators/shell.js => js/src/tests/test262/annexB/built-ins/RegExp/prototype/flags/shell.js
rename : js/src/tests/test262/built-ins/Array/15.4.5.1-3.d-1.js => js/src/tests/test262/built-ins/Array/length/15.4.5.1-3.d-1.js
rename : js/src/tests/test262/built-ins/Array/15.4.5.1-3.d-2.js => js/src/tests/test262/built-ins/Array/length/15.4.5.1-3.d-2.js
rename : js/src/tests/test262/built-ins/Array/15.4.5.1-3.d-3.js => js/src/tests/test262/built-ins/Array/length/15.4.5.1-3.d-3.js
rename : js/src/tests/test262/built-ins/Array/prototype/S15.4.4_A1.3_T1.js => js/src/tests/test262/built-ins/Array/length/S15.4.4_A1.3_T1.js
rename : js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.1_T1.js => js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T1.js
rename : js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.1_T2.js => js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.1_T2.js
rename : js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.2_T1.js => js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T1.js
rename : js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.2_T3.js => js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.2_T3.js
rename : js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.3_T1.js => js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T1.js
rename : js/src/tests/test262/built-ins/Array/S15.4.5.1_A1.3_T2.js => js/src/tests/test262/built-ins/Array/length/S15.4.5.1_A1.3_T2.js
rename : js/src/tests/test262/built-ins/Array/S15.4.5.2_A3_T4.js => js/src/tests/test262/built-ins/Array/length/S15.4.5.2_A3_T4.js
rename : js/src/tests/test262/built-ins/Array/define-own-prop-length-overflow-realm.js => js/src/tests/test262/built-ins/Array/length/define-own-prop-length-overflow-realm.js
rename : js/src/tests/test262/built-ins/Array/prototype/copyWithin/copyWithin.js => js/src/tests/test262/built-ins/Array/prototype/copyWithin/prop-desc.js
rename : js/src/tests/test262/built-ins/Array/prototype/entries/entries.js => js/src/tests/test262/built-ins/Array/prototype/entries/prop-desc.js
rename : js/src/tests/test262/built-ins/Array/prototype/fill/fill.js => js/src/tests/test262/built-ins/Array/prototype/fill/prop-desc.js
rename : js/src/tests/test262/built-ins/Array/prototype/find/find.js => js/src/tests/test262/built-ins/Array/prototype/find/prop-desc.js
rename : js/src/tests/test262/built-ins/Array/prototype/findIndex/findIndex.js => js/src/tests/test262/built-ins/Array/prototype/findIndex/prop-desc.js
rename : js/src/tests/test262/built-ins/Array/prototype/keys/keys.js => js/src/tests/test262/built-ins/Array/prototype/keys/prop-desc.js
rename : js/src/tests/test262/built-ins/Object/prototype/toString/proxy.js => js/src/tests/test262/built-ins/Object/prototype/toString/proxy-array.js
rename : js/src/tests/test262/built-ins/Array/prototype/constructor/browser.js => js/src/tests/test262/built-ins/RegExp/dotall/browser.js
rename : js/src/tests/test262/built-ins/Array/prototype/constructor/shell.js => js/src/tests/test262/built-ins/RegExp/dotall/shell.js
rename : js/src/tests/test262/language/expressions/async-generators/browser.js => js/src/tests/test262/built-ins/RegExp/lookBehind/browser.js
rename : js/src/tests/test262/language/expressions/async-generators/shell.js => js/src/tests/test262/built-ins/RegExp/lookBehind/shell.js
rename : js/src/tests/test262/language/expressions/async-generators/browser.js => js/src/tests/test262/built-ins/RegExp/named-groups/browser.js
rename : js/src/tests/test262/language/expressions/async-generators/shell.js => js/src/tests/test262/built-ins/RegExp/named-groups/shell.js
rename : js/src/tests/test262/language/expressions/async-generators/browser.js => js/src/tests/test262/built-ins/RegExp/property-escapes/browser.js
rename : js/src/tests/test262/language/expressions/async-generators/browser.js => js/src/tests/test262/built-ins/RegExp/property-escapes/generated/browser.js
rename : js/src/tests/test262/language/expressions/async-generators/shell.js => js/src/tests/test262/built-ins/RegExp/property-escapes/shell.js
rename : js/src/tests/test262/language/expressions/async-generators/browser.js => js/src/tests/test262/built-ins/RegExp/prototype/dotAll/browser.js
rename : js/src/tests/test262/language/expressions/async-generators/shell.js => js/src/tests/test262/built-ins/RegExp/prototype/dotAll/shell.js
rename : js/src/tests/test262/language/expressions/async-generators/browser.js => js/src/tests/test262/language/expressions/async-generator/browser.js
rename : js/src/tests/test262/language/expressions/async-generators/shell.js => js/src/tests/test262/language/expressions/async-generator/shell.js
rename : js/src/tests/test262/language/expressions/async-generators/browser.js => js/src/tests/test262/language/statements/for-await-of/browser.js
rename : js/src/tests/test262/language/expressions/async-generators/shell.js => js/src/tests/test262/language/statements/for-await-of/shell.js
2017-05-11 17:26:20 -07:00
Steve Fink a1bac09186 Bug 1291954 - Skip tests that depend on the wasm signal handler, since tsan interferes with it, r=jonco
--HG--
extra : rebase_source : 243f008d4e4ca2430895eb3c37ccea06efe1e2b4
extra : histedit_source : 5cb45de1f1c958c2a03bb0c82c4cef17615958f4
2017-05-04 18:29:54 -07:00
Steve Fink c9a7edcd58 Bug 1291954 - Skip wasm/asm.js for tsan test, r=jonco
TSAN messes up the wasm signal handler on try builders.

--HG--
extra : rebase_source : c161c4eebc1f43daa0eeae13218b47ece13595c4
extra : histedit_source : 2cf2dad71d822fc583da2b5b633f8f21f05fa66a
2017-05-06 15:35:33 -07:00
Steve Fink 4bb89f2ec7 Bug 1291954 - Avoid problems with timeouts when running under tsan, r=jonco
One jstest was found to run more slowly under tsan, so add it to the cgc-jittest-timeouts.txt bucket.

Several jit-tests expect to timeout, and are annotated with an expected status code. Currently, we have to force tsan to report a zero status if it finds an error, since otherwise it will cause lots of tests to fail (due to hitting a tsan-detectable problem.) But those zero exit statuses cause the test to fail. Add --unusable-error-status to treat those as passing.

--HG--
extra : rebase_source : 37e9b863ecb6929da0de2a2d947ec31f6ba15d78
extra : histedit_source : c33dacaa0ecc117f17b57cf0dc5ba6c5b775d6ce
2017-05-03 07:15:50 -07:00
Nicolas B. Pierron d676a8001e Bug 1351357 - Use the ReadOnlyCompileOptions from the HelperThread while decoding RegExp. r=bhackett 2017-05-10 13:42:08 +00:00
Carsten "Tomcat" Book 455239782b Merge mozilla-central to mozilla-inbound 2017-05-10 15:30:44 +02:00
kedziorski.lukasz@gmail.com f815a0af4b Bug 1359436 - Add leak checking to CycleCollectedJSContext and related classes. r=mccr8 2017-05-09 13:59:00 +02:00
Carsten "Tomcat" Book d5cb285977 Backed out changeset 3258871b4902 (bug 1359622) for browser_CTP_crashreporting.js | Uncaught exception - Timed out waiting for plugin binding to be in success state - timed out after 50 tries. 2017-05-10 13:01:57 +02:00
Carsten "Tomcat" Book bef66488d9 Backed out changeset 8756a6262190 (bug 1357075) 2017-05-10 13:01:25 +02:00
Carsten "Tomcat" Book 76338929ce Backed out changeset cf2ee5242986 (bug 1363191) 2017-05-10 13:01:23 +02:00
Shu-yu Guo e25f176582 Bug 1363191 - Pop eval lexical scope before propagating its var scope's Annex B functions. (r=anba) 2017-05-09 14:45:27 -07:00
Shu-yu Guo 02ce432ff5 Bug 1357075 - Pad a nop to unwind to the scope just before a destructuring iterator close trynote. (r=arai) 2017-05-09 14:45:26 -07:00
Shu-yu Guo a7f949a3ff Bug 1359622 - Fix assert for calling Function.toString on class constructors when the compartment has had source discarded. (r=Yoric) 2017-05-09 14:45:26 -07:00
Andrew McCreight 087c406acb Bug 1363538 - Remove some derelict testing code from XPCShellImpl.cpp. r=mrbkap
MozReview-Commit-ID: 96UyB317H0W

--HG--
extra : source : 0a74ed4854d784856f28cf48a422f4aa0763fd22
2017-05-09 14:35:23 -07:00
Sebastian Hengst 0f8a7b60eb Backed out changeset 10acb957ba60 (bug 1363054) for failing Marionette's test_crash.py TestCrash.test_crash_content_process on Windows 8 x64 opt with e10s. r=backout on a CLOSED TREE 2017-05-09 19:36:24 +02:00
Sebastian Hengst c50cb6eb14 Backed out changeset a2281e684a80 (bug 1363054) 2017-05-09 19:35:21 +02:00
Sebastian Hengst e5491f037d Backed out changeset 4d383642cf05 (bug 1363054) 2017-05-09 19:35:17 +02:00
Sebastian Hengst 8cd3282651 Backed out changeset eade14aad3f7 (bug 1363054) 2017-05-09 19:35:12 +02:00
Nicolas B. Pierron 851bd537a5 Bug 1348779 - irregexp: Report JS Errors on stack overflow. r=bhackett 2017-05-09 15:49:57 +00:00
Carsten "Tomcat" Book df3e065b52 Backed out changeset 03caaa7757d4 (bug 1357958) for bustage in js/src/jit-test/tests/wasm/bench/wasm_box2d.js 2017-05-09 15:51:54 +02:00
Till Schneidereit 1b30c06e4e Bug 1357958 - Move the JS shell's Promise job handling into the engine to be used as a default implementation. r=jandem
The shell has a very basic implementation of Promise job queue handling. This patch moves it into the engine, exposed through friendapi functions. The motivation is that I want to write JSAPI tests for streams, which requires Promise handling. The test harness would need essentially a copy of the shell's Promise handling, which isn't nice.

To be clear, the default implementation isn't used automatically: the embedding has to explicitly request it using js::UseInternalJobQueues.

MozReview-Commit-ID: DwtPsJ0uMtP
2017-05-09 15:04:24 +02:00
Carsten "Tomcat" Book 76ca853e3e Merge mozilla-central to mozilla-inbound 2017-05-09 14:40:11 +02:00
Jan de Mooij 8a2dc81b1a Bug 1363054 part 4 - Attach generalized type monitor stubs for unknown/unknownObject type sets. r=tcampbell 2017-05-09 14:04:57 +02:00
Jan de Mooij a6ad8db9ea Bug 1363054 part 3 - Pass StackTypeSet* to addMonitorStubForValue. r=tcampbell 2017-05-09 14:04:30 +02:00
Jan de Mooij fab83d320c Bug 1363054 part 2 - Remove some shared stubs code that's no longer needed. r=tcampbell 2017-05-09 14:04:10 +02:00
Jan de Mooij 4052fb6dc4 Bug 1363054 part 1 - Remove redundant addMonitorStubForValue calls. r=tcampbell 2017-05-09 14:03:44 +02:00
Jon Coppeard e7b80c5987 Bug 1362977 - Rename CellSize to CellAlignBytes and improve the naming of related constants r=sfink 2017-05-09 11:38:32 +01:00
Alexandre Poirot 097e90a04c Bug 1363539 - Remove dependency on DevTools from test_onGarbageCollection.html. r=sfink
MozReview-Commit-ID: LQ8oCAyC7sF

--HG--
extra : rebase_source : 82284076bcff9fa34d7410b22ce90bb6182d3a09
2017-02-22 12:45:11 +01:00
Mike Hommey 63f96098ea Bug 1356140 - Enable tooltool cache on jobs that define one but don't use it. r=chmanchester
--HG--
extra : rebase_source : 085fe8ff6ac368624054bef1f171c8d24c8ecff1
2017-04-13 16:26:33 +09:00
Mike Hommey 709c879f5b Bug 1356683 - Use new tooltool wrapper for Windows Spidermonkey builds. r=chmanchester
--HG--
extra : rebase_source : 19ccbfad81ebb30f51928af2492845c75182502a
2017-04-12 17:46:34 +09:00
Wes Kocher f5ba7a67d6 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 9QuGHXqdxTb
2017-05-08 16:14:34 -07:00
Wes Kocher cbfdaf8fb2 Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: 5kxOZZxjMEl
2017-05-08 16:07:25 -07:00
Tom Tromey aa6e054b71 Bug 1334279 - mark vsprintf-likes with MOZ_FORMAT_PRINTF; r=froydnj
This annotates vsprintf-like functions with MOZ_FORMAT_PRINTF.  This may
provide some minimal checking of such calls (the GCC docs say that it
checks for the string for "consistency"); but in any case shouldn't
hurt.

MozReview-Commit-ID: HgnAK1LiorE

--HG--
extra : rebase_source : 9c8d715d6560f89078c26ba3934e52a2b5778b6a
2017-05-04 12:10:19 -06:00
Steve Fink ef72c77b25 Bug 1362807 - Keep wasm scripts live so the GC cannot kill one before findScripts sees it, r=yury
--HG--
extra : rebase_source : 76eed5ac5d7f22ae3a3d0f87f2565ee448975249
2017-05-06 15:59:12 -07:00
Steve Fink 31873f0e6b Bug 1322560 - Track nursery timings if the Gecko profiler is compiled in, r=jonco
--HG--
extra : rebase_source : 5db5c8b7c407791e33c40ceb6dda3de0b0d10448
2017-05-03 06:41:02 -07:00
Andrea Marchesini 1981f67eb3 Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Tom Tromey 0611bfef01 Bug 1362416 - fix FlowGraphSummary to handle branch target before the branch; r=jimb
FlowGraphSummary walks the bytecode linearly, assuming that a branch
instruction will always be visited before the branch's target.  However,
this is not the case for JSOP_LOOPHEAD, leading to an incorrect line
number (-1).  This patch changes it to instead reuse the location of the
previous opcode, which is correct in the case of a loop head.

MozReview-Commit-ID: 5OmLmSk2uSn

--HG--
extra : rebase_source : fb773071855bb481747469833ec820ef202d1205
2017-05-05 14:14:40 -06:00
Steve Fink 7ef280069e Bug 1322560 - Record minor GC timings in profiles, r=jonco, mccr8, mstange
--HG--
extra : rebase_source : 073eceb4216b0505f8cbce0947e3e5091626ead1
2017-04-25 13:24:34 -07:00
Steve Fink ee8a00a6c5 Bug 1330306 - Fix self-time computation for multiparented phases, r=jonco
--HG--
extra : rebase_source : da95d77b5cfae72e155ee80732fc017f58ef2df3
2017-05-02 11:30:38 -07:00
Steve Fink 0fc712ecd4 Bug 1322560 - Use %*s for padding rather than hardcoded indents, r=me
--HG--
extra : rebase_source : bdb5238af94abc7c6d17da076ba77bb2b7ea3683
2017-05-02 11:41:07 -07:00
Steve Fink 2da4272401 Bug 1358300 - Fix underflow resulting in wasted space for 0-byte ArrayBuffer, r=Waldo
--HG--
extra : rebase_source : 1eca4dd092fe74af8126b6e4d5e3e0ca96e169e8
2017-05-01 13:37:59 -07:00
Steve Fink 7b71d877e9 Bug 1322560 - Convert GC statistics over to JSONPrinter, r=jonco
--HG--
extra : rebase_source : 3e38274af5dadbed6fa6ddf884607a6de0d3f058
2017-05-03 13:57:10 -07:00
Steve Fink 728e71fe62 Bug 1322560 - Implement TimeDuration property in JSONPrinter, r=jonco
--HG--
extra : rebase_source : 81a3a9780b6f4a560a5caab696a7be187ce0bba5
extra : source : a8668eecdab4e6cbc89999f95fd13bf66155cf89
2017-04-25 13:38:43 -07:00
Steve Fink 27778f3982 Bug 1322560 - Refactor js::jit::JSONPrinter -> js::JSONPrinter, r=jonco
--HG--
rename : js/src/jit/JSONPrinter.cpp => js/src/vm/JSONPrinter.cpp
rename : js/src/jit/JSONPrinter.h => js/src/vm/JSONPrinter.h
extra : rebase_source : ecb1a949065cfb0cbb9f2cc058f762e4df71e09f
extra : source : 9c91d92a0215701ed9388f149c8ac7c879510060
2017-05-03 15:19:47 -07:00
Steve Fink 784adc799a Bug 1322560 - Report GC major/minor numbers in JSON, r=jonco
--HG--
extra : rebase_source : 4b391860200c9c9b77dbc16e9de1cad6fdb60668
extra : source : 3b458dc06af44ee788cb86dee6611b66ce0ebe5b
2017-04-25 13:24:19 -07:00
Steve Fink 350af64f4a Bug 1322560 - Add APIs for retrieving major GC timing info, r=jonco
--HG--
extra : rebase_source : 9a038e2b7ea4c0d6242eed9ab6d753e590619bdb
extra : source : 4dee851a0d45655260ace1c01eb4dd9e9905942f
2017-05-02 15:45:43 -07:00
Steve Fink bebca54180 Bug 1322560 - const-ify gc::Statistics API, r=jonco
--HG--
extra : rebase_source : 0f87f6d59aa6631314176586f0696d7b316ce9d0
extra : source : 86277c75f5f7c5320214b5b99d2ca70af027693c
2017-05-08 12:28:05 -07:00
Steve Fink 7142375cef No bug - Add comment, change comment format. DONTBUILD
--HG--
extra : rebase_source : 8acff40eed6ff81c2ea3d03e56659c91a788ea72
extra : source : 3ed8f64c76a504e57970468cc6c959d6e3e382c6
2017-04-24 10:43:07 -07:00
Carsten "Tomcat" Book f0d6de60d7 Backed out changeset 5d77f6b14633 (bug 1362119) for android bustage in nsCCUncollectableMarker.cpp:500:7: error: 'TraceScriptHolder' is not a member of 'mozilla'
--HG--
rename : dom/script/ScriptSettings.cpp => dom/base/ScriptSettings.cpp
rename : dom/script/ScriptSettings.h => dom/base/ScriptSettings.h
rename : dom/script/nsIScriptElement.h => dom/base/nsIScriptElement.h
rename : dom/script/nsIScriptLoaderObserver.idl => dom/base/nsIScriptLoaderObserver.idl
rename : dom/script/ScriptElement.cpp => dom/base/nsScriptElement.cpp
rename : dom/script/ScriptElement.h => dom/base/nsScriptElement.h
rename : dom/script/ScriptLoader.cpp => dom/base/nsScriptLoader.cpp
rename : dom/script/ScriptLoader.h => dom/base/nsScriptLoader.h
2017-05-08 09:54:38 +02:00
Andrea Marchesini 7a4ef797cb Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Iris Hsiao 0b748916e8 merge mozilla-inbound to mozilla-central a=merge 2017-05-08 11:11:20 +08:00
Kris Maglione 9c1bafbab4 Bug 1359653: Follow-up: Don't cache mochikit scripts as a temporary bustage workaround.
MozReview-Commit-ID: I4FcZWRKlWr

--HG--
extra : amend_source : c34f3bcb023b9063a4d1a53a6bb3873fdb499d1c
2017-05-06 14:41:22 -07:00
Kris Maglione e8e5fe66b7 Bug 1359653: Part 9 - Observe "startupcache-invalidate" and flush the cache when received. r=erahm
Flushing the cache at startup is already handled automatically by the
AppStartup code, which removes the entire startupCache directory when
necessary. The add-on manager requires being able to flush the cache at
runtime, though, for the sake of updating bootstrapped add-ons.

MozReview-Commit-ID: LIdiNHrXYXu

--HG--
extra : source : 8f4637881ddc42a948c894e62c8486fe8677a938
extra : histedit_source : e69395a2b87b2b0edb394686ed6ee24731ba9fb8
2017-05-03 12:31:51 -07:00
Kris Maglione 6df68230e0 Bug 1359653: Part 6 - Use the script precompiler in the JS component loader and subscript loader. r=mccr8,shu
MozReview-Commit-ID: HMl0xbAARHK

--HG--
extra : source : a505dcbe8a02bf4b4f975e62cc2b651ef7eebdd0
extra : histedit_source : 288bbb8633d2296200abb66f359619785ac7d2d8
2017-05-03 22:06:33 -07:00
Kris Maglione 15e7adf3aa Bug 1359653: Part 5 - Pre-load scripts needed during startup in a background thread. r=shu,erahm
One of the things that I've noticed in profiling startup overhead is that,
even with the startup cache, we spend about 130ms just loading and decoding
scripts from the startup cache on my machine.

I think we should be able to do better than that by doing some of that work in
the background for scripts that we know we'll need during startup. With this
change, we seem to consistently save about 3-5% on non-e10s startup overhead
on talos. But there's a lot of room for tuning, and I think we get some
considerable improvement with a few ongoing tweeks.

Some notes about the approach:

- Setting up the off-thread compile is fairly expensive, since we need to
create a global object, and a lot of its built-in prototype objects for each
compile. So in order for there to be a performance improvement for OMT
compiles, the script has to be pretty large. Right now, the tipping point
seems to be about 20K.

  There's currently no easy way to improve the per-compile setup overhead, but
we should be able to combine the off-thread compiles for multiple smaller
scripts into a single operation without any additional per-script overhead.

- The time we spend setting up scripts for OMT compile is almost entirely
CPU-bound. That means that we have a chunk of about 20-50ms where we can
safely schedule thread-safe IO work during early startup, so if we schedule
some of our current synchronous IO operations on background threads during the
script cache setup, we basically get them for free, and can probably increase
the number of scripts we compile in the background.

- I went with an uncompressed mmap of the raw XDR data for a storage format.
That currently occupies about 5MB of disk space. Gzipped, it's ~1.2MB, so
compressing it might save some startup disk IO, but keeping it uncompressed
simplifies a lot of the OMT and even main thread decoding process, but, more
importantly:

- We currently don't use the startup cache in content processes, for a variety
of reasons. However, with this approach, I think we can safely store the
cached script data from a content process before we load any untrusted code
into it, and then share mmapped startup cache data between all content
processes. That should speed up content process startup *a lot*, and very
likely save memory, too. And:

- If we're especially concerned about saving per-process memory, and we keep
the cache data mapped for the lifetime of the JS runtime, I think that with
some effort we can probably share the static string data from scripts between
content processes, without any copying. Right now, it looks like for the main
process, there's about 1.5MB of string-ish data in the XDR dumps. It's
probably less for content processes, but if we could save .5MB per process
this way, it might make it easier to increase the number of content processes
we allow.

MozReview-Commit-ID: CVJahyNktKB

--HG--
extra : source : 1c7df945505930d2d86a076ee20807104324c8cc
extra : histedit_source : 75e193839edf727874f01b2a9f6852f6c1f087fb%2C3ce966d7dcf2bd0454a7d673d0467097456bd782
2017-05-06 12:24:22 -07:00
Kris Maglione d33959634b Bug 1359653: Part 4 - Fallback to the default JS version when decoding regexps off-thread. r=shu
When decoding off-thread, we can't safely access the JS runtime to get the
current JS version, and doing so causes failed assertions.

MozReview-Commit-ID: Lra437aa8SM

--HG--
extra : source : 16259c1af36e138881d18a3f8b0a803f5d4fc3ec
2017-04-28 11:55:52 -07:00
Kris Maglione 16393582a7 Bug 1359653: Part 2 - Allow CloneAndExecuteScript with non-lexical scripts. r=shu
MozReview-Commit-ID: Hq3rvgjwH3f

--HG--
extra : source : 3f94cd9d95b99436ea5f77aee5d220092b6b32d6
2017-05-02 17:53:51 -07:00
Kris Maglione 81232b555a Bug 1359653: Part 1 - Use a const Range rather than a Vector for XDR decoding. r=shu
MozReview-Commit-ID: JkGNmOAKAxD

--HG--
extra : source : 473e6a1ef169a9ac556486680306b9c286774b74
2017-05-05 15:47:10 -07:00
Sebastian Hengst 6107141ae1 Backed out changeset 473e6a1ef169 (bug 1359653) for rooting hazard and crashing during Marionette's test_quit_restart.py TestQuitRestart.test_in_app_restart_with_callback with [@ js::gc::MergeCompartments] on Linux debug builds. r=backout 2017-05-06 11:06:46 +02:00
Sebastian Hengst 2ca2a7bdb3 Backed out changeset 3f94cd9d95b9 (bug 1359653) 2017-05-06 11:02:37 +02:00
Sebastian Hengst 7238fa169d Backed out changeset 16259c1af36e (bug 1359653) 2017-05-06 11:02:27 +02:00
Sebastian Hengst 544da0524c Backed out changeset 1c7df9455059 (bug 1359653) 2017-05-06 11:02:23 +02:00
Sebastian Hengst a71ff9882a Backed out changeset a505dcbe8a02 (bug 1359653) 2017-05-06 11:02:18 +02:00
Sebastian Hengst 0584d6d6d4 Backed out changeset 8f4637881ddc (bug 1359653) 2017-05-06 11:02:04 +02:00
Kris Maglione c1b1876797 Bug 1359653: Part 9 - Observe "startupcache-invalidate" and flush the cache when received. r=erahm
Flushing the cache at startup is already handled automatically by the
AppStartup code, which removes the entire startupCache directory when
necessary. The add-on manager requires being able to flush the cache at
runtime, though, for the sake of updating bootstrapped add-ons.

MozReview-Commit-ID: LIdiNHrXYXu

--HG--
extra : rebase_source : e5b16490f47e20c78d081ad03dec02c6b2874fc3
extra : absorb_source : 6cd94504c8247f375161b2afdca5c61d59cf8f01
2017-05-03 12:31:51 -07:00
Kris Maglione e1eeeaf349 Bug 1359653: Part 6 - Use the script precompiler in the JS component loader and subscript loader. r=mccr8,shu
MozReview-Commit-ID: HMl0xbAARHK

--HG--
extra : rebase_source : 257ac78f3438d67725b5c1630c214a1d0627193d
extra : absorb_source : e70948dbfa5517b1868cafe804a71248e57ef022
2017-05-03 22:06:33 -07:00
Kris Maglione a4368ffba1 Bug 1359653: Part 5 - Pre-load scripts needed during startup in a background thread. r=shu,erahm
One of the things that I've noticed in profiling startup overhead is that,
even with the startup cache, we spend about 130ms just loading and decoding
scripts from the startup cache on my machine.

I think we should be able to do better than that by doing some of that work in
the background for scripts that we know we'll need during startup. With this
change, we seem to consistently save about 3-5% on non-e10s startup overhead
on talos. But there's a lot of room for tuning, and I think we get some
considerable improvement with a few ongoing tweeks.

Some notes about the approach:

- Setting up the off-thread compile is fairly expensive, since we need to
create a global object, and a lot of its built-in prototype objects for each
compile. So in order for there to be a performance improvement for OMT
compiles, the script has to be pretty large. Right now, the tipping point
seems to be about 20K.

  There's currently no easy way to improve the per-compile setup overhead, but
we should be able to combine the off-thread compiles for multiple smaller
scripts into a single operation without any additional per-script overhead.

- The time we spend setting up scripts for OMT compile is almost entirely
CPU-bound. That means that we have a chunk of about 20-50ms where we can
safely schedule thread-safe IO work during early startup, so if we schedule
some of our current synchronous IO operations on background threads during the
script cache setup, we basically get them for free, and can probably increase
the number of scripts we compile in the background.

- I went with an uncompressed mmap of the raw XDR data for a storage format.
That currently occupies about 5MB of disk space. Gzipped, it's ~1.2MB, so
compressing it might save some startup disk IO, but keeping it uncompressed
simplifies a lot of the OMT and even main thread decoding process, but, more
importantly:

- We currently don't use the startup cache in content processes, for a variety
of reasons. However, with this approach, I think we can safely store the
cached script data from a content process before we load any untrusted code
into it, and then share mmapped startup cache data between all content
processes. That should speed up content process startup *a lot*, and very
likely save memory, too. And:

- If we're especially concerned about saving per-process memory, and we keep
the cache data mapped for the lifetime of the JS runtime, I think that with
some effort we can probably share the static string data from scripts between
content processes, without any copying. Right now, it looks like for the main
process, there's about 1.5MB of string-ish data in the XDR dumps. It's
probably less for content processes, but if we could save .5MB per process
this way, it might make it easier to increase the number of content processes
we allow.

MozReview-Commit-ID: CVJahyNktKB

--HG--
extra : rebase_source : 2ec24c8b0000f9187a9bf4a096ee8d93403d7ab2
extra : absorb_source : bb9d799d664a03941447a294ac43c54f334ef6f5
2017-05-05 16:15:04 -07:00
Kris Maglione 81b48ae1b9 Bug 1359653: Part 4 - Fallback to the default JS version when decoding regexps off-thread. r=shu
When decoding off-thread, we can't safely access the JS runtime to get the
current JS version, and doing so causes failed assertions.

MozReview-Commit-ID: Lra437aa8SM

--HG--
extra : rebase_source : 268fc90f390cf6436f3e8a1368a62fdf274d6f8d
2017-04-28 11:55:52 -07:00
Kris Maglione 5d707d3813 Bug 1359653: Part 2 - Allow CloneAndExecuteScript with non-lexical scripts. r=shu
MozReview-Commit-ID: Hq3rvgjwH3f

--HG--
extra : rebase_source : ce51a28985bf73e8f1370e9e767b016b5399d3c8
2017-05-02 17:53:51 -07:00
Kris Maglione 83a89ed6b9 Bug 1359653: Part 1 - Use a const Range rather than a Vector for XDR decoding. r=shu
MozReview-Commit-ID: JkGNmOAKAxD

--HG--
extra : rebase_source : 77f0cae4b964b216e0a79a415fa8f88fcad08730
2017-05-05 15:47:10 -07:00
Gary Kwong a6f9d2dd99 Bug 1360220 - Backed out changeset ed8623eefe6c for causing fuzzblocker bug 1362590, rs=shu on IRC 2017-05-05 16:04:52 -07:00
Shu-yu Guo e418f8fd1b Bug 1361317 - Check Annex B applicability upon Scope exit. (r=anba)
The algorithm:

1. Keep a list of all sloppy functions-in-block FunctionBoxes on the
   innermost scope.

2. When the scope exits, we'll know all its declared names. Check for possible
   early errors for declaring the FiBs as vars. If no early error would occur,

  a. If the innermost scope is the var scope, declare the synthesized
     var and mark the FunctionBox as an Annex B function.

  b. Otherwise, add the FunctionBox to the enclosing scope's list of
     sloppy FiBs.
2017-05-05 13:01:02 -07:00