Commit Graph

70984 Commits

Author SHA1 Message Date
Jan de Mooij
d733874de6 Bug 1551796 part 4 - Remove unnecessary hasJitScript() checks in BaselineInspector. r=tcampbell
These have been unnecessary since the ICScript introduction: when performing the
arguments analysis we have a JitScript but not a BaselineScript.

Depends on D32103

Differential Revision: https://phabricator.services.mozilla.com/D32126

--HG--
extra : moz-landing-system : lando
2019-05-23 10:46:27 +00:00
Jan de Mooij
932197282d Bug 1551796 part 3 - Merge ICScript into JitScript. r=tcampbell
ICScript and JitScript had the same lifetime already, but this eliminates
a malloc/free and some extra dereferences (especially for accessing ICEntries
from Baseline Interpreter code).

This is just the minimal set of changes to make it easier to review. Follow-up
changes should:

* Move (now) JitScript methods to JitScript.cpp

* Merge FillBytecodeTypeMap with JitScript::initICEntries so we do just a single
  bytecode walk.

* Move JitScript from the js namespace to js::jit.

Differential Revision: https://phabricator.services.mozilla.com/D32103

--HG--
extra : moz-landing-system : lando
2019-05-23 07:55:15 +00:00
Jan de Mooij
ed52e99739 Bug 1551796 part 2 - Move JitScript from vm/TypeInference.* to jit/JitScript.*. r=tcampbell
Some of the TypeInference-related static methods were kept in TypeInference-inl.h and
TypeInference.cpp because of various dependencies. Also, methods like JitScript::MonitorAssign
probably don't belong on JitScript anyway, but for now this seems reasonable.

Differential Revision: https://phabricator.services.mozilla.com/D31982

--HG--
rename : js/src/vm/TypeInference-inl.h => js/src/jit/JitScript-inl.h
rename : js/src/vm/TypeInference.cpp => js/src/jit/JitScript.cpp
rename : js/src/vm/TypeInference.h => js/src/jit/JitScript.h
extra : moz-landing-system : lando
2019-05-22 20:04:25 +00:00
Jan de Mooij
d9d5e4ef64 Bug 1551796 part 1 - Rename TypeScript to JitScript. r=tcampbell
Also JSScript::makeTypes => JSScript::createJitScript for consistency with code
elsewhere.

Differential Revision: https://phabricator.services.mozilla.com/D31755

--HG--
extra : moz-landing-system : lando
2019-05-23 07:28:00 +00:00
Jon Coppeard
142265f751 Bug 1553491 - Renumber MarkColor to match intuition that 'black' is more marked than 'gray' r=sfink?
Differential Revision: https://phabricator.services.mozilla.com/D32160

--HG--
extra : moz-landing-system : lando
2019-05-22 20:29:10 +00:00
Jan de Mooij
eaf82d1a04 Bug 1552470 part 6 - Remove TypeScript::MonitorBytecodeType overload that doesn't take script/pc. r=tcampbell
This method was a bit of a footgun because cx->currentScript is quite slow.
It seems better to make this very explicit in the callers.

Differential Revision: https://phabricator.services.mozilla.com/D31611

--HG--
extra : moz-landing-system : lando
2019-05-23 07:11:38 +00:00
Jan de Mooij
9df773da2b Bug 1552470 part 5 - Rename remaining js::TypeMonitorResult overload to TypeScript::MonitorBytecodeTypeSlow. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31610

--HG--
extra : moz-landing-system : lando
2019-05-23 07:11:19 +00:00
Jan de Mooij
e3ed48132f Bug 1552470 part 4 - Fold some js::TypeMonitorResult overloads into TypeScript::MonitorBytecodeType. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31609

--HG--
extra : moz-landing-system : lando
2019-05-23 07:11:07 +00:00
Jan de Mooij
1c7a3e3327 Bug 1552470 part 3 - Assert we have a JOF_TYPESET op in TypeMonitorResult. r=tcampbell
The "stubs used in compound opcodes" comment is obsolete (refered to some old
opcodes and JaegerMonkey).

This caught one problem, the interpreter called this for JSOP_RESUME.

Differential Revision: https://phabricator.services.mozilla.com/D31608

--HG--
extra : moz-landing-system : lando
2019-05-23 07:10:47 +00:00
Jan de Mooij
2b79df85ac Bug 1552470 part 2 - Rename some TypeScript methods. r=tcampbell
SetThis -> MonitorThisType
SetArgument -> MonitorArgType
Monitor -> MonitorBytecodeType

This is consistent with the thisTypes/argTypes/bytecodeTypes accessors and will
avoid confusion when we rename TypeScript to JitScript.

Differential Revision: https://phabricator.services.mozilla.com/D31607

--HG--
extra : moz-landing-system : lando
2019-05-23 07:10:17 +00:00
Jan de Mooij
3a3b3c836a Bug 1552470 part 1 - Make ThisTypes/ArgTypes/BytecodeTypes non-static methods. r=tcampbell
It makes the code a bit more natural.

The patch also changes these methods to take an AutoSweepTypeScript. This is more
correct and safe than what we did, because these methods return the TypeSet.

Differential Revision: https://phabricator.services.mozilla.com/D31606

--HG--
extra : moz-landing-system : lando
2019-05-23 07:09:42 +00:00
Bogdan Tara
0043616f64 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-23 07:43:36 +03:00
Bogdan Tara
662de518b1 Merge inbound to mozilla-central. a=merge 2019-05-23 07:41:02 +03:00
Gurzau Raul
74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Paul Bone
752ec5c84c Bug 1552401 - Add and use a new decommit phase to attribute decommit work r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D32090

--HG--
extra : moz-landing-system : lando
2019-05-23 01:50:21 +00:00
Paul Bone
28a7458d74 Bug 1552401 - Make GenerateStatsPhases.py print the next available bucket number r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D32089

--HG--
extra : moz-landing-system : lando
2019-05-23 01:50:19 +00:00
Ashley Hauck
6a02746c8b Bug 1553543 - Don't touch file if there are no changes. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D32168

--HG--
extra : moz-landing-system : lando
2019-05-22 16:32:20 +00:00
Denis Palmeiro
a559bca492 Bug 1553362 - Add empty spew inline functions for when tracelogger is disabled r=iain
The new trace logger spew routines do not have a corresponding empty inline version for when --disable-trace-logging is used.

Differential Revision: https://phabricator.services.mozilla.com/D32156

--HG--
extra : moz-landing-system : lando
2019-05-22 15:59:05 +00:00
Jean-Yves Avenard
d59781ac33 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

Differential Revision: https://phabricator.services.mozilla.com/D31468

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:30 +00:00
Steve Fink
dcfb7afeb3 Bug 1553039 - default MOZ_GCTIMER output dir to MOZ_UPLOAD_DIR r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31962

--HG--
extra : moz-landing-system : lando
2019-05-21 21:26:09 +00:00
Boris Zbarsky
47341d0933 Bug 1553276. Don't enter the content compartment when calling a Web IDL legacycaller over Xrays. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D32047

--HG--
extra : moz-landing-system : lando
2019-05-21 19:49:18 +00:00
Ashley Hauck
25e8d18679 Bug 1552229 - Emit field keys in correct order. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D31495

--HG--
extra : moz-landing-system : lando
2019-05-21 17:55:34 +00:00
Ashley Hauck
1b7568fdba Bug 1547467 - Introduce another scope for .initializers, and remove .localInitializers. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D29907

--HG--
extra : moz-landing-system : lando
2019-05-21 17:55:31 +00:00
Cosmin Sabou
7637a9982a Backed out changeset da42fc59d4fb (bug 1553039) for causing windows build bustages. 2019-05-21 20:28:34 +03:00
Steve Fink
2f66727254 Bug 1553039 - default MOZ_GCTIMER output dir to MOZ_UPLOAD_DIR r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31962

--HG--
extra : moz-landing-system : lando
2019-05-21 16:53:05 +00:00
Denis Palmeiro
49502b1ffa Bug 1545091 - Spew tracelogger statistics with IONFLAGS=tracelogger r=iain,mstange
Add Jitspewing control for tracelogger data.  This can be enabled from the profiler or from the JS shell.  Usage is as follows:

From browser (ION_SPEW_FILENAME is recommended here so stdout doesn't get clobbered by each process):
  1.  JS_TRACE_LOGGING=1 IONFLAGS=tracelogger ION_SPEW_FILENAME=tracelogger ./mach run
  2.  Enable JSTracer feature in profiler addon
  3.  Start profiling and ctrl+shift+2 to view profile, and the data will be automatically spewed during profile collection.

From shell:
  1.  JS_TRACE_LOGGING=1 IONFLAGS=tracelogger dist/bin/js test.js
  2.  Data is automatically spewed to stdout when the shell exits, or use ION_SPEW_FILENAME.

There is an optional environment variable JS_TRACELOGGER_SPEW that can be used to emit specific events, for example JS_TRACELOGGER_SPEW="Interpreter,Baseline,GC" will emit only those specific events along with the script and self time of each script.

The structured spewer is also supported with SPEW=tracelogger, and this will emit the tracelogger data for every recorded event.

Differential Revision: https://phabricator.services.mozilla.com/D30033

--HG--
extra : moz-landing-system : lando
2019-05-21 15:25:32 +00:00
Jeff Walden
c08dac3312 Bug 1551916 - Flip column numbers back to being counts of code points and not code units. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31304

--HG--
extra : moz-landing-system : lando
2019-05-21 16:31:51 +00:00
Razvan Maries
9f162e29d0 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-05-21 19:36:25 +03:00
Andreea Pavel
a4546667a5 Backed out 2 changesets (bug 1551473, bug 1549954) win 2012 SM bustages on a CLOSED TREE
Backed out changeset aac842bf7f7b (bug 1551473)
Backed out changeset 2a4a5afa1ff2 (bug 1549954)
2019-05-21 19:30:36 +03:00
Razvan Maries
366383f783 Merge mozilla-inbound to mozilla-central a=merge 2019-05-21 19:29:01 +03:00
Jon Coppeard
0bbd4dc9f0 Bug 1549950 - Remove TraceWeakEdge and associated machinery and sweep weak pointers in lazy scripts explicitly r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D31804
2019-05-20 17:24:38 +01:00
Razvan Maries
fa4ff6f653 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-05-21 12:37:53 +03:00
Daniel Varga
f7e7132f8f Merge mozilla-central to mozilla-inbound 2019-05-21 07:22:34 +03:00
Daniel Varga
9c4661a44f Merge mozilla-central to mozilla-inbound. a=merge 2019-05-21 01:00:21 +03:00
Tooru Fujisawa
b41725bb4f Bug 1551473 - Provide utility methods to read brotli stream in BinASTTokenReaderContext. r=Yoric
Differential Revision: https://phabricator.services.mozilla.com/D31212

--HG--
extra : moz-landing-system : lando
2019-05-21 15:34:30 +00:00
Tooru Fujisawa
706c8c7b08 Bug 1549954 - Link in-tree brotli library if BinAST is enabled. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D30476

--HG--
extra : moz-landing-system : lando
2019-05-21 15:09:03 +00:00
Andrew McCreight
d1648e5525 Bug 1552597, part 2 - Handlify RemapAllWrappersForObject. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31689

--HG--
extra : moz-landing-system : lando
2019-05-20 08:40:01 +00:00
Andrew McCreight
2184a00342 Bug 1552597, part 1 - Fix comments in RemapWrapper to say rewrap instead of wrap. r=jonco
These calls were changed from wrap() to rewrap() in bug 1291001.

Also, fix a minor typo in xpcprivate.h, because I didn't feel like
filing a separate bug for it.

Differential Revision: https://phabricator.services.mozilla.com/D31688

--HG--
extra : moz-landing-system : lando
2019-05-20 08:37:49 +00:00
Nicolas B. Pierron
d9f43206ff Bug 1550751 - Skip rounding the dividend of non-truncated integer division, as already handled by a bailout. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D30672

--HG--
extra : moz-landing-system : lando
2019-05-20 13:02:43 +00:00
Matthew Gaudet
44540b2a3a Bug 1552316 - Disconnect initWithEnclosingScope from functionbox r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31537

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:50 +00:00
Matthew Gaudet
32b04894a8 Bug 1552316 - Don't rely on functionbox for initFromLazyFunction r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31536

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:44 +00:00
Matthew Gaudet
4fc4833da6 Bug 1552316 - Don't rely on functionbox in initWithEnclosingParseContext and initFiledInitializer r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31535

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:40 +00:00
Matthew Gaudet
e7bb4702b1 Bug 1552316 - Use functionbox directly in ASMJS r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31534

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:36 +00:00
Matthew Gaudet
f587c27271 Bug 1552316 - Use FunctionBox in ASTSerializer::function r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31533

--HG--
extra : moz-landing-system : lando
2019-05-21 13:47:31 +00:00
Matthew Gaudet
14adfcb8f2 Bug 1552316 - Use FunctionBox in ModuleBuilder r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31532

--HG--
extra : moz-landing-system : lando
2019-05-21 13:45:36 +00:00
Matthew Gaudet
35b6b4f5f2 Bug 1552316 - Hoist some queries from function into FunctionBox r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31530

--HG--
extra : moz-landing-system : lando
2019-05-21 13:45:21 +00:00
Matthew Gaudet
def2eac5e3 Bug 1552316 - Remove unused FunctionScope::Data::zone() r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D31529

--HG--
extra : moz-landing-system : lando
2019-05-21 13:45:01 +00:00
Jon Coppeard
22445824ad Bug 1537909 - Optimise external read barriers r=sfink?
Add a special path for the external read barrier API where we inline most of the checks and then always perform the barrier if we call into the engine.  This also skips dispatching on trace kind since we know the barrier tracer is always a GCMarker.

This is kind of hacky and I'm not sure how much it gains us (it's difficult to tell in profiles where GC may occur at different times).  What do you think?

Differential Revision: https://phabricator.services.mozilla.com/D31803

--HG--
extra : moz-landing-system : lando
2019-05-20 17:58:16 +00:00
Jon Coppeard
ea2ed53caf Bug 1395509 - Remove existing malloc accounting for externally allocated memory r=sfink?
Since we now have precise memory accounting for externally allocated memory associated with GC things we should be able to remove use of the existing malloc counter here.  This should help with cases where we trigger too many GCs because we think there is more memory associated than there really is.

Differential Revision: https://phabricator.services.mozilla.com/D31806

--HG--
extra : moz-landing-system : lando
2019-05-20 17:27:02 +00:00
Jeff Walden
1e8a4f44fd Bug 1553001 - Move module APIs out of jsapi.{cpp,h} into js/public/Modules.h and js/src/vm/Modules.cpp for better isolation of module-related APIs. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31917

--HG--
rename : js/src/jsapi.h => js/public/Modules.h
rename : js/src/jsapi.cpp => js/src/vm/Modules.cpp
extra : moz-landing-system : lando
2019-05-21 00:57:38 +00:00