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

60533 Коммитов

Автор SHA1 Сообщение Дата
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
Shu-yu Guo 82312e2b6b Bug 1161312 - De-offset ScriptSource offsets from starting column in JSScript and LazyScript. (r=jimb)
The JS shell, for testing purposes, allows passing in an OOB column
number, which offsets all token positions by column. These positions
need to be de-offset before being saved as offsets into the
ScriptSource buffer in the script structures.
2017-05-05 13:01:02 -07:00
Carsten "Tomcat" Book 170faef00b Merge mozilla-central to mozilla-inbound 2017-05-05 15:25:16 +02:00
Carsten "Tomcat" Book fdc689ba16 merge mozilla-inbound to mozilla-central a=merge 2017-05-05 15:17:26 +02:00
Cameron McCormack 14b955a5aa Bug 1361985 - Whitelist Gecko_NewGridTemplateAreasValue from heap write hazard checking, since it pokes at stuff in the object it just created. r=me (CLOSED TREE)
--HG--
extra : amend_source : be20cfdd93de65557b1e343504051c476e17db24
2017-05-05 15:43:37 +08:00
André Bargull 47ef6bdc32 Bug 1360201 - Emit |dup| instead of |dupat 0| when BytecodeEmitter::emitDupAt is called with zero. r=shu 2017-04-27 10:10:03 -07:00
André Bargull 2fefcdbbf3 Bug 1360220 - Replace emitRequireObjectCoercible with JSOP_CHECKOBJCOERCIBLE. r=shu 2017-04-27 09:24:08 -07:00
Benjamin Bouvier 1560f3b506 Bug 1360263: Move WasmActivation::resumePC to the Runtime; r=luke
--HG--
extra : rebase_source : ad02eb061057dec3cff4d2408803c0e47450d5fc
2017-04-27 18:22:05 +02:00
Xidorn Quan 419312acef Bug 1362205 followup - Fix bustage from implicit fallthrough on a CLOSED TREE.
MozReview-Commit-ID: Bo7GtRSedrW
2017-05-06 14:24:19 +10:00
Andrew McCreight 44283f57ae Bug 1362205 - Annotate ScopeKinds in JS_GetTraceThingInfo(). r=sfink
MozReview-Commit-ID: 8Hti5sQAXGA

--HG--
extra : rebase_source : 88cc0c925a5c618a58f418b8d8545e51ddd640db
2017-05-05 09:26:29 -07:00
Wes Kocher e8eb9f05e3 Merge m-c to autoland, a=merge
MozReview-Commit-ID: IeccTUJ7VtU
2017-05-05 17:21:18 -07:00
Wes Kocher d7daa1c507 Backed out changeset ed8623eefe6c (bug 1360220) for causing bug 1362590 a=backout
MozReview-Commit-ID: DLJDWJNIGm8
2017-05-05 16:11:08 -07:00
Wes Kocher bc7b598309 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 8QMHmu81oVt
2017-05-05 14:18:13 -07:00
Tom Tromey 2e878c27aa Bug 1362403 - update source coordinates after emitting loop bodies; r=jimb
MozReview-Commit-ID: CEJV2nSvg24

--HG--
extra : rebase_source : d607b725e4841233e176c639a8ec5c42ca7e86b4
2017-05-05 11:50:56 -06:00
Jon Coppeard d6029d3ebb Bug 1360526 - Refactor to remove GCSweepTask and associated macros r=sfink 2017-05-04 18:06:59 +01:00
Jon Coppeard 9958de3edd Bug 1360526 - Make weak cache iteration more readable r=sfink 2017-05-04 18:06:58 +01:00
Benjamin Bouvier 87a000b325 Bug 1360211: Remove EntryFrameLayout; r=jandem
--HG--
extra : rebase_source : 0fc6669c8d11d8adce3e366c371b4702d2ede134
2017-04-26 18:31:26 +02:00
Benjamin Bouvier c3dbe8b3b3 Bug 1360211: Remove dead CalleeStackOffset; r=jandem
--HG--
extra : rebase_source : 7c29864e3028510118b7826f0dede5db697a92ca
2017-04-26 17:46:14 +02:00
Benjamin Bouvier b3dc24542f Bug 1352506: Don't conflate need for overrecursed check and static alignment in MIRGenerator; r=jandem
--HG--
extra : rebase_source : 6bded02c13b2456082925647c062b9f52e0c9a93
extra : histedit_source : 934351707818b5f3b34c83e18b5ccfba94b46ff3
2017-04-27 15:44:45 +02:00
Benjamin Bouvier b8c8ba37aa Bug 1352506: Automatically setPerformsCall for LIR call instructions; r=sunfish
--HG--
extra : rebase_source : e226d4d32fa5ad2cdbf58358e75a4089bdb3e6a0
extra : histedit_source : df914d85202d06df5e151dacc50076b179afb46b
2017-04-26 14:40:37 +02:00
Benjamin Bouvier e9db04ce5c Bug 1352506: Remove dead code in the backtracking allocator; r=luke
--HG--
extra : rebase_source : 5f5e5b5b9b63bb33d15b4db746eba5847991ea19
extra : histedit_source : 33be51bcff189c6fa6609971a08060de7c4b667d
2017-04-26 14:15:30 +02:00
André Bargull 11d5f06b77 Bug 1339395 - Part 8: Add separate variables for wasm debugger test. r=luke
--HG--
extra : rebase_source : cc888ae9dc5b12cee8ae17a95a8f6f9f9cfd81d7
2017-05-04 05:05:45 -07:00
André Bargull 70b1515945 Bug 1339395 - Part 7: Remove no longer needed check for jsid strings which are indices from frontend. r=shu
--HG--
extra : rebase_source : ee734791215296af25cffe86e1a7a18ad3570b19
2017-05-04 05:05:42 -07:00
André Bargull 4dd3aab942 Bug 1339395 - Part 6: Update jit-tests now that object rest/spread properties are a thing. r=shu
--HG--
extra : rebase_source : b74c267295c836c13352e9d8d403f551883d047f
2017-05-04 05:05:39 -07:00
André Bargull ed0327889b Bug 1339395 - Part 5: Add Reflect.parse tests for object rest and spread properties. r=shu
--HG--
extra : rebase_source : f159c69ff169e254d1c2e5f9265ff6447a2288cf
2017-05-04 05:05:36 -07:00
André Bargull fd633859dd Bug 1339395 - Part 4: Enable test262 for object rest and spread properties. r=shu
--HG--
extra : rebase_source : ed724580c129f7dd83e51164e7a640fe3d8abb29
2017-05-04 05:05:33 -07:00
André Bargull b7760379c9 Bug 1339395 - Part 3: Add BytecodeEmitter support for object rest and spread properties. r=shu
--HG--
extra : rebase_source : 7ff5f952d7c55ee0ca45e6090dcee4f29bc149b9
2017-05-04 05:05:29 -07:00
André Bargull 7a954e2045 Bug 1339395 - Part 2: Add parser support for rest and spread object properties. r=shu
--HG--
extra : rebase_source : 2ee4578189fc96180313bcb2b37cb62bda494bc1
2017-05-04 05:05:26 -07:00
André Bargull ad3c9ffb5f Bug 1339395 - Part 1: Align parse method for object literals to match array literals. r=shu
--HG--
extra : rebase_source : 775bb7d7b13870d0da1546279d39c9d09ee6bd08
2017-05-04 05:05:22 -07:00
André Bargull 3684744df4 Bug 1321789 - Support Unicode extensions with multiple value subtags in BCP47 language tags. r=Waldo
--HG--
extra : rebase_source : e53994788a06eda8435c314735d22410f45b2c81
2017-05-04 05:04:14 -07:00
Benjamin Bouvier 7e59b2c7b6 Bug 1360390: wasm: Preserve the scratch register in builtin thunks if it's volatile; r=luke
Callable prologues/epilogues use the ABINonArgReg0 register as a scratch
register, which is non-volatile on ARM. This means it can get clobbered.
Instead, just preserve it manually.

--HG--
extra : rebase_source : 290f2a7a5cf2ad0240cf9775b411615f94ac5a16
2017-05-04 13:07:52 +02:00
Lars T Hansen c49dee9e16 Bug 1361980 - Increase a lock priority to avoid conflict during sync deletion, r=me 2017-05-04 13:42:36 +02:00
André Bargull f21754e0f3 Bug 1317383 - Part 5: Update expected results for wpt typedarray and wasm tests. r=bbouvier
--HG--
extra : rebase_source : 47be2308322e996fa8bef359d5f1b523fac9801e
2017-05-02 14:21:04 -07:00
André Bargull 230ddb3718 Bug 1317383 - Part 4: Add step references to TypedArray constructor methods. r=evilpie
--HG--
extra : rebase_source : 142807e64cb1e801c8a6d7c44b3c4f53fa39d4a6
2017-04-26 05:31:21 -07:00
André Bargull eef3017b4b Bug 1317383 - Part 3: Use ToIndex when TypedArray constructor is called with ArrayBuffer (ES2017). r=evilpie
--HG--
extra : rebase_source : a9a5eb558303a7182c7a1607d260d90ebf57b937
2017-04-25 09:36:00 -07:00
André Bargull 9f71beec84 Bug 1317383 - Part 2: Use ToIndex when constructing TypedArray with length argument (ES2017). r=evilpie
--HG--
extra : rebase_source : 52beaa7ab1972d24cc3f8a45d1f0c4d63f549df5
2017-05-02 14:20:25 -07:00
André Bargull 8f6bdbd19c Bug 1317383 - Part 1: Move NonStandardToIndex to SIMD.cpp. r=evilpie
--HG--
extra : rebase_source : b96e0480c2210b6c07aaeb8d5d8354debc92a43b
2017-04-25 09:28:45 -07:00
Jon Coppeard 494416733e Bug 1360961 - Assert that dying objects are not passed into the JSAPI r=sfink 2017-05-04 08:17:39 +01:00
Lars T Hansen a6e6b012ac Bug 1338217 - Only preserve bytecode when it's needed, rs=luke
--HG--
extra : rebase_source : 155d222ea9b43a0e7b453c36719377372dc72587
2017-05-02 18:05:14 +02:00
Lars T Hansen 9f9ab9d992 Bug 1338217 - Share code between Wasm instances. r=luke
--HG--
extra : rebase_source : 067b72ea242a043e3e5f61addbd2b17a0fc69659
2017-05-02 14:44:38 +02:00
Iris Hsiao 553dbd294c Merge mozilla-central to mozilla-inbound 2017-05-04 11:29:49 +08:00
Iris Hsiao e71485e5b0 merge mozilla-inbound to mozilla-central a=merge 2017-05-04 11:18:36 +08:00
Wes Kocher 4e89a77541 Merge m-c to autoland, a=merge
MozReview-Commit-ID: F7qkNALe0WT
2017-05-03 13:52:24 -07:00
David Major eeaa91fc5c Bug 1359507: Replace the stack walk workaround lock with an atomic counter of suppressions. r=mstange,froydnj
This fixes a deadlock by removing one of the two sides of a mutual-wait.
2017-05-03 12:10:48 -04:00
Nathan Froyd 3261352ea3 Bug 1361514 - convert XPCLocaleObserver to NS_DECL_OWNINGTHREAD; r=gabor
The pattern we're using here has a name, so let's use that instead.
2017-05-03 11:48:54 -04:00
Jeff Walden f1f39aa341 Bug 1351107 - Make Reflect.parse code work with a TokenStreamAnyChars, not a TokenStream. r=arai 2017-04-21 01:45:39 -07:00
Jeff Walden 072906b158 Bug 1351107 - Enclose most of TokenStream.cpp in js::frontend namespace blocks so that template specializations don't need their own custom namespace blocks. r=arai 2017-04-28 16:15:51 -07:00
Jeff Walden 1d9f2f3159 Bug 1351107 - Make jscompartment.h and GlobalObject.h not #include builtin/RegExp.h, to address yet more thorny cyclic dependency issues in subsequent patches. r=arai 2017-04-20 00:23:28 -07:00
Jeff Walden 4e5271b990 Bug 1351107 - Make the DeprecatedLanguageExtensions enum an enum class in a new header, to address a thorny cyclic dependency issue in subsequent patches. r=arai 2017-04-20 00:17:08 -07:00
Eric Rahm edf884fdd1 Bug 935809 - Part 3: Remove JSCList. r=jimb
MozReview-Commit-ID: Du6i1FlJ3Uu
2017-05-03 19:22:57 -07:00
Eric Rahm e5680a660e Bug 935809 - Part 2: Convert onNewGlobalUpdateWatchers to DoublyLinkedList. r=jimb
MozReview-Commit-ID: 75SY0ab5gxn
2017-05-03 19:22:51 -07:00
Eric Rahm 7900dc0fab Bug 935809 - Part 1: Convert breakpoint lists to DoublyLinkedList. r=jimb
MozReview-Commit-ID: J4jdqLOksND
2017-05-03 19:22:45 -07:00
Jeff Walden 0e9d30f091 Bug 1351107 - Rename TokenStreamBase to TokenStreamAnyChars, anticipating this class eventually not being a base class. r=arai 2017-04-13 17:52:43 -07:00
Ted Campbell 4e110f1b5d Bug 1337773 - Use IonInIC for MIn and rename to MInCache r=jandem
MozReview-Commit-ID: 2Nl70H4MpPa

--HG--
extra : rebase_source : c8c54a4c32769e6bfd323f9acd7860d043f9656a
2017-04-17 13:31:12 -04:00
Ted Campbell 8e7ddb1ceb Bug 1337773 - Add IonInIC r=jandem
MozReview-Commit-ID: BmHPnJnMjVP

--HG--
extra : rebase_source : d8ca3f631dd2da0bfb5b87b4db1ceac323f6131d
2017-04-17 13:55:27 -04:00
Ted Campbell 43e26a60a0 Bug 1359952 - Add HasPropIRGenerator r=jandem
This combines InIRGenerator with HasOwnIRGenerator.

MozReview-Commit-ID: 7FQX5YmVrM7

--HG--
extra : rebase_source : 9b0e735e303f6fa57d4407bec5b81bc8307d365a
2017-04-27 12:11:17 -04:00
Ted Campbell d561466341 Bug 1359952 - Add ownProp flag to CanAttachDenseElementHole r=jandem
MozReview-Commit-ID: EvpCisLDTk2

--HG--
extra : rebase_source : ca652cb2e1c2ce2a208363bac7f283757afa5abf
2017-04-27 12:06:13 -04:00
Ted Campbell 46f8075f1a Bug 1359952 - Remove shape arg from TestMatchingReceiver r=jandem
MozReview-Commit-ID: L2EiAUvK5rW

--HG--
extra : rebase_source : 487d447a05a14952a9a4b6d5260b9309d7e601a2
2017-04-26 16:06:42 -04:00
Ted Campbell 786416aaf1 Bug 1359952 - Fix CacheIRCompiler handling of boolean results r=jandem
MozReview-Commit-ID: 5xeZQyprlpm

--HG--
extra : rebase_source : f3df3bae4ab544d2de5610134ad9399d161288ad
2017-04-21 14:21:36 -04:00
Jeff Walden 9c9398fbf2 Bug 1351107 - Adapt BytecodeEmitter to contemplate working with Parsers working on both single- and double-byte source text. r=arai 2017-04-06 20:39:27 -07:00
Jeff Walden ad5d6337ea Bug 1351107 - Move RegExpFlags, RegExpShared, and RegExpCompartment into vm/RegExpShared.h so that users requiring only those types don't have to import everything RegExpObject requires. r=arai
--HG--
rename : js/src/vm/RegExpObject.h => js/src/vm/RegExpShared.h
2017-04-19 16:30:18 -07:00
Jeff Walden b87d68dcc0 Bug 1351107 - Use unicode::{LINE,PARA}_SEPARATOR instead of hand-rolling them for TokenStream code. r=arai 2017-05-01 19:40:51 -07:00
Jeff Walden a053255a13 Bug 1359980 - Make RegExpParser::ReportError give better error messages that point directly at the offending character within the pattern, rather than just at the start of the RegExp literal. r=arai 2017-04-25 23:36:22 -07:00
Jeff Walden 26c6222d22 Make Interpreter.h not #include ParseNode.h. No bug, r=shu 2017-05-01 19:40:51 -07:00
Jeff Walden 78b45ca267 Remove or curtail a bunch of unnecessary dependencies on frontend/TokenStream.h to substantially reduce the number of files that must be recompiled for a change to TokenStream.h. No bug, rs=bbouvier 2017-04-25 23:36:22 -07:00
Jeff Walden 9c2af0d44e Make Nursery.cpp's CanaryMagicValue a constexpr so it doesn't break (some) builds with -Werror=unused-const-variable. No bug, r=sparky 2017-05-03 13:58:36 -07:00
Till Schneidereit 4662c498be Bug 1324140 - Unwrap given Promise in some JSAPI functions. r=bz
To make Promise-related JSAPI functions easier to use, this patch unwraps handed-in Promise objects automatically. Some functions don't unwrap, mostly debugging-related ones and, notably, JS::IsPromiseObject. The latter doesn't unwrap in order to stay conservative: if JSAPI-using code uses IsPromiseObject to verify that an object is a Promise, it should always be fine to say "no".

MozReview-Commit-ID: 7DuCqCj95JR

--HG--
extra : rebase_source : 86e5b837c68fcbd1c1930dffefc22856b02cf3b1
2017-05-03 10:53:19 -04:00
Carsten "Tomcat" Book 0b5ec8c1f2 Backed out changeset 74a0a0207e08 (bug 1338217) for linux failures 2017-05-03 15:27:26 +02:00
Carsten "Tomcat" Book b3a8a13d69 Backed out changeset feb47dd8a60b (bug 1338217) 2017-05-03 15:27:05 +02:00
Lars T Hansen dae85a2f45 Bug 1338217 - Only preserve bytecode when it's needed, rs=luke
--HG--
extra : rebase_source : 149ddc845100a831e66672daedc928436317bd14
2017-05-02 18:05:14 +02:00
Lars T Hansen 1dfe0353ba Bug 1338217 - Share code between Wasm instances. r=luke
--HG--
extra : rebase_source : f94d6c5b7463c5b9efc14f988bc542daf8828d9f
2017-05-02 14:44:38 +02:00
Jon Coppeard 17cafc9dee Bug 1360526 - Add separate stats phases for all the sweep tasks r=sfink
--HG--
extra : rebase_source : 6435702d7d86b131df9f4b3894cf27688227b75e
2017-05-03 11:42:05 +01:00
Jon Coppeard 271a7eafb3 Bug 1360526 - Add RAII class to start/join a GC sweep task r=sfink
--HG--
extra : rebase_source : 11ab7144f5ddfad3c03614ac969989c2686cf6e3
2017-05-03 11:40:46 +01:00