Commit Graph

38957 Commits

Author SHA1 Message Date
Dave Herman
79643f84df Bug 913617 - Reflect.parse: rename ArrowExpression to ArrowFunctionExpression. r=jorendorff 2015-03-10 10:50:00 +01:00
Jason Orendorff
3e684c2df6 Bug 1133081, part 5 - Remove non-asserting PropertyDescriptor accessors in favor of the new PropDesc-inspired asserting accessors. r=efaust.
value() can't assert hasValue() because too many places have plausible reasons for calling it on a PropertyDescriptor they basically know nothing about. One such place is CompartmentChecker::check(Handle<JSPropertyDescriptor>). Another is DefinePropertyByDescriptor. Maybe this will change with time.

In some cases we do things like `desc.hasWritable() && desc.writable() != existing_desc.writable()`. It is OK to write it this way, even though we have not checked existing_desc.hasWritable(), because in these cases we already know existingDesc is a complete property descriptor.
2015-02-15 06:18:30 -06:00
Jason Orendorff
3e6cda3935 Bug 1133081, part 4 - Reimplement the remaining PropDesc methods and delete PropDesc. r=efaust. 2015-02-14 07:37:13 -06:00
Jason Orendorff
be98243e1f Bug 1133081, part 3 - Switch from js::PropDesc to JSPropertyDescriptor for more odds and ends. r=efaust. 2015-02-13 19:08:21 -06:00
Jason Orendorff
2bbfd03daf Bug 1133081, part 2 - Switch from js::PropDesc to JSPropertyDescriptor for js::StandardDefineProperty implementation. r=efaust. 2015-02-13 18:52:45 -06:00
Jason Orendorff
ba5d76f175 Bug 1133081, part 1 - Switch from js::PropDesc to JSPropertyDescriptor for all users of js::StandardDefineProperty (mainly Object.defineProperty/Properties and the corresponding Debugger.Object methods). r=efaust. 2015-02-13 14:31:27 -06:00
Lars T Hansen
93091435c9 Bug 1140084 - delete list of script counts in tail-recursive fashion. r=bhackett 2015-03-13 08:40:33 +01:00
Boris Zbarsky
eef6c8bda6 Bug 1142731 followup. Check isInterpreted() before we call environment(), because of the asmjs lambdas. r=waldo, I bet. 2015-03-12 22:47:52 -04:00
Boris Zbarsky
c43a77dc9b Bug 1141905 part 4. Add some assertions about what enclosingScope can return for non-scope objects. r=waldo 2015-03-12 21:46:57 -04:00
Boris Zbarsky
1bf6f4ffc7 Bug 1141905 part 3. Use CreateScopeObjectsForScopeChain in DebuggerFrame_evalWithBindings. r=shu 2015-03-12 21:46:57 -04:00
Boris Zbarsky
48ae1e607a Bug 1141905 part 2. Make the 5-arg version of CreateScopeObjectsForScopeChain non-static so it can be called from multiple files, and move it to a possibly-saner location. r=shu 2015-03-12 21:46:57 -04:00
Boris Zbarsky
73238ec577 Bug 1141905 part 1. Make it possible to CreateScopeObjectsForScopeChain with a given non-global scope chain terminator. r=shu 2015-03-12 21:46:57 -04:00
Boris Zbarsky
39663f1880 Bug 1142731. Make IsInternalFunctionObject work correctly again. r=waldo 2015-03-12 21:46:57 -04:00
Boris Zbarsky
0e36064433 Bug 1142311 part 2. Rename the parent arg of NewScriptedFunction to enclosingDynamicScope, and make it optional. r=waldo 2015-03-12 21:46:57 -04:00
Boris Zbarsky
9945773e82 Bug 1142311 part 1. Stop parenting self-hosted objects to the intrinsics holder. r=waldo 2015-03-12 21:46:57 -04:00
Brian Hackett
09addf8a95 Bug 1135897 - Use unboxed objects for JSON objects and constant literals embedded in scripts, r=jandem. 2015-03-12 17:09:21 -06:00
Jim Blandy
729d79d2a9 Bug 1128603: Remove findReferences and the tests that use it. r=terrence 2015-03-12 14:08:49 -07:00
Luke Wagner
593bd72375 Bug 1136331 - OdinMonkey: allow stdlib calls in heap expressions (r=bbouvier) 2015-02-24 14:11:37 -06:00
Ryan VanderMeulen
2b2b9e5caf Backed out changeset 94f1fc3d9ec8 (bug 1135897) for LSAN leaks.
CLOSED TREE
2015-03-12 15:02:08 -04:00
Ryan VanderMeulen
c4be2b0c72 Backed out 8 changesets (bug 1141234) for bustage.
Backed out changeset 9c7dd01f338e (bug 1141234)
Backed out changeset df39d787c523 (bug 1141234)
Backed out changeset 3632c514a358 (bug 1141234)
Backed out changeset 1e8743d47b41 (bug 1141234)
Backed out changeset ddd5d5191e49 (bug 1141234)
Backed out changeset 274b1f5afc29 (bug 1141234)
Backed out changeset 65e299373b5b (bug 1141234)
Backed out changeset eff0109392e9 (bug 1141234)
2015-03-12 15:01:16 -04:00
Terrence Cole
915a129b99 Bug 1141234 - Part 8: Suppress a false positive rooting analysis hazard; r=sfink 2015-03-12 11:20:47 -07:00
Terrence Cole
390023f184 Bug 1141234 - Part 7: Reorder the allocator methods for clarity; r=sfink 2015-03-11 11:11:29 -07:00
Terrence Cole
303a7a1567 Bug 1141234 - Part 6: Namespace the allocator into GCRuntime; r=sfink 2015-03-11 11:09:31 -07:00
Terrence Cole
4ecb213fd3 Bug 1141234 - Part 5: Inline the one user of ShouldNurseryAllocate; r=sfink 2015-03-11 11:07:57 -07:00
Terrence Cole
7677a183f9 Bug 1141234 - Part 4: Move off-thread object allocation above unimplementable operations; r=sfink 2015-03-11 11:07:38 -07:00
Terrence Cole
812534a034 Bug 1141234 - Part 3: Share the code to allocate a tenured thing; r=sfink 2015-03-11 11:07:23 -07:00
Terrence Cole
843a31d00e Bug 1141234 - Part 2: Use UniquePtr to free slots if object allocation fails; r=sfink 2015-03-11 11:07:22 -07:00
Terrence Cole
215a46562b Bug 1141234 - Part 1: Abstract PossiblyFail into the OOM testing machinery; r=sfink 2015-03-11 11:06:20 -07:00
Nicolas B. Pierron
74ccd8a49c Bug 1131846 - Check the return value of MResumePoint::Copy. r=h4writer 2015-03-12 19:17:50 +01:00
Jonathan Griffin
8873726f67 Bug 1116187 - Disable failing mochitest-chrome tests for B2G, r=gbrown 2015-02-06 16:30:37 -08:00
Nicolas B. Pierron
4b7311476e Bug 1105574 - Range Analysis: Keep folded bitwise instructions alive for bailouts. r=sunfish 2015-03-12 19:01:51 +01:00
Jason Orendorff
51bbdf2d3e Bug 1133294 - Object.getOwnPropertyDescriptor(obj, key) must always return either undefined or a complete property descriptor, even if obj is a proxy. r=efaust. 2015-02-15 02:49:42 -06:00
Jason Orendorff
0418d72d26 Bug 1133085 - PropDesc::initFromPropertyDescriptor should understand JSPROP_GETTER without JSPROP_SETTER and vice versa. r=efaust.
PropDesc and PropertyDescriptor are at last capable of expressing all valid PropertyDescriptors, both complete and incomplete. This should make them pretty much equivalent. But since this came on gradually, there is a lingering bug in the code that translates between the two structs.
2015-02-13 16:25:31 -06:00
Jason Orendorff
a985ea51db Bug 1133094 - Object.defineProperty() on scripted proxy incorrectly sets {[[Configurable]]: true} if it's missing. r=efaust.
It is not immediately clear why the test has anything to do with the code changes, but the code changes do in fact make that test pass, because they cause us not to generate nonsensical PropDesc/PropertyDescriptor records that confuse our DefineProperty machinery.

The first hunk in jsobj.cpp is the key bit, and the rest is mopping up regressions from that change.
2015-02-13 17:07:08 -06:00
Jason Orendorff
593769815c Bug 1130537 - Reimplement js::SetPropertyIgnoringNamedGetter to follow ES6 draft rev 32 9.1.9 [[Set]]. r=efaust. 2015-02-06 16:55:49 -06:00
Brian Hackett
72e80cb58a Bug 1137180 - Only mark inner scripts as having failed a bounds check after bailing out, r=jandem. 2015-03-12 11:15:01 -06:00
Brian Hackett
890f1bdf16 Bug 1135897 - Use unboxed objects for JSON objects and constant literals embedded in scripts, r=jandem. 2015-03-12 10:58:19 -06:00
Kannan Vijayan
5a8747a2a7 Bug 1132265 - Handle dummy frames when initializing ProfilingFrameIterator. r=shu 2015-03-12 12:37:21 -04:00
Brian Hackett
6057f8b61d Bug 1128076 - Clean up naming around unboxed scalar MIR accesses, r=jandem. 2015-03-12 10:25:44 -06:00
Kannan Vijayan
a123cb3613 Bug 1135703 - Add test case. r=shu 2015-03-12 12:19:58 -04:00
Kannan Vijayan
040da03247 Bug 1135703 - Ensure that lastProfilingFrame gets set appropriately on ALL JitActivations when profiling is turned on or off. r=shu 2015-03-12 12:17:40 -04:00
Kannan Vijayan
a8b6d60cdd Bug 1134515 - Ensure SPSBaselineOSRMarker checks pseudostack size properly. r=shu 2015-03-12 12:13:16 -04:00
Jan de Mooij
80a8e79f1f Bug 1128646 part 1 - Optimize calls to own property scripted getters. r=efaust 2015-03-12 16:57:34 +01:00
Hiroyuki Ikezoe
ed15a0b24a Bug 751387 - Fix crash caused by out-of-bounds accesses in command line options handling. r=bholley 2015-03-12 01:37:00 -04:00
Jan de Mooij
90e561ba19 Bug 1140428 - Warn when __noSuchMethod__ is used. r=jorendorff 2015-03-12 13:07:02 +01:00
Boris Zbarsky
530e295577 Bug 1142282 part 3. Remove the parent argument of NewNativeObjectWithClassProto. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
d906706022 Bug 1142282 part 2. Remove the parent argument of NewNativeObjectWithGivenTaggedProto. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
7a3efcd6f5 Bug 1142282 part 1. Remove the parent argument of NewNativeObjectWithGivenProto. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
5e903ee234 Bug 1142266. Remove the parent argument from js::NewObjectWithProto. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
5a304f582d Bug 1142241. Stop using getParent() in js::GetObjectEnvironmentObjectForFunction. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
685d23d6f5 Bug 1140586 part 5. Split up js::NewFunction into several different APIs that are more clear in terms of what they do and don't need parents as much. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
9cb581667c Bug 1140586 part 4. Stop passing non-null parents to js::NewFunctionWithProto when creating a native function via direct calls to that API. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
a727687c17 Bug 1140586 part 3. Drop the funobjArg of js::NewFunction and js::NewFunctionWithProto. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
4a9392454e Bug 1140586 part 2. Stop passing non-null funobjArg to js::NewFunction and js::NewFunctionWithProto. r=waldo 2015-03-11 22:33:59 -04:00
Boris Zbarsky
7bda89c12b Bug 1140586 part 1. Add some asserts about us not caring too much about the parents of native functions. r=waldo 2015-03-11 22:33:58 -04:00
Wes Kocher
7127f3a636 Backed out changeset 851347e26940 (bug 1038839) for spidermonkey failures CLOSED TREE 2015-03-11 14:52:14 -07:00
Sean Stangl
45a7b8e3d3 Bug 1038839 - Use type information for alias analysis. r=jandem 2015-03-10 14:56:13 -07:00
Boris Zbarsky
b2b3045dc8 Bug 1140737. Fix Ion setter cache to reserve the register the value being set lives in as needed, so other things don't stomp on that register. r=jandem 2015-03-11 16:53:29 -04:00
Brian Hackett
0d16048f59 Bug 1141379 - Remove unboxed layouts from the per-compartment list they are threaded through while we are still on the main thread, r=jandem. 2015-03-11 14:08:00 -06:00
Brian Hackett
419a3321c5 Bug 1139466 - Watch for strict scripts with lazy arguments when marking Ion frames, r=jandem. 2015-03-11 14:03:24 -06:00
Ryan VanderMeulen
5aa07f3cb1 Backed out changesets 18c84fcee487 and cc4786da89db (bug 1135039) for Linux32 jit-test assertion failures.
CLOSED TREE
2015-03-11 15:23:58 -04:00
Benjamin Bouvier
9ebe14a9f9 Bug 1140317: and even more using mozilla::UniquePtr in a CLOSED TREE; r=bustage 2015-03-11 17:47:45 +01:00
Benjamin Bouvier
92a6d6a318 Bug 1140317: include more UniquePtr and more using mozilla::UniquePtr in a CLOSED TREE; r=bustage 2015-03-11 17:32:02 +01:00
Jason Orendorff
1bfb5e0f51 Bug 1137616 - Restore ReferenceError when a proxy is on the global object's prototype chain, regressed by rev 615f118f2787. r=jandem. 2015-03-03 18:13:03 -06:00
Jason Orendorff
07299d8a9e Bug 828137, part 1 - Make Object.defineProperty fail on window elements. r=bz. 2015-02-11 11:38:36 -06:00
Jason Orendorff
f7b387e062 Bug 1132522, part 2 - Treat false return from proxyHandler.set() as strict mode failure. r=efaust.
This changeset includes a change in addon-sdk/source that is logically of a piece with the rest, but was reviewed separately; see <https://github.com/mozilla/addon-sdk/pull/1888>. r=Mossop.
2015-02-13 09:49:31 -06:00
Jason Orendorff
bf85691e71 Bug 1132522, part 1 - Treat false return from proxyHandler.defineProperty() as strict mode failure. r=efaust. 2015-02-12 11:29:32 -06:00
Benjamin Bouvier
15237929dc Bug 1135039: Apply swizzle type policy changes in Ion too; r=sunfish 2015-03-02 19:40:06 +01:00
Benjamin Bouvier
f8e012ee4a Bug 1135039: Throw on non-int32 or out-of-bounds lanes arguments to swizzle/shuffle; r=sunfish 2015-03-05 11:55:10 +01:00
Jason Orendorff
07dcabc254 Bug 1141329 - Fix crash [@ JSObject::getGroup] or [@ js::jit::SetPropertyIC::update]. r=efaust. 2015-03-10 13:14:36 -05:00
Jason Orendorff
f2aa7e13d6 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
Jason Orendorff
6148865ef0 Bug 1141154 - Fix crashes with Ion and proxy set failure cases, caused by rev 0712a3d4b79c. r=efaust. 2015-03-09 19:07:56 -05:00
Benjamin Bouvier
81746ad39f Bug 1140317: Make sure chars created by DecompileValueGenerator won't ever leak; r=Waldo 2015-03-10 19:34:00 +01:00
Lars T Hansen
241e35e07d Bug 1141067 - byte operations on x86/x64. r=sunfish 2015-03-11 15:45:57 +01:00
Lars T Hansen
548241f205 Bug 1138348 - byte array test cases. r=h4writer 2015-03-11 15:45:57 +01:00
Lars T Hansen
714d4fbced Bug 1138348 - byte ops on x86_64. r=h4writer 2015-03-11 15:45:57 +01:00
Jan de Mooij
fb0e3e7149 Bug 1090583 part 2 - Fix the property count check in MonitorAssign to check the actual count instead of the capacity. r=bhackett 2015-03-11 11:58:25 +01:00
Benjamin Bouvier
2234689d0f Bug 1140709: Add a second bounds check for checking that the index is actually positive; r=bhackett 2015-03-10 19:24:25 +01:00
ziyunfei
ad6a9bf54a Bug 1108949 - RegExp(RegExp object, flags) no longer throws. r=till 2015-03-10 21:36:00 +01:00
Eric Faust
d06b368869 Bug 1066233 - Followup: Address a forgotten review comment. (r=jorendorff) 2015-03-11 00:49:38 -07:00
Eric Faust
8320a30bd0 Bug 1066233 - Tests. (r=jorendorff) 2015-03-11 00:44:41 -07:00
Eric Faust
32079bc89c Bug 1066233 - Part 3: Reflect.parse support for ES6 ClassExpressions. (r=jorendorff) 2015-03-11 00:44:41 -07:00
Eric Faust
e8481cb4e7 Bug 1066233 - Part 2: Emitter support for ES6 ClassExpressions. (r=jorendorff) 2015-03-11 00:44:41 -07:00
Eric Faust
2d1048a814 Bug 1066233 - Part 1: Parser suppoert for ES6 ClassExpressions. (r=jorendorff) 2015-03-11 00:44:41 -07:00
Eric Faust
e94c2b9b82 Bug 1066234 - Tests. (r=jorendorff) 2015-03-10 20:27:35 -07:00
Eric Faust
80fd85ac1d Bug 1066234 - Part 6: Emitter support for 'extends' in ES6 Classes. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
33127afde5 Bug 1066234 - Part 5: Implement JSOP_OBJWITHPROTO. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
ff5795649f Bug 1066234 - Part 4: Implement JSOP_FUNWITHPROTO. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
9fbef30f95 Bug 1066234 - Part 3: Refactor js::CloneFunctionObject to take a proto argument. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
80df255d1b Bug 1066234 - Part 2: Implement JSOP_CLASSHERITAGE. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
54a6fafb4b Bug 1066234 - Part 1: Parser support for 'extends' in ES6 Classes. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Phil Ringnalda
6c936d059a Backed out 7 changesets (bug 1066234) for bustage
CLOSED TREE

Backed out changeset ce28663e61d4 (bug 1066234)
Backed out changeset e06ad6b69b25 (bug 1066234)
Backed out changeset 99933582c7d8 (bug 1066234)
Backed out changeset a40045b47bba (bug 1066234)
Backed out changeset f6b44a3c3c6f (bug 1066234)
Backed out changeset 478d797266b1 (bug 1066234)
Backed out changeset 73f4dd8f8d97 (bug 1066234)
2015-03-10 20:44:12 -07:00
Eric Faust
46ac6f9769 Bug 1066234 - Tests. (r=jorendorff) 2015-03-10 20:27:35 -07:00
Eric Faust
7bdbf40903 Bug 1066234 - Part 6: Emitter support for 'extends' in ES6 Classes. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
e4a031c349 Bug 1066234 - Part 5: Implement JSOP_OBJWITHPROTO. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
b9e5961ff5 Bug 1066234 - Part 4: Implement JSOP_FUNWITHPROTO. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
74e933f6e1 Bug 1066234 - Part 3: Refactor js::CloneFunctionObject to take a proto argument. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
2cbcfc7066 Bug 1066234 - Part 2: Implement JSOP_CLASSHERITAGE. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Eric Faust
fe1c36540e Bug 1066234 - Part 1: Parser support for 'extends' in ES6 Classes. (r=jorendorff) 2015-03-10 20:27:34 -07:00
Shu-yu Guo
1e48b218fa Bug 1140643 - JitcodeGlobalMap marking must participate in iterative weak reference marking. (r=terrence) 2015-03-10 20:12:32 -07:00