Commit Graph

161 Commits

Author SHA1 Message Date
Jon Coppeard
9d6255073d Bug 1481196 - Compile module scripts to a JSScript like we do for classic scripts r=jandem r=baku 2018-08-08 10:40:03 +01:00
Jon Coppeard
ec2af16383 Bug 1475228 - Make synchronous compile APIs take SourceBufferHolders exclusively r=jandem r=fitzgen 2018-07-17 14:30:22 +01:00
Andreea Pavel
840f785b1e Backed out 8 changesets (bug 1475228) for wpt failures e.g. html/semantics/scripting-1/the-script-element/execution-timing/088.html on a CLOSED TREE
Backed out changeset b2d18ea619ec (bug 1475228)
Backed out changeset 45d3ffe3308e (bug 1475228)
Backed out changeset 02b27f8441be (bug 1475228)
Backed out changeset b82c2cf4b3f1 (bug 1475228)
Backed out changeset 2bc8f24dc3fc (bug 1475228)
Backed out changeset 6104ea971587 (bug 1475228)
Backed out changeset 7c83633262db (bug 1475228)
Backed out changeset 34fb24d52f08 (bug 1475228)
2018-07-30 16:49:02 +03:00
Jon Coppeard
c6cb9bdf25 Bug 1475228 - Make synchronous compile APIs take SourceBufferHolders exclusively r=jandem 2018-07-17 14:30:22 +01:00
Boris Zbarsky
276a600cb3 Bug 1382035. Treat Promise return values like undefined for javascript: urls. r=peterv 2018-07-23 16:18:33 -04:00
Margareta Eliza Balazs
ad89a11136 Backed out 7 changesets (bug 1475228) for causing Spidermonkey rust failures on Linux x64 debug
Backed out changeset e91802969fb7 (bug 1475228)
Backed out changeset 623af73419eb (bug 1475228)
Backed out changeset bf96bd78dc11 (bug 1475228)
Backed out changeset 104817d51d1b (bug 1475228)
Backed out changeset d3829c85f650 (bug 1475228)
Backed out changeset 74d10b32b3ea (bug 1475228)
Backed out changeset dde64fbe2f0d (bug 1475228)
2018-07-17 17:57:55 +03:00
Jon Coppeard
4bf9e8dfe9 Bug 1475228 - Make synchronous compile APIs take SourceBufferHolders exclusively r=jandem 2018-07-17 14:30:22 +01:00
Jan de Mooij
50c616a988 Bug 1473865 part 3 - Inline nsJSUtils::GetStaticScriptGlobal into its callers. r=bz 2018-07-09 12:26:59 +02:00
Jan de Mooij
6b3e0e4aee Bug 1473865 part 1 - Remove unused nsJSUtils::GetStaticScriptContext. r=bz 2018-07-09 12:26:39 +02:00
Jan de Mooij
09149a5c4a Bug 1472973 part 3 - Remove some GetGlobalForObjectCrossCompartment calls on globals/WindowProxy. r=bz 2018-07-06 18:16:23 +02:00
Jan de Mooij
a0f210fb97 Bug 1466458 part 1 - Remove JSContext::enterRealmDepth_. r=luke 2018-06-07 12:17:08 +02:00
Jan de Mooij
969bbf2190 Bug 1461938 part 1 - Store JS::Realm* instead of JSCompartment* in JSContext. r=luke
--HG--
extra : rebase_source : 7af7e5854bdbe0d750a13e0e8c70a71c2c5f88c3
2018-05-17 18:02:40 +02:00
Jon Coppeard
8d493df52b Bug 1444956 - Support BinAST decoding in the script loader r=baku 2018-05-16 15:58:13 +01:00
Margareta Eliza Balazs
00ba152869 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-16 13:07:21 +03:00
Jan de Mooij
80e44e8003 Bug 1461292 part 1 - Rename JSAutoCompartment to JSAutoRealm. r=bz,luke 2018-05-16 10:53:16 +02:00
Markus Stange
633ac66e7f Bug 1461555 - Rename ProfileEntry to ProfilingStackFrame. r=njn
The term "entry" is already used for elements in the profile buffer.

MozReview-Commit-ID: 1aB22V6veQh

--HG--
extra : rebase_source : c664eb4d6bed6cb74ba8a1b67ea99bd8ca57bcf7
extra : source : 3264c0cc0027b240b55bd3aebf27263b1e1d1cc0
2018-05-15 01:14:03 -04:00
Jon Coppeard
0924042900 Bug 1456774 - Remove linear search for finished parse task and type off thread parse token r=jandem r=baku 2018-05-10 14:51:14 +01:00
Peter Van der Beken
50944763eb Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 15d951ed53530387235db2aa1f3dad69d16c9fa7
2017-06-14 16:44:17 +02:00
Emilio Cobos Álvarez
500ff7c746 Bug 1446342: Don't include forms in the scope chain for XBL datetime bindings. r=smaug
Reviewers: smaug

Bug #: 1446342

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

MozReview-Commit-ID: HK7nChYf0X6
2018-03-20 01:34:09 +01:00
Sebastian Hengst
3a10644021 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)

--HG--
extra : histedit_source : 791b22f6770f4fead2f909478a93d65d85829fe0%2Cbb387309e90f53e1dde45dcf8cf4ebedcc6e5c5e
2018-03-01 11:51:09 +02:00
Peter Van der Beken
0dc914a027 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 8fb313cbfda3eeec985ba2060abdfe307963a553
2017-06-14 16:44:17 +02:00
Jon Coppeard
9b97fa3a81 Bug 1342416 - Preload module scripts r=baku 2018-02-15 13:18:59 +00:00
Jan de Mooij
7f30bf48a7 Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
Jonathan Watt
62787012f8 Bug 1417365 - Unified build issues in dom/base. r=baku 2017-10-26 10:40:12 +01:00
Nika Layzell
3409141758 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Nicholas Nethercote
8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Olli Pettay
478b3b1343 Bug 1405821 - Move microtask handling to CycleCollectedJSContext, r=baku 2017-10-05 18:34:12 +03:00
Jon Coppeard
22a385b644 Bug 1388728 - Remove eager module instantiation r=bkelly 2017-08-22 10:08:21 +01:00
Jon Coppeard
0173f129e8 Bug 1388728 - Rename JS APIs for loading modules in line with the spec r=bkelly 2017-08-22 10:07:49 +01:00
Nicholas Nethercote
58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Nicholas Nethercote
4b364cf3f3 Bug 1375299 (part 1) - Reduce usage of MOZ_GECKO_PROFILER. r=mstange.
This patch reduces the differences between builds where the profiler is enabled
and those where the profiler is disabled. It does this by removing numerous
MOZ_GECKO_PROFILER checks.

These changes have the following consequences.

- Various functions and classes are now defined in all builds, and so can be
  used unconditionally: profiler_add_marker(), profiler_set_js_context(),
  profiler_clear_js_context(), profiler_get_pseudo_stack(), AutoProfilerLabel.
  (They are effectively no-ops in non-profiler builds, of course.)

- The no-op versions of PROFILER_* are now gone. The remaining versions are
  almost no-ops when the profiler isn't built.

--HG--
extra : rebase_source : 8fb5e8757600210c2f77865694d25162f0b7698a
2017-06-22 06:26:16 +10:00
Nicholas Nethercote
0be77baa96 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.

--HG--
extra : rebase_source : 47e298fdd6f6b4af70e3357ec0b7b0580c0d0f50
2017-06-07 12:33:19 +10:00
Nicholas Nethercote
ede22c7534 Bug 1369612 - Remove ProfilerStackFrameDynamicRAII and profiler_call_{enter,exit}. r=mstange.
ProfilerStackFrameRAII and ProfilerStackFrameDynamicRAII are very similar; the
latter lets a dynamic string be specified as well (and lacks the
MOZ_GUARD_OBJECT stuff, for no good reason).

This patch does the following.

- Removes ProfilerStackFrameDynamicRAII, and adds a dynamic string to
  ProfilerStackFrameRAII. It also reorders the constructor's arguments to match
  the field ordering of ProfileEntry. There aren't many usage sites so these
  changes don't affect many places.

- With that done, there is only a single callsite for each of
  profiler_call_enter() and profiler_call_exit(), so the patch also inlines and
  removes them.
2017-06-02 15:38:20 +10:00
Nicholas Nethercote
caf0e9ec84 Bug 1367654 (part 2) - In GeckoProfiler.h, rename Sampler* as Profiler*. r=mstange.
Because everything else in this file is called ProfilerFoo or PROFILER_FOO.

--HG--
extra : rebase_source : ddab03809d321d4a301f309750e9cf55a528d467
2017-05-26 14:54:33 +10:00
Nicolas B. Pierron
8ea6209d25 Bug 1364117 - Encode JS bytecode of scripts which are parsed on the main thread. r=mrbkap 2017-05-29 16:01:37 +00:00
Nicolas B. Pierron
9812c67569 Bug 1366773 - Move buffer argument from JS::StartIncrementalEncoding to JS::FinishIncrementalEncoding. r=mrbkap,shu 2017-05-24 18:28:19 +00:00
Nicolas B. Pierron
49b55aae35 Bug 900784 part 1.0 - Add nsJSUtils functions for encoding and decoding the bytecode. r=mrbkap 2017-04-21 16:57:57 +00:00
Nicolas B. Pierron
5e65ca8119 Bug 1349618 - Guard ExecutionContext::mSamplerRAII with the MOZ_GECKO_PROFILER macro. r=njn 2017-03-23 10:55:25 +00:00
Nicolas B. Pierron
39741d711a Bug 1331662 part 2 - Replace nsJSUtils::EvaluateString calls by ExecutionContext scopes. r=bz 2017-03-22 13:42:27 +00:00
Nicolas B. Pierron
bb7321907a Bug 1331662 part 1 - Reimplement EvaluateString using the ExecutionContext class. r=bz 2017-03-22 13:42:26 +00:00
Boris Zbarsky
17ccfd1011 Bug 1306472. Back out bug 1268047, because the spec it tried to implement backs the web. r=smaug 2016-10-13 12:10:23 -04:00
Jon Coppeard
2317b2fef5 Bug 1295978 - Eagerly instantiate module dependencies r=bkelly 2016-08-26 11:09:52 +01:00
Jan de Mooij
5149714d22 Bug 1292892 part 6 - Remove nsContentUtils::RootingCx. r=bz 2016-08-11 14:39:23 +02:00
Jan de Mooij
0f65c9be84 Bug 1286159 - Clean up FinishOffThread* APIs for off-thread parsing. r=jonco 2016-07-19 09:19:54 +02:00
Boris Zbarsky
97b0a16147 Bug 1282150 part 4. Have just one way of getting the rooting JSContext, and call it nsContentUtils::RootingCx(). r=bholley 2016-07-07 20:08:26 -04:00
Andrea Marchesini
8723eb439d Bug 1278816 - Move Performance API into dom/performance, r=smaug
--HG--
rename : dom/base/PerformanceEntry.cpp => dom/performance/PerformanceEntry.cpp
rename : dom/base/PerformanceEntry.h => dom/performance/PerformanceEntry.h
rename : dom/base/PerformanceMark.cpp => dom/performance/PerformanceMark.cpp
rename : dom/base/PerformanceMark.h => dom/performance/PerformanceMark.h
rename : dom/base/PerformanceMeasure.cpp => dom/performance/PerformanceMeasure.cpp
rename : dom/base/PerformanceMeasure.h => dom/performance/PerformanceMeasure.h
rename : dom/base/PerformanceObserver.cpp => dom/performance/PerformanceObserver.cpp
rename : dom/base/PerformanceObserver.h => dom/performance/PerformanceObserver.h
rename : dom/base/PerformanceObserverEntryList.cpp => dom/performance/PerformanceObserverEntryList.cpp
rename : dom/base/PerformanceObserverEntryList.h => dom/performance/PerformanceObserverEntryList.h
rename : dom/base/PerformanceResourceTiming.cpp => dom/performance/PerformanceResourceTiming.cpp
rename : dom/base/PerformanceResourceTiming.h => dom/performance/PerformanceResourceTiming.h
rename : dom/base/nsPerformance.cpp => dom/performance/nsPerformance.cpp
rename : dom/base/nsPerformance.h => dom/performance/nsPerformance.h
rename : dom/base/test/performance_observer.html => dom/performance/tests/performance_observer.html
rename : dom/base/test/test_performance_observer.html => dom/performance/tests/test_performance_observer.html
rename : dom/base/test/test_performance_observer.js => dom/performance/tests/test_performance_observer.js
rename : dom/base/test/test_performance_user_timing.html => dom/performance/tests/test_performance_user_timing.html
rename : dom/base/test/test_performance_user_timing.js => dom/performance/tests/test_performance_user_timing.js
2016-06-09 12:42:21 +02:00
Jan de Mooij
66faed38af Bug 1277278 part 1 - Remove ContextOptions and make autoJSAPIOwnsErrorReporting the default. r=luke
--HG--
extra : rebase_source : aa1dcba100a3bb7a5057b07284cf4a99353afe5a
2016-06-07 20:30:48 +02:00
Boris Zbarsky
718461c894 Bug 1276276 part 5. Change AutoCxPusher to not worry about nsIScriptContext, since its JSContext never has one anymore. r=smaug 2016-06-02 10:34:40 -04:00
Boris Zbarsky
dc120449d2 Bug 1275698. Get rid of nsScriptSecurityManager::ScriptAllowed and replace it with xpc::Scriptability::Get(obj).Allowed() for better performance and less indirection. r=khuey 2016-05-27 20:26:56 -04:00
Boris Zbarsky
77b44a93be Bug 1275999 part 5. Get rid of GetDefaultScopeFromJSContext. r=bholley 2016-05-27 09:53:33 -04:00