Commit Graph

48405 Commits

Author SHA1 Message Date
Steve Fink
9c855788fb Bug 1125412 - Expose an object for inspecting GC memory values, r=terrence
--HG--
extra : rebase_source : c98affaa7f01beb0757256cbe4d63bd78e297dac
2015-01-26 15:32:54 -08:00
Jim Blandy
2825048c96 Bug 1146267: Define XP_DARWIN as appropriate in js/src stand-alone builds. r=sfink
--HG--
extra : rebase_source : 0ecd1f65aa210c4a692d852859ed81951b514b90
2015-03-23 12:33:03 -07:00
Guillaume Maudoux
3387d4307b Bug 731683 - IonMonkey: Improve Ion compilation/bailouts checks. r=nbp
* * *
Introduce a warmup reset counter

--HG--
extra : transplant_source : X%DD1%5B%8F%D0%3D%B4%1B%F9%F7%C9%D9%96%8A%5DR%C8%20%91
2015-03-15 01:45:06 +01:00
Jim Blandy
be4c8ae31e Bug 1146156: Add RR support to js/src/tests/jstests.py. r=nbp
--HG--
extra : rebase_source : 8b9c654db673383ddf0c645d331e8813043c370f
extra : histedit_source : 7af0d7deb4786add100653f32e4f046d6303df36
2015-03-21 17:34:45 -07:00
Boris Zbarsky
ee2ffbbfc9 Bug 1145491 part 7. Stop checking compileAndGo before emitting GNAME ops. r=luke 2015-03-20 21:34:19 -04:00
Boris Zbarsky
aa7430e61e Bug 1145491 part 6. Fix script cloning to propagate the polluted-global-scope state to the lambda templates in the script. r=luke 2015-03-20 21:34:18 -04:00
Boris Zbarsky
0ee526e128 Bug 1145491 part 5. Fix up various other places that check for JSOP_GET/SETNAME without checking for the GNAME versions too. r=luke 2015-03-20 21:34:18 -04:00
Boris Zbarsky
dfb8cedba5 Bug 1145491 part 4. Emit JSOP_IMPLICITTHIS for JSOP_GETGNAME as well, because otherwise bareword calls in polluted-global scripts won't work right. r=luke 2015-03-20 21:34:18 -04:00
Boris Zbarsky
96f5b25ca3 Bug 1145491 part 3. Only do the fast path for JSOP_SETGNAME and JSOP_STRICTSETGNAME when the script doesn't have a polluted global. r=luke,jandem 2015-03-20 21:34:18 -04:00
Boris Zbarsky
2d34843d6c Bug 1145491 part 2. Only do the fast path for JSOP_GETGNAME when the script doesn't have a polluted global. r=luke,jandem 2015-03-20 21:34:18 -04:00
Boris Zbarsky
91cd7cf1ae Bug 1145491 part 1. Only do the fast path for JSOP_BINDGNAME when the script doesn't have a polluted global. r=luke,jandem 2015-03-20 21:34:18 -04:00
Boris Zbarsky
8481b8ca9f Bug 1145488. Stop using compileAndGo in the JITs. r=jandem 2015-03-20 21:34:18 -04:00
Brian Hackett
f8c02740d9 Bug 1145426 - Fix compilation of unboxed object construction stubs on ARM and x86, r=jandem. 2015-03-23 08:06:40 -07:00
Maksim Lebedev
814ff7c30f Bug 1105766 - Part 2: A couple of additions to enable compilation on Windows Phone 8. r=terrence r=ehoogeveen 2015-03-21 15:24:00 +01:00
Emanuel Hoogeveen
9a8fc8b96d Bug 1105766 - Part 1: Extend the GC allocation logic to work on Windows Phone. r=terrence
--HG--
extra : rebase_source : d364f7743766dd059cd5e95295590224a3d3eaec
2015-03-21 15:22:00 +01:00
Benjamin Bouvier
7f11646965 Bug 1144692: Fix --disable-ion builds; r=h4writer
--HG--
extra : amend_source : f53a8fb37dbb3e79268b4ca50efb3a4b06e1d8bd
2015-03-23 07:59:36 +01:00
Phil Ringnalda
c4745d28b1 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
735dca6f1b 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.

--HG--
extra : rebase_source : 68cd15627a62728061e663706cb1ff8c7bb292a0
2015-03-01 13:16:19 -06:00
Jason Orendorff
a5c5338e0f 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.
--HG--
extra : rebase_source : a177bc1d8991f24652b4e629da5eaa52d9d4a59c
2015-02-28 11:23:44 -06:00
Jason Orendorff
db04193771 Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo.
--HG--
extra : rebase_source : 92dd18b10e100e7e2537c151a21d4f3be37e1c08
2015-02-17 11:58:43 -06:00
Jason Orendorff
c9896079b5 Bug 1142784, part 1 - In NativeObject.cpp, move some Lookup functions out of the way and make a big swath of this file the [[DefineOwnProperty]] section. r=Waldo.
--HG--
extra : rebase_source : b37456f33319b428dfbdc1b1c4270d7ea2d758a9
2015-02-17 12:01:54 -06:00
Jason Orendorff
39c8858336 Bug 1142775 - Rename NativeSet -> NativeSetExistingDataProperty and simplify it since it is only called for data properties. Delete Shape::set. Add comments. No change in behavior. r=efaust.
--HG--
extra : rebase_source : c9800f8ab602dae9e3da09a14a70f47ebd3fa86c
2015-02-28 14:40:07 -06:00
Jason Orendorff
53fd691536 Bug 1142761 - Move CallSetter into ScriptedIndirectProxyHandler so it will eventually be deleted along with its only remaining caller. r=efaust.
--HG--
extra : rebase_source : e6500d49877741ec992114a392ac0ad0cceb1da5
2015-02-28 11:49:49 -06:00
Jason Orendorff
800363dd52 Bug 1139683 - Rewrite SetExistingProperty with comments and references to the standard. r=efaust.
--HG--
extra : rebase_source : 780fb68a7ad32993b615a08fd43357b230d10d7d
2015-02-16 10:48:07 -06:00
Jason Orendorff
951bae6812 Bug 1144819 - Change JS_DefineProperty APIs to treat getter=nullptr and setter=nullptr as indicating class getter/setter ops only for data properties. r=Waldo.
--HG--
extra : rebase_source : eb14d7bbd47d57eb9b8168ee4d5e064dcc3c596d
2015-03-16 20:28:44 -05:00
Jason Orendorff
73269b1dad Bug 1143810 - Remove some XPConnect JSClass::setProperty hooks that are not needed anymore. r=bholley.
--HG--
extra : rebase_source : 94898ab662a5b57f7170cb9a504fe8eb64dded9a
2015-03-13 14:43:48 -05:00
Jim Blandy
62ae929398 Bug 1140773: Address review comments. r=shu 2015-03-21 23:37:47 -07:00
Jim Blandy
a0c02e8e15 Bug 1140773: Ensure that GCParallelTask subclasses properly join at the start of their destructor. r=shu
--HG--
extra : rebase_source : 552a1f4a49e5c1a0164c97795788578731896c78
extra : amend_source : ad83004645c2e71443008d3e12f1d49fbd7df266
2015-03-21 22:18:50 -07:00
Shu-yu Guo
c169a99c98 Bug 1143286 - Fix terminating scope assertion in DebugScopeObject. (r=jimb) 2015-03-21 14:11:14 -07:00
Shu-yu Guo
23132a22c5 Bug 1143194 - Skip JSTRY_FOR_OF when unwinding exceptions. (r=jorendorff) 2015-03-21 14:11:14 -07:00
Shu-yu Guo
132d074b5c Bug 1143194 - Handle JSTRY_FOR_OF in TI. (r=bhackett) 2015-03-21 14:11:14 -07:00
Shu-yu Guo
3153dbad9d Bug 1143194 - Make trynote checking in BytecodeParse clearer. (r=jorendorff) 2015-03-21 14:11:14 -07:00
Shu-yu Guo
0c2245089a Bug 1143194 - Rename JSTRY_ITER to JSTRY_FOR_IN. (r=jorendorff) 2015-03-21 14:11:14 -07:00
Shu-yu Guo
3bca61f7a5 Bug 1143194 - Handle JSTRY_FOR_OF when bailing out in-place from Ion for debug mode. (r=jandem) 2015-03-21 14:11:14 -07:00
Shu-yu Guo
ad0d736971 Bug 1143194 - Emit JSTRY_FOR_OF notes for for-of loops. (r=jorendorff) 2015-03-21 14:11:14 -07:00
Tom Schuster
936b3f4a37 Bug 1138157 - Change ScriptedDirectProxyHandler to inherit from BaseProxyHandler. r=efaust
This avoids the fallback behavior from DirectProxyHandler, which can't handle revoked proxies correctly.

Test created by André Bargull and me.
2015-03-21 20:30:57 +01:00
Jim Blandy
664a32d9e7 Bug 1134039: Make SpiderMonkey standalone (JS_STANDALONE) builds use jemalloc and mozglue by default. r=glandium
JS_STANDALONE builds don't need everything in mozglue; have mozglue omit the
unneeded code for such builds.

Since the SpiderMonkey binaries are now more like the other Gecko binaries, we
can remove some special cases for JS_STANDALONE in GeckoSharedLibrary,
GeckoProgram, etc. All Gecko binaries now use mozglue, which contains mfbt, so
we no longer need mention mfbt explicitly.

Add a property to the getBuildConfiguration testing function's result that
indicates whether we're using jemalloc or not.

Include the newly necessary source directories in the SpiderMonkey source
package.
2015-03-19 02:12:53 -07:00
Ehsan Akhgari
883849ee32 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
Jan de Mooij
10bf1e34ef Bug 1143704 part 11 - Move more functions into BytecodeEmitter. r=jorendorff 2015-03-21 12:55:54 +01:00
Jan de Mooij
9b3f5153d2 Bug 1143704 part 10 - Move more functions into BytecodeEmitter. r=efaust 2015-03-21 12:55:52 +01:00
Jan de Mooij
8123dc0764 Bug 1143704 part 9 - Move more functions into BytecodeEmitter. r=shu 2015-03-21 12:55:46 +01:00
Jan de Mooij
9579f08ed8 Bug 1143704 part 8 - Move more functions into BytecodeEmitter. r=luke 2015-03-21 12:55:42 +01:00
Jan de Mooij
cf9bd1071f Bug 1143704 part 7 - Move more functions into BytecodeEmitter. r=bhackett 2015-03-21 12:54:18 +01:00
Jan de Mooij
71389afa0d Bug 1143704 part 6 - Move more functions into BytecodeEmitter. r=efaust 2015-03-21 12:54:18 +01:00
Jan de Mooij
9d8d957e80 Bug 1143704 part 5 - Add a cx member to BytecodeEmitter. r=Waldo 2015-03-21 12:54:17 +01:00
Jan de Mooij
3c7c172cd1 Bug 1143704 part 4 - Turn Emit1 into a BytecodeEmitter method. r=bhackett 2015-03-21 12:54:09 +01:00
Jan de Mooij
03311b21b2 Bug 1143704 part 3 - Make EmitLoopHead return bool instead of ptrdiff_t. r=shu 2015-03-21 12:53:46 +01:00
Jan de Mooij
ff00302f97 Bug 1143704 part 2 - Make Emit3/EmitCall/EmitBackPatchOp return bool instead of ptrdiff_t. r=jorendorff 2015-03-21 12:53:46 +01:00
Jan de Mooij
4adefdc46b Bug 1143704 part 1 - Make Emit1/Emit2 return bool instead of ptrdiff_t. r=luke 2015-03-21 12:53:43 +01:00
Tom Schuster
448b35420a Bug 1145326 - String#normalize form parameter might not be an atom. r=Waldo 2015-03-21 13:12:25 +01:00
Jan de Mooij
cf52d0c317 Bug 1142669 part 5 - Lower inliningMaxCallerBytecodeLength from 10000 to 1500. r=h4writer 2015-03-21 12:33:41 +01:00
Wes Kocher
35ee79b993 Backed out changeset 17eec5f30889 (bug 1145488) for ggc orange 2015-03-20 22:40:05 -07:00
Wes Kocher
687d354d5b Backed out 7 changesets (bug 1145491) for ggc orange
Backed out changeset 8d14c6661f00 (bug 1145491)
Backed out changeset 7be39afdf528 (bug 1145491)
Backed out changeset 8066b21e74a0 (bug 1145491)
Backed out changeset 151e4cdb34cf (bug 1145491)
Backed out changeset 97b16da6169b (bug 1145491)
Backed out changeset cddba378a563 (bug 1145491)
Backed out changeset 80344fd40d6b (bug 1145491)
2015-03-20 22:39:44 -07:00
Shu-yu Guo
edfb53a32f 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
7fa429d624 Bug 1143860 - Deduplicate tracked optimizations when streaming the profile. (r=djvj) 2015-03-20 20:48:31 -07:00
Shu-yu Guo
255786d723 Bug 1143860 - Add column number to PCToLineNumber. (r=djvj) 2015-03-20 20:48:30 -07:00
Boris Zbarsky
0d2e2370d6 Bug 1145491 part 7. Stop checking compileAndGo before emitting GNAME ops. r=luke 2015-03-20 21:34:19 -04:00
Boris Zbarsky
c3e2519d34 Bug 1145491 part 6. Fix script cloning to propagate the polluted-global-scope state to the lambda templates in the script. r=luke 2015-03-20 21:34:18 -04:00
Boris Zbarsky
8fd50b3afc Bug 1145491 part 5. Fix up various other places that check for JSOP_GET/SETNAME without checking for the GNAME versions too. r=luke 2015-03-20 21:34:18 -04:00
Boris Zbarsky
05d0d8b68a Bug 1145491 part 4. Emit JSOP_IMPLICITTHIS for JSOP_GETGNAME as well, because otherwise bareword calls in polluted-global scripts won't work right. r=luke 2015-03-20 21:34:18 -04:00
Boris Zbarsky
9581a58fe2 Bug 1145491 part 3. Only do the fast path for JSOP_SETGNAME and JSOP_STRICTSETGNAME when the script doesn't have a polluted global. r=luke,jandem 2015-03-20 21:34:18 -04:00
Boris Zbarsky
fcb4bec8e2 Bug 1145491 part 2. Only do the fast path for JSOP_GETGNAME when the script doesn't have a polluted global. r=luke,jandem 2015-03-20 21:34:18 -04:00
Boris Zbarsky
29fe53049b Bug 1145491 part 1. Only do the fast path for JSOP_BINDGNAME when the script doesn't have a polluted global. r=luke,jandem 2015-03-20 21:34:18 -04:00
Boris Zbarsky
bda6c70e4a Bug 1145488. Stop using compileAndGo in the JITs. r=jandem 2015-03-20 21:34:18 -04:00
Ryan VanderMeulen
6fa51cb894 Backed out changeset d3c9b899f7d2 (bug 1143256) for frequent browser_perf-refresh.js leaks.
--HG--
extra : rebase_source : d8872879f2e6bec248ac3a5fc8b254be437abea0
2015-03-20 16:07:42 -04:00
Benjamin Bouvier
49ceac7a99 Bug 1143758: Invalidate script when a lexical check has failed; r=shu
--HG--
extra : rebase_source : 22eb2091c3b463bc7ec9625c9a82b9a40d11baaf
2015-03-17 19:23:44 +01:00
Benjamin Bouvier
62b073d29a Bug 1143758: Make LexicalCheck movable and bailout when a lexical isn't initialized; r=shu
--HG--
extra : rebase_source : 8961129cee5ee1aba41df41c7ca17dda14ad189d
2015-03-20 16:28:58 +01:00
Benjamin Bouvier
7319a01bdc Bug 1135042: Optimize SIMD.storeX/storeXY/storeXYZ in Ion; r=bhackett
--HG--
extra : rebase_source : 50d909f342f6ed912aeb48a12590836bb9506af1
2015-03-19 13:50:56 +01:00
Benjamin Bouvier
b554a521b3 Bug 1135042: Optimize SIMD.loadX/loadXY/loadXYZ in Ion; r=bhackett
--HG--
extra : rebase_source : b4c4b6c155477b14830880da44ba8ffbe161db4c
2015-03-20 19:36:16 +01:00
Nicolas B. Pierron
b3f567f106 Bug 1138693 - Check if Loads can be optimized by Scalar Replcement. r=jandem 2015-03-20 19:16:47 +01:00
Kannan Vijayan
8299080b57 Bug 1143802 - Forward jit level information to profiler frontend. r=shu 2015-03-20 13:50:23 -04:00
Benjamin Bouvier
85d4ae78b7 Bug 1135428: Fix test to run with --no-asmjs as well on a CLOSED TREE; r=bustage
--HG--
extra : rebase_source : a836af726f8186db15429cd654737909e2817615
extra : amend_source : a030391bd18db4efe6ef283205e298d4ff57d282
2015-03-20 16:55:06 +01:00
Benjamin Bouvier
962b231116 Bug 1135039: Generalize SimdGeneralShuffle codegen; r=sunfish
--HG--
extra : rebase_source : f5debe17cc43e21c374405d94dded6bf6a3ad533
2015-03-12 14:58:59 +01:00
Benjamin Bouvier
db1caa8757 Bug 1135039: Factor out LInstructionHelper/LVariadicInstruction code; r=sunfish
--HG--
extra : rebase_source : e1b6ff7dd63e18cfa9010b294dce14a4016fbf8b
2015-03-12 14:25:29 +01:00
Benjamin Bouvier
75db09e971 Bug 1135039: Generalize swizzle MIR node to SimdGeneralShuffle; r=sunfish
--HG--
extra : rebase_source : 0d6c1703c0285325929265820ddae2c08e0abaee
2015-03-18 20:07:45 +01:00
Benjamin Bouvier
f41e9c3221 Bug 1135039: Implement LVariadicInstruction; r=sunfish
--HG--
extra : rebase_source : 5735970f6323083e66b3ba4780f6627f850dd26a
2015-03-12 14:01:29 +01:00
Nick Fitzgerald
3dc26340ad Bug 1144973 - Ensure that StringifySavedFrameStack puts its stack string in the cx's compartment. r=bz 2015-03-19 10:29:00 -04:00
Emanuel Hoogeveen
7738c1c171 Bug 1143966 - Remove type specifier from AllocKind to avoid miscompilations on GCC. r=terrence
--HG--
extra : rebase_source : a5478fcb4b834ff6ba798032f6dd4f8e1d28107d
2015-03-19 13:59:00 -04:00
Luke Wagner
ec8e32a7cb Bug 1135428 - OdinMonkey: return nullptr, not false (r=warnings-as-errors CLOSED TREE) 2015-03-20 09:15:03 -05:00
Luke Wagner
8635de289b Bug 1135428 - OdinMonkey: remove compileAndGo restriction (r=bbouvier) 2015-03-20 08:52:14 -05:00
Brian Hackett
73cf6b02a1 Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-20 06:33:33 -07:00
Jan de Mooij
e5650a15ef Bug 1142669 followup - Move OffThreadCompilationAvailable definition outside namespace block. r=red CLOSED TREE 2015-03-20 14:14:06 +01:00
Jan de Mooij
1030a38246 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
f51f2669f3 Bug 1142669 part 3 - Limit the total inlined bytecode size to avoid excessive inlining. r=h4writer 2015-03-20 13:45:36 +01:00
Jan de Mooij
4b629f9510 Bug 1142669 part 2 - Lower the script inlining size limit if off-thread compilation is not available. r=h4writer 2015-03-20 13:45:35 +01:00
Jan de Mooij
294fa048ff Bug 1142669 part 1 - Fix inliningMaxCallerBytecodeLength to return the correct value. r=h4writer 2015-03-20 13:45:35 +01:00
Brian Hackett
4fae716053 Bug 1137180 - Add baseline caches for extensible unboxed objects, and enable extensible unboxed objects (still off by default), r=jandem. 2015-03-20 04:03:20 -07:00
Steve Fink
675eddf5d8 Bug 1120655 - Bustage fix for single-arg constructor on a CLOSED TREE
--HG--
extra : rebase_source : 91856805ff90218db3e211761256fe183f408da8
2015-03-19 22:03:15 -07:00
Boris Zbarsky
a310d66774 Bug 1145282. Reverse the sense of IsValidTerminatingScope and rename it to IsSyntacticScope. r=luke 2015-03-20 00:34:08 -04:00
Boris Zbarsky
9fb24e2658 Bug 1145294. Remove the obj argument from JS::CloneAndExecuteScript. r=luke 2015-03-20 00:34:08 -04:00
Boris Zbarsky
e41b92481e Bug 1144802 part 8. Drop the scopechain member from GlobalSharedContext, since it's not needed anymore. r=luke 2015-03-20 00:34:08 -04:00
Boris Zbarsky
241a5fd903 Bug 1144802 part 7. Remove the scopechain walk in the FunctionBox constructor, since consumers should now set hasPollutedGlobalScope as needed. r=luke 2015-03-20 00:34:08 -04:00
Boris Zbarsky
7581e8beea Bug 1144802 part 6. Remove the scopechain walk in BytecodeEmitter::needsImplicitThis, since consumers should now set hasPollutedGlobalScope as needed. r=luke 2015-03-20 00:34:08 -04:00
Boris Zbarsky
80c254b355 Bug 1144802 part 5. Flag eval scripts as having a polluted scopechain when inside a with scope. r=luke 2015-03-20 00:34:08 -04:00
Boris Zbarsky
a845fadd21 Bug 1144802 part 4. Stop returning true from ByteCodeEmitter::needsImplicitThis based on the compileAndGo flag. r=luke 2015-03-20 00:34:08 -04:00
Boris Zbarsky
b0c5730d80 Bug 1144802 part 3. Output JSOP_GIMPLICITTHIS whenever we have a JSOP_GETNAME in call context and don't know for a fact that we need an implicit this. r=luke 2015-03-20 00:34:08 -04:00
Boris Zbarsky
1755aa5966 Bug 1144802 part 2. Add JIT and interpreter fast paths for JSOP_GIMPLICITTHIS when the script doesn't have a polluted scope. r=jandem 2015-03-20 00:34:08 -04:00
Boris Zbarsky
5de2bf72b5 Bug 1144802 part 1. Add a JSOP_GIMPLICITTHIS which acts like JSOP_IMPLICITTHIS when the script hasPollutedGlobalScope and JSOP_UNDEFINED otherwise. r=luke 2015-03-20 00:34:07 -04:00
Boris Zbarsky
6cf13b0fd2 Bug 1144743 part 6. Set the hasPollutedGlobalScope flag correctly when executing scripts. r=luke 2015-03-20 00:34:07 -04:00
Boris Zbarsky
9864e3519d Bug 1144743 part 5. Set the hasPollutedGlobalScope flag correctly when cloning functions. r=luke 2015-03-20 00:34:07 -04:00
Boris Zbarsky
3cfd21de39 Bug 1144743 part 4. Set the hasPollutedGlobalScope flag correctly when compiling functions. r=luke 2015-03-20 00:34:07 -04:00
Boris Zbarsky
948d4ebefa Bug 1144743 part 3. Set hasPollutedGlobalScope when we're compiling scripts we know will be executed with a non-global scope without cloning them. r=luke 2015-03-20 00:34:07 -04:00
Boris Zbarsky
135a28f4b8 Bug 1144743 part 2. Add an option to JS::CompileOptions for hasPollutedGlobalScope. r=luke 2015-03-20 00:34:07 -04:00
Boris Zbarsky
ccaabb9de0 Bug 1144743 part 1. Add a hasPollutedGlobalScope flag to scripts. r=luke 2015-03-20 00:34:07 -04:00
Steve Fink
3c7aa89ef5 Bug 1120655 - Suppress zone/compartment collection while iterating, r=terrence
--HG--
extra : rebase_source : 6f5c36715e74d2ddbc519d882581bf43401a3c0d
2015-03-17 09:26:03 -07:00
Steve Fink
523fb231d0 Bug 1120655 - Rename lastGC -> destroyingRuntime, r=terrence
--HG--
extra : rebase_source : b52971daceea1d1f1579b1af68e07b7e1965f86d
2015-03-16 16:23:38 -07:00
Steve Fink
6163874390 Bug 1145255. r=luke, a=dveditz
--HG--
extra : rebase_source : 1b8f77a740fcf5377c22fea9b3f61a74c910474d
2015-03-19 15:46:24 -07:00
Ryan VanderMeulen
fc15c6491a Backed out changeset b79cddbe7de8 (bug 1142669) for causing bug 1112947 to spike. 2015-03-19 13:31:14 -04:00
Terrence Cole
cd642e73e8 Bug 1144920 - Move gray buffer clearing out of GCMarker; r=jonco
--HG--
extra : rebase_source : d3200f8c507e919d6c9321af8333ea2411b5ebec
2015-03-19 08:51:12 -07:00
Terrence Cole
f23ee26473 Bug 1144834 - Move resetBufferedGrayRoots to GCRuntime; r=jonco
--HG--
extra : rebase_source : 39c9db6062e5c11b81cd67463f1da380167d52a1
2015-03-19 08:50:52 -07:00
Terrence Cole
18b3252057 Bug 1144832 - Move grayBufferState manipulation out of GCMarker; r=jonco
--HG--
extra : rebase_source : 0f1d4a0b44aa8c5b00fee8edcafecff8faea7299
2015-03-19 08:50:32 -07:00
Terrence Cole
575145d755 Bug 1144817 - Move hasBufferedGrayRoots to GCRuntime; r=jonco
--HG--
extra : rebase_source : e6966688cfb987b9755e598c448418f7bf78f1bf
2015-03-18 11:17:03 -07:00
Terrence Cole
176c87da18 Bug 1144811 - Inline the start and end buffering gray roots methods on GCMarker; r=jonco
--HG--
extra : rebase_source : 42229aac1c4e6a69bff17db2ce3cd4571d55d776
2015-03-18 11:11:57 -07:00
Tom Schuster
2de182147c Bug 837630 - Stop hiding __proto__ from O.getOwnPropertyNames. r=Waldo,peterv,past 2015-03-19 17:42:15 +01:00
Boris Zbarsky
58ae84cfe1 Bug 1143793 part 6. Drop the obj argument of JS::Compile. r=luke
This is technically a behavior change for the shell's disfile() function, but
I really doubt anyone is doing disfile.call(someObj).
2015-03-19 10:13:34 -04:00
Boris Zbarsky
8699f29c8c Bug 1143793 part 5. Release-assert that a script being executed against a non-global scopechain is not compileAndGo. r=luke 2015-03-19 10:13:34 -04:00
Boris Zbarsky
8fc7f0cf64 Bug 1143793 part 4. Stop supporting load.call(somerandomobj) in xpcshell. r=bholley
I guess I should have done this in bug 1097987.
2015-03-19 10:13:34 -04:00
Boris Zbarsky
3d34e65906 Bug 1143793 part 3. Stop passing null as the obj argument of JS::Compile. r=luke.
Note that this is not a behavior change in the aRunInGlobalScope case in
nsFrameMessageManager, because that case never does setCompileAndGo(true) anyway.
2015-03-19 10:13:34 -04:00
Boris Zbarsky
5af7e8cdc5 Bug 1143793 part 2. Remove the obj argument of JS_CompileUCScript. r=luke 2015-03-19 10:13:34 -04:00
Boris Zbarsky
5529d8327d Bug 1143793 part 1. Remove the obj argument of JS_CompileScript. r=luke 2015-03-19 10:13:33 -04:00
Boris Zbarsky
dc24477d79 Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp.  The
rest of this diff was generated by running the following commands:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Jan de Mooij
7758ba238f Bug 1142669 - Fix some inlining issues and inline scripts with loops. r=h4writer 2015-03-19 15:10:07 +01:00
Jan de Mooij
2eca303692 Bug 1143847 - Fix bogus asserts in x64 Assembler::finish(). r=sunfish 2015-03-19 15:10:05 +01:00
Jim Blandy
e9755ee44c Bug 1144371: Implement DEBUG-only JS shell function |dumpStringRepresentation|. r=jandem
--HG--
extra : rebase_source : ebb25a0f97e59a24f8a4d7b9a022732f538f1c13
extra : amend_source : 131df33a2b698205d6b385f48c1501d87ba52f7d
2015-03-17 13:45:35 -07:00
Jim Blandy
b7a121e17d Bug 1063147: Clarify comments about extensible strings. DONTBUILD r=jandem
--HG--
extra : rebase_source : 3f46915120a9e0898b7341b372f3b3ae4e1e6c63
2015-03-16 18:40:21 -07:00
Jan de Mooij
297b82ad00 Bug 1141583 - Store nargs in LambdaFunctionInfo to avoid a TSan false positive. r=bhackett 2015-03-19 10:11:55 +01:00
Jan de Mooij
417dc71a84 Bug 974418 - Fix a TSan race involving the double-elements flag on template objects. r=bhackett 2015-03-19 10:08:41 +01:00
Heiher
638adea8f9 Bug 1144005 - IonMonkey: MIPS: Fix encode break instruction. r=rankov 2015-03-18 18:21:00 +01:00
Tooru Fujisawa
07c9f92744 Bug 1116376 - Skip full GC triggered by atoms zone if keepAtoms is true, and retrigger it after keepAtoms becomes false. r=jonco 2015-03-19 10:12:37 +09:00
Brian Hackett
cf2340b8f3 Bug 1137180 - Add most functionality necessary for extensible unboxed objects, r=jandem. 2015-03-18 18:05:51 -07:00
Brian Hackett
a054a9a07e Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
Daniel Holbert
c818b19251 Bug 1038839 followup: Add missing MOZ_OVERRIDE annotation to mightAlias() impls in MIR.h. r=ehsan 2015-03-18 16:44:03 -07:00
Brian Hackett
b1519706ba Bug 1130640 - Don't unroll loops based on bounds using terms that have been discarded, r=jandem. 2015-03-18 16:42:53 -07:00
Andrew McCreight
aeaa4ed4f6 Bug 1143760 - Do a tiny amount of code duplication to avoid a goto in XPCVariant::VariantDataToJS(). r=bholley 2015-03-18 11:36:04 -07:00
Andrew McCreight
63b1441eef Bug 1142717, part 5 - Eliminate XPC_WRAPPED_NATIVE_TEAROFFS_PER_CHUNK. r=bholley
This has been 1 since the what looks like the initial landing in 2001, so clearly we don't need this generality.
2015-03-18 11:36:04 -07:00
Andrew McCreight
4b0504854b Bug 1142717, part 4 - Add MOZ_COUNT_CTOR/DTOR for XPCWrappedNativeTearOff. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
8d859f353e Bug 1142717, part 3 - Make XPCWrappedNativeTearOff::mNative a smart pointer. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
724707b79a Bug 1142717, part 2b - Rename obj to qiResult in InitTearOff. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
fb9de9d231 Bug 1142717, part 2 - Use nsRefPtr for obj in XPCWrappedNative::InitTearOff. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
d7800e90bf Bug 1142717, part 1 - Remove unused forward declaration of xpc_GetJSPrivate. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
468e063778 Bug 1137536, part 3 - Move the top level DeferredFinalize functions into their own file. r=smaug 2015-03-18 11:36:03 -07:00
Andrew McCreight
fa1e69dd93 Bug 1137536, part 2 - Make sure every file that uses an nsCycleCollector_ function includes nsCycleCollector.h. r=smaug
This will let us remove it from headers after we split out DeferredFinalize into its own header.
2015-03-18 11:36:03 -07:00
Andrew McCreight
fc0fb081b0 Bug 1137536, part 1 - Move DeferredFinalize out of the cyclecollector namespace. r=smaug 2015-03-18 11:36:03 -07:00
Andrew McCreight
24b97f86af Bug 1143938 - Add listener argument to Components.utils.forceCC. r=smaug 2015-03-18 11:36:03 -07:00
Terrence Cole
faa8ea7b6a Bug 1144794 - Move markBufferedGrayRoots to the GCRuntime; r=sfink, a=RyanVM 2015-03-18 10:56:29 -07:00
Terrence Cole
0b3145e321 Bug 1144789 - Strongly type GrayBufferState enum and move to GCRuntime; r=sfink, a=RyanVM 2015-03-18 10:56:03 -07:00
Terrence Cole
bae886e9cf Bug 1144369 - Add a GC phase to track time spent buffering gray roots; r=sfink, a=RyanVM 2015-03-18 10:49:02 -07:00
Terrence Cole
0d22d97eb5 Bug 1144331 - Assert that gray buffering does not depend on isMarking; r=jonco, a=RyanVM 2015-03-18 10:48:36 -07:00
Brian Hackett
5d733811e9 Bug 1143106 - Fix construction of singleton objects during parsing when unboxed objects are in use, r=jandem. 2015-03-18 08:42:30 -07:00
Nicolas B. Pierron
979db7f522 Bug 1137624 - Disable Array.join optimization. r=jandem 2015-03-18 15:12:47 +01:00