Commit Graph

1045 Commits

Author SHA1 Message Date
Jan de Mooij
60cfaa0d07 Bug 1142669 part 6 - Don't inline scripts that are known to inline a lot of code. r=h4writer 2015-03-25 15:15:23 +01:00
Shu-yu Guo
d0c1855b73 Bug 1146718 - Split the 'J' tag in the profiler into 'J' (JIT frames without opt info) and 'O' (with opt info). (r=djvj) 2015-03-24 18:49:16 -07:00
Terrence Cole
ef0a198902 Bug 1135985 - Split callback and marking tracers completely; r=jonco, r=mccr8 2015-02-25 13:11:37 -08:00
Steve Fink
1191cc32f1 Bug 1125412 - Expose an object for inspecting GC memory values, r=terrence 2015-01-26 15:32:54 -08:00
Phil Ringnalda
8a89e647fd Backed out 9 changesets (bug 1142775, bug 1139683, bug 1143810, bug 1142761, bug 1142784, bug 1142794, bug 1144819) for widespread bustage
CLOSED TREE

Backed out changeset 7613fc978d36 (bug 1142794)
Backed out changeset e5f0cb31263d (bug 1142784)
Backed out changeset dcd0af73ac84 (bug 1142784)
Backed out changeset 034f9c8e79ee (bug 1142784)
Backed out changeset ce0ee37e3ca9 (bug 1142775)
Backed out changeset 1519b8f2bbba (bug 1142761)
Backed out changeset 26fd55677841 (bug 1139683)
Backed out changeset 7ebc76a450c3 (bug 1144819)
Backed out changeset 92adb459d519 (bug 1143810)
2015-03-22 09:34:25 -07:00
Jason Orendorff
60373a960b Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo.
Also: Change signature of these functions and methods to all have the same arguments in the same order: (cx, obj, id, v, receiver). Also change v from MutableHandleValue to HandleValue.

There is no change in behavior.

In fact the new error message `JSMSG_SET_NON_OBJECT_RECEIVER` is
impossible to trigger from scripts for now, I think (after re-reading
the whole patch with this in mind). JS_ForwardSetPropertyTo is the only
way to get a non-object receiver into the engine, but no caller
currently does so.

We're installing new pipes here, and they should work, but for now it's
the same cold water flowing through as before. Actually hooking up the
hot water is left for another bug (one with tests, not to put too fine a
point on it).

Notes:

*   InvokeGetterOrSetter had to be split into two functions:
    InvokeGetter takes a MutableHandleValue out-param,
    InvokeSetter a HandleValue in-param.

*   Watchpoints can still tamper with values being assigned. So can
    JSSetterOps. I'm pleased we can support this craziness in a way that
    doesn't have to spread via the type system to encompass the entire
    codebase.

*   Change in GlobalObject::setIntrinsicValue is not really a change.
    Yes, it asserted before, but an exception thrown during self-hosting
    initialization is not going to go unnoticed either.

*   Since the receiver argument to js::SetProperty() is at the end now, it
    makes sense for it to be optional. Some callers look nicer.
2015-03-01 13:16:19 -06:00
Jason Orendorff
f6bc97638d Bug 1142784, part 3 - Change js::DefinePropertyOp and a few property-defining functions to use PropertyDescriptor rather than separate (value, attrs, getter, setter) arguments. r=Waldo. 2015-02-28 11:23:44 -06:00
Jason Orendorff
6b90d382df Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Ehsan Akhgari
33bb32f549 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Shu-yu Guo
8c2f2cd62d Bug 1145440 - Ship constant names for tracked strategy and outcomes in the profile JSON instead of slightly longer form strings. (r=djvj) 2015-03-20 20:48:32 -07:00
Shu-yu Guo
0e549bf2bc Bug 1143860 - Deduplicate tracked optimizations when streaming the profile. (r=djvj) 2015-03-20 20:48:31 -07:00
Ryan VanderMeulen
909711667c Backed out changeset d3c9b899f7d2 (bug 1143256) for frequent browser_perf-refresh.js leaks. 2015-03-20 16:07:42 -04:00
Kannan Vijayan
ec7c3382c7 Bug 1143802 - Forward jit level information to profiler frontend. r=shu 2015-03-20 13:50:23 -04:00
Brian Hackett
3729221e19 Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-20 06:33:33 -07:00
Jan de Mooij
6980cbf56d Bug 1142669 part 4 - Fix some inlining issues and inline scripts with loops. r=h4writer 2015-03-19 15:10:07 +01:00
Jan de Mooij
bf95f782eb Bug 1142669 part 3 - Limit the total inlined bytecode size to avoid excessive inlining. r=h4writer 2015-03-20 13:45:36 +01:00
Brian Hackett
1c8357ba59 Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
Tooru Fujisawa
678e5efa12 Bug 1079919 - Part 0: Add RegExp ClassSpec. r=bholley 2015-03-18 18:22:05 +09:00
Terrence Cole
9884e19393 Bug 1141234 - Part 1: Abstract PossiblyFail into the OOM testing machinery; r=sfink 2015-03-11 11:06:20 -07:00
Nick Fitzgerald
90cb8a5687 Bug 1142338 - Debugger.Memory's census shouldn't use JS::ubi::Node::as<T>; r=sfink 2015-03-13 13:19:26 -07:00
Brian Hackett
95a7406bac Bug 1135897 - Use unboxed objects for JSON objects and constant literals embedded in scripts, r=jandem. 2015-03-12 17:09:21 -06:00
Jason Orendorff
93b2f19ac6 Bug 828137, part 1 - Make Object.defineProperty fail on window elements. r=bz. 2015-02-11 11:38:36 -06:00
Jason Orendorff
951d1580ab Bug 1141329, prelude - Make ObjectOpResult pointer-sized to fix amazingly bogus code and assertions in IonCaches, introduced by rev 0712a3d4b79c. r=efaust. 2015-03-10 12:22:30 -05:00
Carsten "Tomcat" Book
9f406a7b29 Backed out changeset df26246112ad (bug 828137) 2015-03-09 16:49:34 +01:00
Jason Orendorff
50c193277b Bug 828137, part 1 - Make Object.defineProperty fail on window elements. r=bz. 2015-02-11 11:38:36 -06:00
Jason Orendorff
e218a3988f Bug 1113369, part 7 - [[SetPrototypeOf]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-05 16:36:50 -06:00
Jason Orendorff
3322381e4f Bug 1113369, part 6 - [[PreventExtensions]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-04 12:01:01 -06:00
Jason Orendorff
d1204e0adb Bug 1113369, part 5 - [[Delete]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-04 10:20:04 -06:00
Jason Orendorff
e065e5cceb Bug 1113369, part 4 - [[Set]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-03 19:51:40 -06:00
Jason Orendorff
f43c96af4d Bug 1113369, part 3 - [[DefineOwnProperty]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
Add an ObjectOpResult out-param for DefineProperty functions everywhere. We leave a few js::DefineProperty() convenience functions with no *result out-param. These have strict behavior: that is, they automatically check the result and throw if it is false. In bug 1125624 these strict signatures may end up being called DefinePropertyOrThrow, as that is what the spec calls it.
2015-01-30 11:37:07 -06:00
Jason Orendorff
143ed465ec Bug 1113369, part 2 - js::SetArrayLength ObjectOpResult support. r=Waldo. 2015-01-29 23:02:26 -06:00
Jason Orendorff
de1c1c9fb9 Bug 1113369, part 1½ - Avoid regressing error messages by adding obj to the ObjectOpResult methods that could throw a TypeError. r=Waldo. 2015-02-18 18:49:17 -06:00
Jason Orendorff
d7beadeba1 Bug 1113369, part 1 - Introduce JS::ObjectOpResult and use it in js::StandardDefineProperty. r=Waldo.
In general, jsobj.h will offer, for each standard internal method that returns a boolean value indicating success/failure, signatures with a JS::ObjectOpResult& out-parameter and signatures without it. The ones without will throw a TypeError on failure (that is, the behavior will be "strict").
2015-02-02 17:06:47 -06:00
Jason Orendorff
155abd81e7 Bug 1130576 - Rename JSPropertyOp -> JSGetterOp and JSStrictPropertyOp -> JSSetterOp. r=efaust. 2015-01-30 13:56:15 -06:00
Nick Fitzgerald
1535cf4051 Bug 1139217 - Make js::HashSet<T> work with move-only T types; r=luke 2015-03-03 17:54:00 +01:00
Terrence Cole
e0d0e39876 Bug 1134425 - Part 1: move the allocator interface code out of line; r=jonco 2015-03-04 09:32:02 -08:00
Kannan Vijayan
15073b7379 Bug 1130367 - Ensure profiler stack sampling is disabled when spsProfiler is disabled. r=shu 2015-03-02 17:46:13 -05:00
Benjamin Bouvier
84cacb2a5a Bug 1134638: 14. Inline SIMD getters (signMask, .x, .y, .z, .w) in Ion; r=nbp 2015-02-26 12:08:16 +01:00
Jan de Mooij
c588ad661c Bug 1137523 - Unprefix most js_* functions. r=bhackett CLOSED TREE 2015-02-27 16:08:15 +01:00
Boris Zbarsky
29c02a7c07 Bug 1136925 part 3. Stop passing parents to js::NewProxyObject. r=waldo 2015-02-26 15:58:59 -05:00
Wes Kocher
bc62dd3b33 Backed out 4 changesets (bug 1136925) for potentially busting m-e10s-dt on a CLOSED TREE
Backed out changeset 331761aaae22 (bug 1136925)
Backed out changeset 2faa0e91fe23 (bug 1136925)
Backed out changeset a00f2530c911 (bug 1136925)
Backed out changeset d5e658bc0792 (bug 1136925)
2015-02-26 23:17:34 -08:00
Boris Zbarsky
e8c2fb81d9 Bug 1136925 part 3. Stop passing parents to js::NewProxyObject. r=waldo 2015-02-26 15:58:59 -05:00
Jan de Mooij
5b2e74d5bb Bug 1136837 part 1 - Don't inline calls with incomplete type information for this or arguments. r=h4writer 2015-02-26 15:33:45 +01:00
Jon Coppeard
48edaed9e4 Bug 1130439 - Trigger compacting GCs after the user becomes inactive r=smaug r=terrence 2015-02-24 09:40:02 +00:00
Jon Coppeard
f9426664ae Bug 1136046 - Increase maximum capacity of js::HashMap and HashSet r=luke 2015-02-26 09:02:13 +00:00
Nicholas Nethercote
3543c6b95e Bug 979293 - Don't write collision bits in HashTable unnecessarily. r=luke.
This avoids no-op writes to the keyHash of entries when doing a no-add-lookup.
This removes a genuine data race in JSRuntime::permanentAtoms, which receives
frequent no-add-lookups from multiple threads after JSRuntime initialization
without any kind of locking.
2015-02-25 10:39:46 -08:00
Kannan Vijayan
a51ff62795 Bug 1129510 - Trace references to JS heap from Profiler buffers. r=shu 2015-02-25 16:43:39 -05:00
Ryan VanderMeulen
4537f3c63b Backed out changesets 3de23a29bf71 and d42c64b791e6 (bug 1129510) for debug SM(e) timeouts. 2015-02-25 13:44:19 -05:00
Kannan Vijayan
373f197cbc Bug 1129510 - Trace references to JS heap from Profiler buffers. r=shu 2015-02-25 11:26:28 -05:00
Xidorn Quan
6299c8640f Bug 1135535 part 4 - Fix C4275 dll-interface warning and mark this warning as error in js/src on MSVC. r=luke
Fix warning:
js\src\jswrapper.h(58) : error C4275: non dll-interface class 'js::DirectProxyHandler' used as base for dll-interface class 'js::Wrapper'
        obj-firefox\dist\include\js/Proxy.h(358) : see declaration of 'js::DirectProxyHandler'
        js\src\jswrapper.h(57) : see declaration of 'js::Wrapper'
2015-02-25 15:26:23 +11:00