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

2030 Коммитов

Автор SHA1 Сообщение Дата
Jan de Mooij e8dc00e48a Bug 1447578 part 3 - Remove MacroAssembler rooting/tracing code. r=jonco
--HG--
extra : rebase_source : 848f220d63897a53c662b164eb7d5e98222f50bb
2018-03-21 16:58:04 +01:00
Boris Zbarsky f406b29197 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 1a: Make PinnedStringId constructor constexpr. r=Waldo/froydnj.
--HG--
extra : rebase_source : 0ed87197f6740b74648fc5107bd6fb4e7409cdfa
2018-03-07 21:50:24 +01:00
Ryan VanderMeulen 38359cd40f Bug 1445105 - Remove various MSVC de-optimizations used to work around compiler bugs which are no longer needed. r=dmajor
This reverts the following bugs: 703135, 977538, 1274450, 1403220

--HG--
extra : rebase_source : c63585a915c5b9ea987fd035dbb5ecb21cb6246e
2018-03-19 12:42:01 -04:00
André Bargull b4ea895cd5 Bug 1442599 - Part 4: Replace JS_ALWAYS_TRUE/FALSE with MOZ_ALWAYS_TRUE/FALSE. r=jorendorff
--HG--
extra : rebase_source : 6fc1e4f5f4cef17bfed0f51938c73ef828eac70e
2018-03-15 03:42:56 -07:00
Jan de Mooij 3a631decc0 Bug 1445610 - Clean up some enums in Value.h. r=jwalden 2018-03-15 10:38:59 +01:00
Kris Maglione 4f1d6d3f42 Bug 1445551: Part 6 - Remove JSAddonId type and addonId compartment flag. r=mccr8
This compartment flag was only ever needed in order to track system-privileged
add-on code running under the compartment-per-addon system. That system, and
the legacy add-ons it supported, are gone.

WebExtension compartments have their add-on ID stored on their principal, and
are tracked in less obtrusive ways, so this code is no longer useful.

MozReview-Commit-ID: NVEd3Oawak

--HG--
extra : rebase_source : 31908a4daa5e7897ce165a5383110fb722391662
2018-03-13 21:02:34 -07:00
Andreea Pavel 363ad2007d Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-03-15 00:11:42 +02:00
Andi-Bogdan Postelnicu ad0f5aaafb Bug 1437532 - prevent doing memset on a non-trivial type. r=jorendorff
MozReview-Commit-ID: C8BfwJSHkWM

--HG--
extra : rebase_source : 3bd28ff459b76be79da6a518fb1da49b23aef9fe
2018-03-13 11:57:49 +02:00
Luke Wagner 8a5136ff57 Bug 1435360 - Baldr: implement wasm interrupt in terms of TlsData branch and stack overflow check (r=bbouvier)
--HG--
extra : rebase_source : 77543186df0d37d7267101c0c1a6b672405be461
2018-03-12 15:10:06 -05:00
Brindusan Cristian 575a3a3976 Backed out 3 changesets (bug 1435360) for web-platform reftests failures on marionette/content/reftest.js CLOSED TREE
Backed out changeset c4bc47b31311 (bug 1435360)
Backed out changeset eb7a4a96c333 (bug 1435360)
Backed out changeset 7d6183aa40da (bug 1435360)
2018-03-12 23:53:41 +02:00
Luke Wagner d389a89796 Bug 1435360 - Baldr: implement wasm interrupt in terms of TlsData branch and stack overflow check (r=bbouvier)
--HG--
extra : rebase_source : c65945e89c19c0f4bd4208b0e67348ef6b410797
2018-03-12 15:10:06 -05:00
Kannan Vijayan 627eb6ae9a Bug 1411415 - r=bz r=fitzgen 2018-03-05 19:27:02 -05:00
Tom Ritter 4b715680d2 Bug 1425462 Normalize the JavaScript Engine behavior by adding a callback r=luke
Time Precision Reduction in the JS Engine was handled by a small bit of
duplicated logic. With Time Jittering, and general improvements to the
logic due to float fuzziness, we want to unify the logic for the JS Engine
and the browser into one location. This patch does that.

Note that this will leave the JS Shell without a time jittering implementation.
It currently has a time clamping implementation - but I'm not actually sure if
the shell is doing anything with it, because it's probably not calling
SetTimeResolutionUsec to set it up.  In Bug 1440539 we will add a jitter
implementation for the shell. (And probably turn time rounding and jittering on
for it too.)

MozReview-Commit-ID: 2BTIMzE8MjW

--HG--
extra : rebase_source : db5cd6a219e1b89988f142fc22994bf816507889
2018-02-22 16:05:50 -06:00
Tom Ritter 845ef57dd6 Bug 1425462 When reducing the precision of timestamps, also apply fuzzytime to them r=bkelly
Fuzzytime deterministically generates a random midpoint between two clamped values,
and if the unreduced timestamp is above the midpoint, the time is rounded upwards.
This allows safe time jittering to occur, as time will never go backwards on a given
timeline.

It _is_ possible for time to go backwards when comparing different (but related)
timelines, such as a relative timeline in one page (with its own
performance.timeOrigin) and a relative timeline in an iframe or Worker (which
also has its own performance.timeOrigin). This is the same behavior as the 2ms timer
reduction we previously landed; jitter doesn't make this any better or worse.

MozReview-Commit-ID: IdRLxcWDQBZ

--HG--
extra : rebase_source : 40b29d34e5cc99f9b8e6d5e711a03b9fe9bfa595
2018-03-01 00:07:03 -06:00
Dorel Luca cafaae9ee7 Backed out 6 changesets (bug 1425462) for XPCShell failure on multiple files
Backed out changeset 9ace3811f525 (bug 1425462)
Backed out changeset 7d440e52e3a4 (bug 1425462)
Backed out changeset 85896ea96faf (bug 1425462)
Backed out changeset 127b5d2e6779 (bug 1425462)
Backed out changeset 95ce64d3a29a (bug 1425462)
Backed out changeset ddd2c4da4ba4 (bug 1425462)
2018-03-02 03:33:17 +02:00
Tom Ritter ec702ca7c3 Bug 1425462 Normalize the JavaScript Engine behavior by adding a callback r=luke
Time Precision Reduction in the JS Engine was handled by a small bit of
duplicated logic. With Time Jittering, and general improvements to the
logic due to float fuzziness, we want to unify the logic for the JS Engine
and the browser into one location. This patch does that.

Note that this will leave the JS Shell without a time jittering implementation.
It currently has a time clamping implementation - but I'm not actually sure if
the shell is doing anything with it, because it's probably not calling
SetTimeResolutionUsec to set it up.  In Bug 1440539 we will add a jitter
implementation for the shell. (And probably turn time rounding and jittering on
for it too.)

MozReview-Commit-ID: 2BTIMzE8MjW

--HG--
extra : rebase_source : 035f84a88413e2ea34b239ae0228e9c1ec9a39d7
2018-02-22 16:05:50 -06:00
Tom Ritter 06ecc9a63d Bug 1425462 When reducing the precision of timestamps, also apply fuzzytime to them r=bkelly
Fuzzytime deterministically generates a random midpoint between two clamped values,
and if the unreduced timestamp is above the midpoint, the time is rounded upwards.
This allows safe time jittering to occur, as time will never go backwards on a given
timeline.

It _is_ possible for time to go backwards when comparing different (but related)
timelines, such as a relative timeline in one page (with its own
performance.timeOrigin) and a relative timeline in an iframe or Worker (which
also has its own performance.timeOrigin). This is the same behavior as the 2ms timer
reduction we previously landed; jitter doesn't make this any better or worse.

MozReview-Commit-ID: IdRLxcWDQBZ

--HG--
extra : rebase_source : e455f934e6e6d65d54c122a6cec9f6cabbd5ac78
2018-03-01 00:07:03 -06:00
Jeff Walden 25a7df6306 Bug 1441657 - Implement mozilla::WrappingMultiply. r=froydnj
--HG--
extra : rebase_source : 57d1796976a25597ee4dda90561d40debc6a9fc9
2018-02-15 17:36:55 -08:00
Jeff Walden b0074d3a7d Bug 1441657 - Create a new mozilla/WrappingOperations.h header to contain implementations of common math operations with well-defined wraparound semantics. r=froydnj
--HG--
rename : mfbt/MathAlgorithms.h => mfbt/WrappingOperations.h
rename : mfbt/tests/TestMathAlgorithms.cpp => mfbt/tests/TestWrappingOperations.cpp
extra : rebase_source : 552a0f17d7ba2ad6229d45fd2945592aceabb354
2018-02-15 17:36:50 -08:00
Jon Coppeard a9547048d9 Bug 1441988 - Simplify AutoVector definitions by making this a template r=sfink 2018-03-01 14:47:29 +00:00
Jon Coppeard 8b9f1c68b9 Bug 1441783 - Remove unused AutoVectorRooter class and refactor r=sfink 2018-03-01 14:47:29 +00:00
Sebastian Hengst 769222fadf merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser.js
2018-02-28 12:54:12 +02:00
Markus Stange fa1eca48cc Bug 1437428 - Make PseudoStack a member of RacyInfo instead of inheriting from it. r=njn
MozReview-Commit-ID: 3fumT1Livf6

--HG--
extra : rebase_source : fa201a7023ba9ffa5d0d23e2886ad151f4a7930a
2018-01-31 17:42:49 -05:00
Jeff Walden 1e733f31c4 Bug 1440954 - Properly #ifdef a local variable only used in an assertion to avoid an unused-variable warning. r=sfink
--HG--
extra : rebase_source : aa18f74def6af9e303ed2e04daa7f57d6feca789
2018-02-27 11:29:47 -08:00
Jon Coppeard 9abec85212 Bug 1440739 - Improve gray marking assertions to cover more types of pointer r=sfink 2018-02-27 13:01:49 +00:00
Jason Orendorff 63e9540554 Bug 1440372 - StructuredClone comments. r=sfink.
--HG--
extra : rebase_source : c712672413c3e001667d3fc30c88f2aeae891563
extra : histedit_source : 137a842d21598a72f6aa4027041ffc99f0b27e8b
2018-02-20 21:40:49 -06:00
Steve Fink 97f8e4d9ab Bug 1366083 - Diagnostic assert for ObjectValue(nullptr), r=jonco
--HG--
extra : rebase_source : 796da9b227da9aecf84c9cc5680aa448e2c1319b
2017-11-21 17:04:22 -08:00
Jason Orendorff e7c94fff59 Bug 1439063 - Part 1: Move several public headers from js/src to js/public. r=jandem.
js/src/jsalloc.h -> js/public/AllocPolicy.h
jsalloc.cpp -> js/src/util/AllocPolicy.cpp
jsbytecode.h -> merge into js/public/TypeDecls.h
jsprf.h -> js/public/Printf.h
jsprf.cpp -> js/src/util/Printf.cpp
jsprototypes.h -> public/ProtoKey.h
jswrapper.h -> js/Wrapper.h

--HG--
rename : js/src/jsalloc.h => js/public/AllocPolicy.h
rename : js/src/jsprf.h => js/public/Printf.h
rename : js/src/jsprototypes.h => js/public/ProtoKey.h
rename : js/src/jswrapper.h => js/public/Wrapper.h
rename : js/src/jsalloc.cpp => js/src/util/AllocPolicy.cpp
rename : js/src/jsprf.cpp => js/src/util/Printf.cpp
extra : rebase_source : 98b16d94c469202eab0303a8da844f1d0b6aa809
extra : amend_source : e0b16c1077226d6fe240f4d7096537f93b43f2b8
extra : histedit_source : d94e0ba7904a7d66742c7fac43f638aaec4fa4e5
2018-02-21 10:30:19 -06:00
Jason Orendorff a48654929c Bug 1439665 - Part 1: #include some headers directly in files that use them. r=sfink.
"Include what you use."

--HG--
extra : rebase_source : 2239a380029e0efbc9dd3042459222a67c38d70f
extra : amend_source : 4453c32cc469caa592049167205666997f1a1e7b
extra : histedit_source : a533edd4a4d3d0642b08989e93674661d27baa6a%2C37d27eeef9580381ccc0de8507f60166dabf1730
2018-02-20 11:28:12 -06:00
Jason Orendorff d07bbcafa1 Bug 1439626 - Remove js/public/LegacyIntTypes.h. r=Waldo.
--HG--
extra : rebase_source : 6b63992919109ab8940ae5e4df840b23fd8501e3
2018-02-20 09:39:39 -06:00
André Bargull 04c864d3c5 Bug 1437530: Cache template literal objects per call site again. r=arai 2018-02-19 05:07:29 -08:00
Cosmin Sabou 768831260e Backed out 2 changesets (bug 1437428) for frequent xpcfailures on marAppApplyUpdateStageOldVersionFailure.js a=backout
Backed out changeset b915e160a690 (bug 1437428)
Backed out changeset 0fcad4eaabb6 (bug 1437428)

--HG--
rename : tools/profiler/core/RegisteredThread.cpp => tools/profiler/core/ThreadInfo.cpp
2018-02-18 23:57:55 +02:00
Chris Peterson d09123f248 Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Dorel Luca e6b2438e24 Merge mozilla-central to autoland 2018-02-17 11:59:56 +02:00
Jason Orendorff 50d9e51a7d Bug 1438278 - Part 3: Rename some files into js/src/gc. r=jonco.
jsgc.* -> gc/GC.*
jshashutil.h -> gc/HashUtil.h
jsweakmap.* -> gc/WeakMap.*
vm/WeakMapPtr.cpp -> gc/WeakMapPtr.cpp

--HG--
rename : js/src/jsgcinlines.h => js/src/gc/GC-inl.h
rename : js/src/jsgc.cpp => js/src/gc/GC.cpp
rename : js/src/jsgc.h => js/src/gc/GC.h
rename : js/src/jshashutil.h => js/src/gc/HashUtil.h
rename : js/src/jsweakmap.cpp => js/src/gc/WeakMap.cpp
rename : js/src/jsweakmap.h => js/src/gc/WeakMap.h
rename : js/src/vm/WeakMapPtr.cpp => js/src/gc/WeakMapPtr.cpp
extra : rebase_source : 8435ece63e11545a633ae0cdf6ed4a46cb017457
extra : amend_source : cfb63d098bf2fb27d63221a24457d8aaf8884137
extra : intermediate-source : 2d498c561ba67baf3ad09b6c29f4a8985997928c
extra : source : c1df7b31137da2bbea5ae1169cc07dd0f4974376
2018-02-14 16:00:46 -06:00
Markus Stange 8bb2083b22 Bug 1437428 - Make PseudoStack a member of RacyInfo instead of inheriting from it. r=njn
MozReview-Commit-ID: 3fumT1Livf6

--HG--
extra : rebase_source : fa201a7023ba9ffa5d0d23e2886ad151f4a7930a
2018-01-31 17:42:49 -05:00
Jon Coppeard b188b2d674 Bug 1399866 - Add gray marking asserts to proxy write functions r=sfink 2018-02-16 11:40:04 +00:00
Markus Stange e50b258807 Bug 1385998 - Fix a typo in a comment.
MozReview-Commit-ID: AiHDDUKGHhi
2018-02-15 22:29:32 -05:00
Andreea Pavel 74b7ffee40 Merge mozilla-inbound to mozilla-central a=merge
--HG--
rename : js/src/jscompartment.cpp => js/src/vm/JSCompartment.cpp
rename : js/src/jscompartment.h => js/src/vm/JSCompartment.h
rename : js/src/jsscript.cpp => js/src/vm/JSScript.cpp
rename : js/src/jsscript.h => js/src/vm/JSScript.h
extra : amend_source : 9c233cb959c45e401189d089a094f9d141d2b912
2018-02-15 12:24:21 +02:00
Andrew McCreight df1f7c00c3 Bug 1437978 - Add memory reporting for scriptCountsMap. r=nbp
MozReview-Commit-ID: 1AJHhJDJerr

--HG--
extra : rebase_source : f867bd00f1c41052fc6eadc23cd2dd1e41a2c354
2018-02-13 10:00:14 -08:00
Markus Stange 8fb2503b8a Bug 1434965 - Replace callback-based API ForEachProfiledFrame with an iterator-based API called GetProfiledFrames. r=njn
This also renames ForEachProfiledFrameOp::FrameHandle to ProfiledFrameHandle.

MozReview-Commit-ID: 7Jh1x2QWjXe

--HG--
extra : rebase_source : 8bb0fa15fa20215f03148cfd30ae0e41f82330fd
2018-02-10 20:38:41 -05:00
Markus Stange 49735a3768 Bug 785440 - Add js::GetContextProfilingStack in such a way that it can be inlined into non-JS code. r=sfink
This requires moving some things around. RootingContext is an existing
superclass of JSContext whose members are exposed in a header file, so we can
use it to expose the location of the geckoProfiler_ member to non-JS code.

MozReview-Commit-ID: 3oClAEVMsDr

--HG--
extra : rebase_source : f5943a710cddaa65cfdcb13370f95387caaf6892
extra : source : 2f5b804cef7b0888ac6121f5645bbb910750ed72
2018-01-05 14:35:00 +01:00
Steve Fink 0742a54280 Bug 903519 - Strings in the nursery: JIT, r=jandem
--HG--
extra : rebase_source : 3e2c013d3085fa87f930bbf620c1cb5b46f8952e
extra : histedit_source : a07cbe1740f88d26a9a696cdcb5007181cc92ee8
2018-02-05 16:22:22 -08:00
Steve Fink 2cf574b314 Bug 903519 - Default nursery strings to off, add ability to enable, r=jonco
--HG--
extra : rebase_source : bdc3a320de7f1e6d3ac620113852af63bdfd592f
extra : source : 71831e232df2957c9ea178986218e3d6eeef6c0b
extra : histedit_source : 2e77c0ce51da517d8d391fde25c947004475d8e4
2017-11-03 14:00:14 -07:00
Steve Fink 34decd09c6 Bug 903519 - Change Relocated marker to not confuse string vs object bit, r=jonco
--HG--
extra : rebase_source : 58f6ed8ba0692ad60b99c9d6a637231693e2316c
extra : source : 6f3666e9540e849056347f7b9d8a40e41396115e
extra : histedit_source : 315716a40a4ffba00fce14c8d58380128804e53d%2Cd69faed961ccbfc63d378ccf34c600d8698483f4
2017-11-03 12:27:52 -07:00
Nicolas B. Pierron f37e8775a7 Bug 1433111 - Zero the payload if the Value tag does not match the expected tag. r=jandem 2018-02-09 16:49:30 +00:00
Markus Stange 46a81f0069 Bug 1385998 - Use ReleaseAcquire memory ordering when modifying the PseudoStack. r=froydnj
Before this patch, the writes to stackPointer were done using sequentially-
consistent stores. On x86 these compile to 'xchg' instructions, which showed up
as the most expensive part of the PseudoStack overhead.

MozReview-Commit-ID: IP9w9ievEXZ

--HG--
extra : rebase_source : 6b08b1ce98b59812e9da6da055a9a8daa18a1200
2018-02-05 16:41:29 -05:00
Markus Stange 3c3d175106 Bug 1385998 - Don't use atomic increments / decrements on stackPointer. r=froydnj
Only one thread ever modifies a PseudoStack, so we don't need to enforce
synchronization of writes from different threads. We can just read the old
value, add one to it, and then do an atomic store with the new value, because
we know that the current value of stackPointer can't have changed in the
meantime.

On its own, this patch actually seems to make things slower. But combined with
the next patch (which changes the memory ordering to ReleaseAcquire) it doesn't.
(I haven't checked whether the next patch on its own would give just as much
improvements with and without this patch.)

MozReview-Commit-ID: 3WIdyJC9kcj

--HG--
extra : rebase_source : c4e88746a0239cab3d0f9cf6f7b7fb10732a62ab
2017-08-02 14:36:43 -04:00
Markus Stange 49d6d03730 Bug 1348959 - Remove wraparound indexing in ProfileBuffer. r=djvj,mystor,njn
MozReview-Commit-ID: LeBFSRE6GXR

--HG--
extra : rebase_source : c46c0cd0dd543a367f72000e3cae65260a25b365
extra : source : 0f2e9dd7d45551d40944e4219e5a9eb92d54b2c4
2018-02-06 00:25:30 -05:00
Jon Coppeard 779ba02591 Bug 1432794 - Skip prototype and constructor intialization for off-thread parsing r=jandem 2018-01-30 17:57:40 +00:00