Commit Graph

31576 Commits

Author SHA1 Message Date
Dan Minor
c6cab49e19 Bug 959164 - Jit-test basic\bug710947.js fails on Windows 8 test machines; r=terrence 2014-01-30 08:53:59 -05:00
Bobby Holley
a1089f66d2 Bug 872273 - Remove manual rooting from js_ReportUncaughtException. r=Waldo
This stuff is exactly rooted now, so this is all unnecessary.
2014-01-30 09:30:29 -08:00
Bobby Holley
f9a7eb47c4 Bug 872273 - Don't ToString the exn if we already got a report out of it. r=Waldo
Note that we have to update a test that was previously expecting to hit the
bail-out case at the bottom of js_ReportUncaughtException.
2014-01-30 09:30:29 -08:00
Bobby Holley
cc55b9e53c Bug 872273 - Generate a JSErrorReport when we need one. r=Waldo
This lets js_ReportUncaughtException get the report directly from the underlying
Error object, rather than trying to duck-type it (which fails for security
wrappers).
2014-01-30 09:30:29 -08:00
Bobby Holley
5c45296ed8 Bug 872273 - Remove non-cx variant of ErrorFromException, and make it take a HandleObject. r=Waldo
We're going to need to start doing more work in js_ErrorFromException, which
will require a |cx| and may GC.
2014-01-30 09:30:29 -08:00
Felix S. Klock II
e10d06a1f0 Bug 961821: tests for jit-support for writes into TypedObject arrays (r=pnkfelix).
These iteration counts were selected to be close to the minimum number
necessary to expose bugs while working on this patch (see comments in
Bug 961821 for more details here).  Note that they are all 500
iterations (not 5000); please be wary of reducing the iteration count
further without first ensuring that the jit has time to compile this
code.
2014-01-30 17:47:14 +01:00
Felix S. Klock II
ea259263b6 Bug 961821: jit-support for writes into TypedObject arrays.
As part of above, alpha-renamed IonBuilder::setElemTryTyped to
IonBuilder::setElemTryTypedArray to keep clear the current distinction
between TypedObject and TypedArray.

Drive-by fix: Reference to Bug 894105 in comment had off-by-one typo.
Bug 961821: jit-support for writes into TypedObject arrays (r=nmatsakis).

As part of above, alpha-renamed IonBuilder::setElemTryTyped to
IonBuilder::setElemTryTypedArray to keep clear the current distinction
between TypedObject and TypedArray.

Drive-by fix: Reference to Bug 894105 in comment had off-by-one typo.
2014-01-28 04:33:00 +01:00
Douglas Crosher
7f74586c39 Bug 965247 - ARM simulator: Support an environment variable and shell argument to enabling icache checks. r=jandem 2014-01-30 01:30:56 +11:00
Bobby Holley
2b75bbbe71 Bug 959012 - Clean up and separate the semantics of js_{Get,Find}Class{Prototype,Object}. r=jorendorff 2014-01-30 07:45:16 -08:00
Bobby Holley
8e98ac7448 Bug 959012 - Create separate js_GetClassPrototype and js_FindClassPrototype to mimic js_{Get,Find}ClassObject. r=jorendorff
The current behavior is crazy, and most definitely not Xray-safe.
2014-01-30 07:45:16 -08:00
Bobby Holley
352469c218 Bug 959012 - Move js_GetClassObject creation logic into GlobalObject. r=jorendorff 2014-01-30 07:45:16 -08:00
Bobby Holley
062a629dac Bug 959012 - Remove unused cx parameter from JS_IdentifyClassPrototype. r=jorendorff 2014-01-30 07:45:16 -08:00
Bobby Holley
fe3e58c701 Bug 959012 - When resolving iterator classes, use JSProto_Iterator instead of JSProto_GeneratorFunction. r=luke
The former triggers all of the appropriate initialization, whereas the latter
is 'imaginary' in jsprototypes.h, which means that the is no initialization
function associated with it.
2014-01-30 07:45:15 -08:00
Hannes Verschore
50d627fe25 Bug 958158 - IonMonkey: Optimize do {} while(false), r=djvj 2014-01-30 14:59:24 +01:00
Andrea Marchesini
7184ae68ee Bug 964293 - Implement Cu.cloneInto() method, r=bholley 2014-01-30 04:45:48 -08:00
Andy Wingo
0a1dff8e91 Bug 965243 - Remove dead constructor of ScopeIter r=jorendorff
--HG--
extra : amend_source : e11741d6b1e4baeaa08df1e041df303055d68634
2014-01-30 11:07:57 +01:00
Boris Zbarsky
e8d170691e Bug 965144. Make the Window-specific bits of XrayWrapper work with WebIDL windows. r=bholley 2014-01-29 22:34:25 -08:00
Boris Zbarsky
e5abd9db16 Bug 963895. Add threadsafe versions of AutoJSContext/AutoSafeJSContext. r=bholley 2014-01-29 22:33:03 -08:00
Jeff Walden
ee9851c473 Bustage fix, bug 947014 followup. r=bustage in a CLOSED TREE 2014-01-29 17:57:36 -08:00
Eric Faust
378de04593 Bug 947014 - Allow callers of Wrapper::New to specify a prototype. (r=bholley) 2014-01-29 17:20:16 -08:00
Eric Faust
2ae17ed581 Bug 924720 - Part 8: Remove BaseProxyHandler::isOuterWindow(). (r=bholley) 2014-01-29 17:20:16 -08:00
Eric Faust
c41d46714f Bug 924720 - Part 7: Move and rename OuterWindowProxyObject::class_. (r=bholley) 2014-01-29 17:20:16 -08:00
Eric Faust
a91f79ccaf Bug 924720 - Part 6: Allow callers of Wrapper::New to specify a Proxy JSClass. (r=bholley) 2014-01-29 17:20:16 -08:00
Eric Faust
d24a35e290 Bug 924720 - Part 5: Allow callers of NewProxyObject() to specify a Proxy JSClass. (r=jwalden) 2014-01-29 17:20:16 -08:00
Eric Faust
6220679371 Bug 924720 - Part 4: Create new macros for easy Proxy JSClass creation. (r=jwalden) 2014-01-29 17:20:16 -08:00
Eric Faust
3bacb68ed4 Bug 924720 - Part 3: Allow future Proxy JSClasses to safely have extra reserved slots. (r=billm) 2014-01-29 17:20:16 -08:00
Eric Faust
fdd24700fe Bug 924720 - Part 2: Make OuterWindowProxy use the proxy HasInstance and Convert stubs. (r=bholley) 2014-01-29 17:20:15 -08:00
Eric Faust
f142659bfe Bug 924720 - Part 1: Implement IsProxy() using new JSClass flag. (r=jwalden) 2014-01-29 17:20:15 -08:00
Eric Faust
131ceafd59 Bug 924720 - Part 0: Free up spare JSClass flags. (r=jwalden) 2014-01-29 17:20:15 -08:00
Jeff Walden
6cfc1364d7 Bug 963641 - Make TI work correctly with respect to JSOP_MUTATEPROTO. r=jandem
--HG--
extra : rebase_source : bdd48aeae22ea418569910d470c329a8fc1fa2bf
2014-01-28 10:38:44 -08:00
Jeff Walden
d70f17aca1 Bug 963641 - Add a test for __proto__ in destructuring patterns as a shorthand. r=jorendorff
--HG--
extra : rebase_source : 9d9e5ede1195b7e879a8ca539c9af432c5f2b5d9
2014-01-28 10:38:29 -08:00
Jeff Walden
f327d79b9b Bug 963641 - Remove PNK_MUTATEPROTO, and just make JSOP_MUTATEPROTO be generated for the PNK_INITPROP+__proto__ combination. r=jorendorff
--HG--
extra : rebase_source : 8317d2a90d55a57fb654f72a57ca40575613072c
2014-01-24 19:54:53 -08:00
Jeff Walden
b0c9ce62b4 Bug 963641 - Tests for __proto__ in object literals with jsreflect and asm.js module export objects. r=jorendorff
--HG--
extra : rebase_source : cc570fcbc018618079843df2d07f87bbf30f18a7
2014-01-27 21:39:58 -08:00
Jeff Walden
bcd0dcde6a Bug 963641 - Miscellaneous cleanups not implicated in actual bugs. r=jorendorff
--HG--
extra : rebase_source : a7969e756bc5456b6524fab8f602f61a7ed83a13
2014-01-27 16:33:03 -08:00
Terrence Cole
7bf2e1c451 Bug 962256 - Remove extraneous roots from some hot paths in Baseline; r=jonco 2014-01-27 16:51:57 -08:00
Terrence Cole
2e7acf2929 Bug 963738 - Fix some false positives in the Array analysis; r=jonco 2014-01-28 12:05:35 -08:00
Bobby Holley
a204c95cc9 Bug 965082 - Tests. r=mrbkap,r=gabor 2014-01-29 13:07:13 -08:00
Bobby Holley
731ce0363f Bug 965082 - Only run the {get,set}PrototypeOf override for non-SecurityWrappers. r=mrbkap,r=gabor 2014-01-29 13:07:13 -08:00
Bobby Holley
2a555922c2 Bug 965082 - Unify duplicate bits of state of proxies. r=mrbkap,r=gabor
Conceptually, these all boil down to "is this a security wrapper?"
2014-01-29 13:07:13 -08:00
Benjamin Bouvier
6fbbdcc7b9 Bug 952306: Allow global const literals as variable initializers; r=luke 2014-01-29 14:27:01 +01:00
Benjamin Bouvier
cc29413fe5 Bug 952306: Refactor Variable into Variable, ConstantImport and ConstantLiteral in Odin; r=luke 2014-01-29 14:27:00 +01:00
Sankha Narayan Guria
4a58e226e9 Bug 848512 - JSOP_DIV: int32 stub handles lhs == 0 case. r=jandem 2014-01-29 15:28:13 +05:30
Douglas Crosher
2178295f6d Bug 959597 - Odinmonkey (ARM): fix a commit conflict with bug 964005. r=jandem 2014-01-29 11:39:56 +11:00
Jan de Mooij
f289f537ef Bug 959597 part 3 - Add ARM simulator for JIT code. r=nbp 2014-01-29 13:34:14 +01:00
Benjamin Bouvier
cac8501966 Bug 942550: Take care of all particular cases in ecmaPow instead of js_math_pow; r=jandem 2014-01-29 12:12:03 +01:00
Ed Morley
92aa154f50 Merge mozilla-central and inbound 2014-01-29 10:39:41 +00:00
Ed Morley
54d76ad687 Merge latest green b2g-inbound changeset and mozilla-central 2014-01-29 10:33:43 +00:00
Jon Coppeard
d77eb96fa7 Bug 959787 - Handlify some JS friend APIs r=sfink 2014-01-29 10:01:33 +00:00
Jon Coppeard
e5c29b7f9d Bug 959787 - Handlify some misc JS APIs r=sfink r=smaug 2014-01-29 10:00:40 +00:00
Jon Coppeard
f83ce11fd2 Bug 961877 - Calculate size of inline elements of typed array using slot count not array size r=terrence 2014-01-29 09:58:16 +00:00
Wes Kocher
cf19b21c97 Backed out 2 changesets (bug 952873) for build bustage on a CLOSED TREE
Backed out changeset 92dfed2592ae (bug 952873)
Backed out changeset 1ae58fcd61a9 (bug 952873)
2014-01-28 17:34:42 -08:00
Boris Zbarsky
8baa2ee19b Bug 952873 part 2. Expose JSAPI for doing for-of iteration. r=jorendorff 2014-01-28 16:16:03 -08:00
Boris Zbarsky
8e2e630681 Bug 952873 part 1. Rename the cx member of ForOfIterator to cx_ instead. r=jorendorff 2014-01-28 16:14:47 -08:00
Douglas Crosher
318f92a65e Bug 964797 - Odin ARM: Correct the VCVT instructions encoding of the fraction bits. r=mjrosenb 2014-01-29 02:35:38 +11:00
Nikhil Marathe
6a771ba40f Bug 957926 - Add JS::CreateTypeError. r=jorendorff
--HG--
extra : rebase_source : d621273cbff342f10864c2843a53eb55421fe582
2014-01-28 09:19:48 -08:00
Henry Chang
c0e64a6d2c Bug 811635 - Part 2: Implementation of WebIDLs/IDLs for WifiP2pManager and WifiP2pStatusChangeEvent. r=vchang 2014-01-27 15:48:10 +08:00
Jon Coppeard
e509557b22 Bug 956324 - Remove all breakpoints from a debugger when the last debuggee is removed r=billm 2014-01-11 13:52:35 +00:00
Boris Zbarsky
e41fdd7947 Followup bustage fix for bug 952873 to fix CLOSED TREE 2014-01-28 17:54:31 -08:00
Boris Zbarsky
529b765791 Bug 952873 part 2. Expose JSAPI for doing for-of iteration. r=jorendorff 2014-01-28 16:16:03 -08:00
Boris Zbarsky
d96a02391e Bug 952873 part 1. Rename the cx member of ForOfIterator to cx_ instead. r=jorendorff 2014-01-28 16:14:47 -08:00
Douglas Crosher
e9caae16f8 Bug 964005 - Odinmonkey (ARM): Include d15 in the callee saved registers. r=mjrosenb 2014-01-26 19:42:53 +11:00
Jan de Mooij
d78ff7f593 Bug 959597 part 2 - Use JS_CODEGEN_* instead of JS_CPU_* for JIT backend code. r=nbp 2014-01-28 15:33:56 +01:00
Jan de Mooij
f2e8aa5690 Bug 959597 part 1 - ARM simulator build changes. r=glandium 2014-01-28 15:33:53 +01:00
Haitao Feng
c1d127772e Bug 947711 - Introduce MIRType_Float32x4, MIRType_Int32x4 and MIRType_Doublex2. r=nbp 2014-01-28 09:12:20 -05:00
Emanuel Hoogeveen
a1352a9298 Bug 841646 - Part 4: Allow parallel compilation while the SPS Profiler is active. r=jandem 2014-01-28 08:56:51 -05:00
Emanuel Hoogeveen
599ba813a7 Bug 841646 - Part 3: Move SPSProfiler::slowAssertionsEnabled checks to JitCompileOptions and remove SPSInstrumentation::slowAssertions. r=jandem 2014-01-28 08:56:27 -05:00
Emanuel Hoogeveen
0344873330 Bug 841646 - Part 2: Add locks around |strings| table access to avoid races. r=jandem 2014-01-28 08:56:05 -05:00
Emanuel Hoogeveen
a66085a6f3 Bug 841646 - Part 1: Refactor allocProfileString to not require a JSContext and remove JSContext * parameters from functions that no longer require them as a result. r=jandem 2014-01-28 08:55:40 -05:00
Jon Coppeard
c9edbd1aee Bug 964214 - Don't recompact store buffer if there are no new entries r=terrence 2014-01-28 10:37:14 +00:00
Jon Coppeard
85d06f4fde Bug 964214 - Don't wait for background sweep to finish for minor GC r=terrence 2014-01-28 10:36:56 +00:00
Jon Coppeard
a45a3a0093 Bug 961741 - Allow shape's parent to be null in postbarrier callback r=terrence 2014-01-28 10:35:53 +00:00
Jon Coppeard
785b878733 Bug 959787 - Fix OOM crash added by previous patch r=terrence 2014-01-28 10:35:07 +00:00
Chris Peterson
0300d9a153 Bug 964016 - Part 5: Remove unused JS_BEGIN_EXTERN_C and JS_END_EXTERN_C macros. r=luke 2014-01-24 20:08:28 -08:00
Chris Peterson
6fcb2b7947 Bug 964016 - Part 4: Replace JS_ALWAYS_INLINE with MOZ_ALWAYS_INLINE. r=luke 2014-01-24 20:14:56 -08:00
Chris Peterson
86f9e9dcbf Bug 964016 - Part 3: Replace JS_NEVER_INLINE with MOZ_NEVER_INLINE. r=luke 2014-01-24 20:21:24 -08:00
Chris Peterson
c8d24a2942 Bug 964016 - Part 2: Replace JS_UNLIKELY with MOZ_UNLIKELY. r=luke 2014-01-24 19:57:58 -08:00
Chris Peterson
be3dc958b8 Bug 964016 - Part 1: Replace JS_LIKELY with MOZ_LIKELY. r=luke 2014-01-25 22:04:37 -08:00
Nicholas Nethercote
5b2053ce6a Bug 963528 - Don't allocate zero-sized script data. r=luke.
--HG--
extra : rebase_source : 16beebadc53671e68b73d920ad96c366f48206d3
2014-01-27 18:31:34 -08:00
Shu-yu Guo
b9f3f1e038 Bug 959163 - Fix debug asserts in PropertyTree::lookupChild. (r=jorendorff) 2014-01-27 11:33:05 -08:00
Andrew McCreight
a62f062437 Bug 963665 - Make nsIXPConnect noscript. r=bholley 2014-01-27 07:16:38 -08:00
Peiyong Lin
cc3a4c0c6b Bug 961041 - Replace infallible allocation in DOMStorage::BroadcastChangeNotification with fallible allocation. r=smaug 2014-01-27 08:25:19 -05:00
Andrew McCreight
930625ba83 Bug 963312 - Get JS engine telemetry values from Components.utils, not nsIXPConnect. r=bholley,taras 2014-01-26 07:57:00 -08:00
Zack Weinberg
77460d628b Bug 933885 part 1: make xpcshell dump() and print() handle non-ASCII characters correctly. r=bz 2014-01-25 23:27:11 -05:00
Jon Coppeard
1d35df7d74 Bug 961795 - Track malloc allocations for TypedArray objects in the nursery r=terrence 2014-01-25 09:32:45 +00:00
Jon Coppeard
4a76452c21 Bug 963167 - Convert JS_SetElement() to take HandleValue rather than MutableHandleValue r=sfink r=bz 2014-01-25 09:31:17 +00:00
Jon Coppeard
cb8c659700 Bug 959787 - Handlify JS_Set* APIs r=terrence r=bz 2014-01-25 09:29:12 +00:00
Jon Coppeard
511a96a9b0 Bug 962576 - Improve profiling of minor GCs r=terrence 2014-01-25 09:26:43 +00:00
Boris Zbarsky
be84d2e4ec Bug 962605 part 2. Enable baseline jit in xpcshell. r=bholley 2014-01-22 14:37:11 -05:00
Bobby Holley
8356b2d621 Bug 957688 - Remove nsIXPCSecurityManager::CanAccess and nsScriptSecurityManager::CheckPropertyAccessImpl. r=mrbkap
\o/
2014-01-24 16:08:26 -08:00
Bobby Holley
094cd93292 Bug 957688 - Kill off checkAccess. r=mrbkap 2014-01-24 16:08:26 -08:00
Bobby Holley
fac9fbd739 Bug 957688 - Remove checkAccess nsIXPCScriptable hook. r=mrbkap 2014-01-24 16:08:25 -08:00
Bobby Holley
844ed9971d 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
abb3c5c1c7 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
3bf47f1f26 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
55f81ee5dc 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
85f4a840ef 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
2ff953ff6d Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 7; r=sfink 2014-01-21 17:03:20 -08:00
Terrence Cole
efb40c153d Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 6; r=jonco 2014-01-17 10:10:17 -08:00
Terrence Cole
218d891337 Bug 963232 - Add extensive documentation to js/GCAPI.h; r=billm 2014-01-23 11:47:11 -08:00
Jeff Walden
a6df7a3e57 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