Commit Graph

40632 Commits

Author SHA1 Message Date
Bobby Holley
048f4eae8c Bug 957688 - Kill off checkAccess. r=mrbkap 2014-01-24 16:08:26 -08:00
Bobby Holley
63ace2357b Bug 957688 - Remove checkAccess nsIXPCScriptable hook. r=mrbkap 2014-01-24 16:08:25 -08:00
Bobby Holley
af7880d72a Bug 957688 - Remove checkObjectAccess security callback. r=mrbkap
There's no need for the JS shell stuff either, since vm/Runtime.cpp already
sets up NullSecurityCallbacks by default.
2014-01-24 16:08:25 -08:00
Bobby Holley
db1edc2054 Bug 957688 - Remove side-effect-y call to js::CheckAccess, and remove js::CheckAccess itself. r=mrbkap
Thankfully, this case was only taking the JSACC_PROTO, which is significantly
simpler than the alternative.
2014-01-24 16:08:25 -08:00
Bobby Holley
66ad6a05d9 Bug 957688 - Remove side-effect-free calls to js::CheckAccess. r=mrbkap
js::CheckAccess has all sorts of crazy side-effects on its parameters. Luckily,
they mostly happen on dead values.

We have to alter a jit-test that previously threw, and doesn't anymore. I have
confirmed that the reason for throwing was not the security check itself, but
rather the lookupGeneric call that happens inside js::CheckAccess, which ends
up throwing 'undefined is not a function'. It seems like this is just an issue
of calling lookupGeneric when we shouldn't, and that the correct behavior here
is not to throw.
2014-01-24 16:08:24 -08:00
Bobby Holley
c8281a04d3 Bug 957688 - Remove JS_CheckAccess. r=mrbkap
But how will we call from Gecko into the JS engine to query CAPS via a callback?
2014-01-24 16:08:24 -08:00
Bobby Holley
83a7fd5f32 Bug 957688 - Make ComputeStackString pass a principal and remove checkAccess call. r=mrbkap
Now that we have the principal-based filtering for stack walking, we can do this.
This isn't technically equivalent to the old behavior, since a stack that goes:

A -> B -> A

would previous have only seen the second set of |A| frames, whereas now we'd
see both sets. But this seems strictly better (also, it doesn't happen on the
web).

As noted, I've filed a bug for making this context- and saveFrameChain-agnostic.
2014-01-24 16:08:24 -08:00
Terrence Cole
07cf57140e Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 7; r=sfink 2014-01-21 17:03:20 -08:00
Terrence Cole
91ca6a1d69 Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 6; r=jonco 2014-01-17 10:10:17 -08:00
Terrence Cole
dc3a39595c Bug 963232 - Add extensive documentation to js/GCAPI.h; r=billm 2014-01-23 11:47:11 -08:00
Jeff Walden
c47e36f0b2 Bug 963434 - Remove jsopcode.tbl and jsoplengen.cpp in favor of a higher-order macro, and make JSOP_*_LENGTH into C++ constant variables. This will make the build process simpler, and it likely eliminates a needs-CLOBBER situation encountered while landing bug 948583. Particular thanks to r=jorendorff for the fast review here (given any change at all to jsopcode.tbl would bitrot this), DONTBUILD because already landed with wrong bug number 2014-01-24 13:21:09 -08:00
Jeff Walden
afae127ae3 Backed out changeset fe06fb5e10a7, wrong bug number.
--HG--
extra : rebase_source : fad89601b11e3a6cf19114b2152fa3c62d05cce4
2014-01-24 15:00:52 -08:00
Andrew McCreight
8aa8afcb8d Bug 963652 - Handlify JS_ForwardGetPropertyTo. r=terrence 2014-01-24 15:01:47 -08:00
Jeff Walden
f23f7d4ebe Bug 963634 - Remove jsopcode.tbl and jsoplengen.cpp in favor of a higher-order macro, and make JSOP_*_LENGTH into C++ constant variables. This will make the build process simpler, and it likely eliminates a needs-CLOBBER situation encountered while landing bug 948583. Particular thanks to r=jorendorff for the fast review here (given any change at all to jsopcode.tbl would bitrot this)
--HG--
extra : rebase_source : 4f5956dd196ff894766210cc4c9629054fc2914d
2014-01-24 13:21:09 -08:00
Till Schneidereit
8a01fbb272 Bug 963077 - Bustage followup on a CLOSED TREE. r=jandem 2014-01-24 20:18:52 +01:00
Till Schneidereit
0e31303ca9 Bug 963077 - ensure function is non-lazy before getting its arguments in js_fun_apply. r=jandem
--HG--
extra : rebase_source : cb81f240eb139ed5d719901265eaf6d51fd0e0e1
2014-01-24 17:05:25 +01:00
Jon Coppeard
68ea58c9c7 Bug 959787 - Handlify JS_Lookup* APIs r=sfink r=bz 2014-01-24 14:03:56 +00:00
Marcin Juszkiewicz
01e6d3f708 Bug 963026 - AArch64 support for Javascript Engine. r=djvj 2014-01-24 08:46:58 -05:00
Nicholas Nethercote
0b05b51057 Bug 961883 (part 3) - Measure and report the Nursery. r=terrence.
--HG--
extra : rebase_source : 6f12d47ca8cedc96b0dd0477ca4f71de08e47181
2014-01-21 17:17:08 -08:00
Nicholas Nethercote
04907c0a12 Bug 961883 (part 2) - Measure and report the StoreBuffer. r=terrence.
--HG--
extra : rebase_source : f298f0373b7fee99eee7a62060f882d628f97eb2
2014-01-21 17:17:02 -08:00
Nicholas Nethercote
5de1ab52da Bug 961883 (part 1) - Measure and report the SourceDataCache. r=benjamin.
--HG--
extra : rebase_source : b599e19fb681e972b1f6e184c44f5a726a61009f
2014-01-20 19:52:57 -08:00
Nicholas Nethercote
b60b20f34b Bug 961883 (part 0) - Some tiny HashTable comment tweaks. r=luke.
--HG--
extra : rebase_source : 749b61ec992335aa5e2be63340e88b04ff236967
2014-01-20 19:52:52 -08:00
Jeff Walden
cd1afc6984 Bug 948227 - Add code to warn when the __proto__ setter is called that it's very slow and shouldn't be used. (Don't use it yet, tho, because it requires the second part of bug 948583 to land first. Once that lands, fully enabling this just requires some uncommenting.) r=efaust
--HG--
extra : rebase_source : 87d320edcc99b6ef7df98c2470c78d4085aa4f99
2013-12-11 16:04:07 -08:00
Jeff Walden
ffedcc543c Fix the Windows non-threadsafe build by exposing/using a thread-aware symbol only in threadsafe builds. No bug, r=terrence
--HG--
extra : rebase_source : 5f950f54bad34f2fd93da575aff332f155a684aa
2014-01-23 16:09:07 -08:00
Jeff Walden
5d91316dcf Bug 948583 - Implement __proto__ in object literals using a new JSOp. The JSOp still uses setprop-like behavior to mutate the [[Prototype]]; we'll change that in a subsequent patch, coming probably in the next couple weeks (definitely before uplift). r=jorendorff, r=efaust
--HG--
extra : rebase_source : d779071661bbb1375b8eff60afa7cdf36d2c3005
2013-12-11 16:03:57 -08:00
Marcin Juszkiewicz
7ea62c1fc8 Bug 963032 - AArch64 support for Build Config. r=mshal 2014-01-23 16:34:32 -05:00
Bert Belder
608dff87bf Bug 956899 - js: Use mozilla::ThreadLocal instead of NSPR for IonContext's thread-local variable. r=jwalden
* * *
[mq]: moar

--HG--
extra : rebase_source : dfc785cf9eac717624116484f07065e870a22801
2014-01-22 12:42:56 -05:00
Jeff Walden
caa2438eee Replace a few manual JSPropertySpec[] terminators with JS_PS_END. No bug, r=trivial
--HG--
extra : rebase_source : 4552e44f655f18963260d5b0b235e15df4721ff0
2014-01-09 15:54:54 -06:00
Jan de Mooij
8c06b1c53e Bug 962653 - Use mozilla::Atomic for MIRGenerator::cancelBuild_. r=nbp
--HG--
extra : rebase_source : ebcbf9b1a6d21e516ab18d58f203270ce25a63bc
2014-01-23 20:50:56 +01:00
Ryan VanderMeulen
74b0ee69de Backed out changeset 26984019ff59 (bug 962605) for suspicion of causing OSX 10.8 debug mochitest-other crashes.
CLOSED TREE
2014-01-23 12:45:43 -05:00
Nicolas B. Pierron
469b6da4af Bug 920322 - XDR/Clone singletons. r=bhackett,jandem 2014-01-23 06:43:28 -08:00
Boris Zbarsky
9cebb8d6b3 Bug 962605. Enable baseline jit in xpcshell. r=bholley 2014-01-22 14:37:11 -05:00
Jon Coppeard
badc9a3713 Bug 962576 - Fix warning in minor GC profiling code which is not built by default r=me DONTBUILD 2014-01-23 12:25:25 +00:00
Jon Coppeard
1b648948b8 Bug 962576 - Add option to time minor collections and dump the results r=terrence 2014-01-23 09:53:42 +00:00
Jon Coppeard
904faa3371 Bug 961077 - Take marking function as template parameter in PersistentRootedMarker r=sfink 2014-01-23 09:53:42 +00:00
Jon Coppeard
b9079fc840 Bug 885954 - Delete implicit move constructors for Heap*Ptr objects r=terrence 2014-01-23 09:53:42 +00:00
Jim Blandy
bc63d26719 Bug 958646: Implement Debugger.Script.prototype.global accessor. r=sfink 2014-01-22 16:55:12 -08:00
Jim Blandy
dbbe6cad1d Bug 942251: Rename Debugger.Script.prototype.elementProperty to elementAttributeName, and all related. r=sfink
--HG--
rename : js/src/jit-test/tests/debug/Source-elementProperty.js => js/src/jit-test/tests/debug/Source-elementAttributeName.js
2014-01-22 16:41:16 -08:00
Jim Blandy
9d5d8dda07 Bug 944121: Add options argument to the JS shell's offThreadCompileScript function. For off-thread compilation, put off initializing some slots of ScriptSourceObject until after the compartment merge. r=bhackett
--HG--
rename : js/src/jit-test/tests/basic/offThreadCompileScript.js => js/src/jit-test/tests/basic/offThreadCompileScript-01.js
2014-01-22 16:41:16 -08:00
Jim Blandy
f044b1e28b Bug 944121: Abstract JS shell's compilation options parsing out into its own function. r=bhackett 2014-01-22 16:41:16 -08:00
Jim Blandy
bcdbbde4dc Bug 952885: When doing cross-global compilations in the shell, properly wrap CompileOptions members for the new global. r=njn 2014-01-22 16:41:15 -08:00
Jim Blandy
0330e571cb Bug 944121: Make js::ParseTask use PersistentRooted instead of AddObjectRoot / JS_RemoveObjectRoot. r=bhackett 2014-01-22 16:41:15 -08:00
Wes Kocher
5e765f516a Backed out changeset c75f13d4f160 (bug 962605) 2014-01-22 16:16:07 -08:00
Steve Fink
edd13ec3e9 Bug 960342 - Convert StackShape from AutoRooter to RootedGeneric, r=terrence 2014-01-22 11:52:44 -08:00
Steve Fink
193fe092cd Bug 960342 - Convert StackBaseShape from AutoRooter to RootedGeneric, r=terrence 2014-01-22 11:52:44 -08:00
Steve Fink
9f72871624 Bug 960342 - Add a RootedGeneric general class, r=terrence 2014-01-22 11:52:44 -08:00
Steve Fink
d4180132b8 Bug 959806 - Make the analysis explain why it believes a type to be a gc type, r=terrence 2014-01-14 13:20:32 -08:00
Boris Zbarsky
ef95954bd2 Bug 962605. Enable baseline jit in xpcshell. r=bholley 2014-01-22 14:37:11 -05:00
Jim Blandy
32330dffbc Bug 962441: Add regression test for Debugger.prototype.findScripts finding incompletely initialized JSScripts. r=shu 2014-01-22 10:54:28 -08:00
Nathan Froyd
94c8fcfd47 Bug 962080 - fix maybe-uninitialized variable warning in IonBuilder.cpp; r=jandem 2014-01-21 09:36:03 -05:00
Luke Wagner
4fed240467 Bug 916564 - Expand source notes to hold 31-bit offsets (r=jorendorff)
--HG--
extra : rebase_source : bf350f233c514d6a97273d2ee23ce68476ae3b79
2014-01-17 17:40:41 -06:00
Luke Wagner
2ef3639bf3 Bug 916564 - Move countFinalSourceNotes to a better place (r=jorendorff)
--HG--
extra : rebase_source : c0b10f87f1e10499586fed2e4fa570edfcaaf510
2014-01-17 17:39:02 -06:00
Tom Schuster
18397aa440 Bug 958119 - Some cleanup for XPConnect. r=gabor 2014-01-22 18:50:32 +01:00
Birunthan Mohanathas
7ae909ea45 Bug 798033 - Remove 'using namespace' from CompileInfo-inl.h. r=evilpies 2014-01-22 12:24:08 -05:00
Andy Wingo
c03db3bb6d Bug 962484 - Fix script XDR bug after bug 916612 r=luke 2014-01-22 16:58:44 +01:00
Romain Perier
4fe39c6107 Bug 956051 - Inline str_replace with string, string as arguments. r=nbp, r=jandem 2014-01-22 10:43:32 -05:00
Sylvestre Ledru
1b45941991 Bug 781552 - Turn on -Werror=int-to-pointer-cast globally. r=ted 2014-01-22 10:41:34 -05:00
Carsten "Tomcat" Book
3f5b3dd046 Merge mozilla-central to mozilla-inbound 2014-01-22 14:37:23 +01:00
Carsten "Tomcat" Book
23879c668c merge b2g-inbound to mozilla-central 2014-01-22 13:59:54 +01:00
Gina Yeh
f386355248 Bug 952907 - Patch 1: Use WebIDL codegen to implement Bluetooth events, r=smaug 2014-01-22 14:26:29 +08:00
Nathan Froyd
64ef32eece Bug 962241 - don't spam error messages about ContractIDToCID failing; r=bholley 2014-01-21 16:14:22 -05:00
Jon Coppeard
5518bdc828 Bug 959787 - Handlify has property APIs r=terrence r=bz 2014-01-22 11:28:06 +00:00
Jon Coppeard
d10337280e Bug 959787 - Handlify JS_Delete* APIs r=sfink 2014-01-22 11:28:06 +00:00
Jon Coppeard
eddc75fd8f Bug 961077 - Make PersistentRooted use private inheritance when deriving from LinkedListElement r=sfink 2014-01-22 11:28:06 +00:00
Jon Coppeard
5ba5649de9 Bug 961110 - Make internal StoreBuffer classes more public (but still not exposed) r=terrence 2014-01-22 11:28:06 +00:00
Jan de Mooij
e60ed487d7 Bug 929221 - Correctly handle OOM in EnsureTrackPropertyTypes. r=bhackett 2014-01-22 12:26:25 +01:00
Jan de Mooij
50a6623f67 Bug 962095 - Make sure BailoutStack is 8-byte aligned on ARM. r=nbp 2014-01-22 12:26:21 +01:00
Jan de Mooij
a04a1fb2a6 Bug 962090 - Fix ARM VMFunction wrappers to only test the low byte for bools. r=nbp 2014-01-22 12:26:18 +01:00
Marco Bonardo
1f9510f1a3 Bug 960458 - cl.py doesn't properly parse showIncludes prefix on some localized versions. r=glandium 2014-01-22 09:22:30 +01:00
Luke Wagner
7e5733b9fa Bug 961969 - Include nfixed in StackShape's key (r=billm) 2014-01-21 14:03:31 -06:00
Shu-yu Guo
f45c6fab8a Bug 958980 - Stop Debugger from exposing partially initialized JSScripts. (r=jorendorff) 2014-01-21 10:59:05 -08:00
Donovan Preston
847c47fad0 Bug 958108 - Remove delayload from some DLLs on windows because it was causing webapps to hang at startup. r=glandium 2014-01-21 13:53:48 -05:00
Andy Wingo
887e63d4cb Bug 960040 - Part 5: Fix style error (unreviewed cleanup). CLOSED TREE 2014-01-21 18:30:36 +01:00
Andy Wingo
53ebc5c8e4 Bug 960040 - Part 4: Refactor state management of analysis. r=jandem 2014-01-21 14:21:26 +01:00
Andy Wingo
4bf6952e42 Bug 960040 - Part 3: Refactor OOM handling. r=jandem 2014-01-21 14:21:07 +01:00
Andy Wingo
d436ffc425 Bug 960040 - Part 2: Hide more of ScriptAnalysis implementation. r=jandem 2014-01-21 14:09:34 +01:00
Andy Wingo
c5d338f7ab Bug 960040 - Part 1: Prune unused interfaces and code from ScriptAnalysis. r=jandem 2014-01-21 11:47:08 +01:00
Jan Beich
f13813d661 Bug 959477 - Fix typo in OS_TARGET when cross-compiling GNU/kFreeBSD. r=glandium 2014-01-21 11:40:21 -05:00
Jan Beich
50d5a6aa8d Bug 959477 - Assign correct OS_ARCH and OS_TARGET when cross-compiling on BSDs. r=glandium 2014-01-21 11:40:20 -05:00
Luke Wagner
2108045c2d Bug 961318 - Tweak off-main-thread parsing heuristic to avoid delaying execution when an atoms-zone GC is in progress (r=billm)
--HG--
extra : rebase_source : aa831d41e1b04062e208d5c36697da1f5e1c7d07
2014-01-20 18:00:18 -06:00
Andrew McCreight
07fb65c28b Bug 960775 - Retire JS_WARN_UNUSED_RESULT in favor of MOZ_WARN_UNUSED_RESULT. r=waldo 2014-01-21 17:56:16 -08:00
Andrew McCreight
827af557a1 Bug 961551, part 9 - Split scope of |wrapper|, plus other cleanup. r=bholley 2014-01-21 17:56:16 -08:00
Andrew McCreight
ac5673a0d4 Bug 961551, part 8 - Use the code at the end of XPCWJS::GetNewOrUsed to build a new root wrapper. r=bholley
The code at the end of nsXPCWrappedJS::GetNewOrUsed will now correctly
construct a root wrapper when |root == nullptr|, so we can consolidate
the two places that construct |wrapper|.
2014-01-21 17:56:16 -08:00
Andrew McCreight
a407081861 Bug 961551, part 7 - Smart pointerize rootClasp. r=bholley
Also, move the declaration of |clasp| down to where it is used.
2014-01-21 17:56:16 -08:00
Andrew McCreight
064844dc92 Bug 961551, part 6 - Smart pointerize wrapper. r=bholley 2014-01-21 17:56:15 -08:00
Andrew McCreight
cedcce0853 Bug 961551, part 5 - Smart pointerize root. r=bholley 2014-01-21 17:56:15 -08:00
Andrew McCreight
d04e9ca0da Bug 961551, part 4 - Remove release_root from XPCWJS::GetNewOrUsed. r=bholley
GetNewOrUsed now always releases |root| when |root| is non-null, so
release_root can be eliminated.
2014-01-21 17:56:15 -08:00
Andrew McCreight
28e8ff08a4 Bug 961551, part 3 - Hold a strong ref to the root that is the result of Find in XPCWJS::GNOU. r=bholley
This is trickier than it looks, because this change causes additional
refcount traffic on |root| in the case where FindOrFindInherited
succeeds. This is potentially bad because if a WJS has a refcount of 1,
and no weak references to it, then if it goes to a refcount of 2 then
back to 1 it will be deleted.  A WJS can get in this state if it
is a root with a refcount of 2, and has a weak reference, then
its refcount drops to 1, then later the weak reference goes away.

However, in this case, there can be no other WJS in the chain,
or the refcount would be greater than 1, so FindOrFindInherited
must end up returning |root|, so |wrapper == root|, and the
assignment to |wrapper| will make root go to a refcount of 3,
so the release of |root| on exit will only cause the refcount to
go to 2, so |root| won't be deleted.
2014-01-21 17:56:15 -08:00
Andrew McCreight
6bb140a339 Bug 961551, part 2 - Move addref out of XPCWrappedJS ctor. r=bholley
This paves the way for smart pointerization.
2014-01-21 17:56:15 -08:00
Andrew McCreight
3e8fc017f6 Bug 961551, part 1 - Add root wrappers to the map in XPCWrappedJS ctor. r=bholley 2014-01-21 17:56:15 -08:00
Wes Kocher
8eef1ace7a Backed out 2 changesets (bug 948583) on a CLOSED TREE
Backed out changeset 3807c2bc06a2 (bug 948583)
Backed out changeset 64d44d0d790c
2014-01-21 16:53:05 -08:00
Wes Kocher
fa3dc9e617 Backed out 1 changesets (bug 948583) for potential PGO bustage on a CLOSED TREE
Backed out changeset 49700610a9b7 (bug 948583)
2014-01-21 16:52:55 -08:00
Jeff Walden
a36c455971 Followup fix to bug 948583, r=typo. :-(
--HG--
extra : rebase_source : f5279bb1df08ab03496e5b87765ca850b573a287
2014-01-21 18:19:46 -05:00
Jeff Walden
718a5e6d91 Bug 948583 - Implement __proto__ in object literals using a new JSOp. The JSOp still uses setprop-like behavior to mutate the [[Prototype]]; we'll change that in a subsequent patch, coming probably in the next couple weeks. r=jorendorff, r=efaust 2013-12-11 16:03:57 -08:00
Jeff Walden
1ab28b765f Replace a few manual JSPropertySpec[] terminators with JS_PS_END. No bug, r=trivial 2014-01-09 15:54:54 -06:00
Luke Wagner
807d104088 Bug 961969 - Assert that all shapes in a lineage have the same numFixedSlots (r=billm)
--HG--
extra : rebase_source : 044a5e199bca060f6f854a8f01b9d48970c0e3db
2014-01-21 16:25:37 -06:00
Bobby Holley
9b42f586d4 Bug 958324 - Remove SOW-transplant-related fixup. r=peterv
This became obsolete with bug 922009.
2014-01-21 08:26:41 -08:00
Bobby Holley
44cd3fcb36 Bug 958324 - Remove same-compartment security wrappers for WNs. r=peterv,r=mrbkap
We've fixed Components, and SOWs are new-binding only. Youpie!
2014-01-21 08:26:40 -08:00
Bobby Holley
06f47384db Bug 961054 - Don't invoke SetLastResult until the completion of an XPCWN method call. r=mrbkap 2014-01-21 08:25:29 -08:00
Nathan Froyd
acd547d796 Bug 961761 - move to static_assert for JSJitInfo; r=efaust 2014-01-20 11:07:28 -05:00