Commit Graph

39667 Commits

Author SHA1 Message Date
Jan de Mooij
0f0dffb24e Bug 1156886 - Optimize toLowerCase and toUpperCase on ASCII characters. r=luke 2015-04-22 11:30:47 +02:00
Tooru Fujisawa
d50a6635d4 Bug 891107 - Part 3: Report argument type error as TypeError in js-ctypes. r=jorendorff 2015-04-22 18:26:14 +09:00
Tooru Fujisawa
bb9df65329 Bug 891107 - Part 2: Report argument length error as TypeError in js-ctypes. r=jorendorff 2015-04-22 18:26:14 +09:00
Tooru Fujisawa
e4a6c8aa21 Bug 891107 - Part 1: Show information about value, type, function, and argument number in type conversion error messages in js-ctypes. r=jorendorff 2015-04-22 18:26:13 +09:00
Tooru Fujisawa
288adf212a Bug 1155985 - Set FieldInto::mType just before storing to reserved slot. r=jonco, a=abillings 2015-04-22 18:26:13 +09:00
Andrea Marchesini
a4a3ae486f Bug 1156632 - Remove unused forward class declarations - patch 7 - JS, r=sfink 2015-04-22 08:29:26 +02:00
Jason Orendorff
3669ae6d31 Bug 1153475 - Always ignore desc.object() in DefineProperty functions that take a PropertyDescriptor argument. r=efaust. 2015-03-23 14:32:33 -05:00
Jason Orendorff
3d5bd7887c Bug 1148750, part 17 - Remove ApplyOrDefaultAttributes. r=efaust.
At this point, each path through the code completely fills in desc, so the final call to ApplyOrDefaultAttributes is redundant. Note that AddOrChangeProperty begins with `desc.assertComplete()`, so we'll find out soon enough if this is not the case.
2015-04-03 09:00:21 -05:00
Jason Orendorff
ced0ca97ed Bug 1148750, part 16 - Implement ValidateAndApplyPropertyDescriptor step 9 (redefining an existing accessor property). Remove CheckAccessorRedefinition. r=efaust. 2015-04-09 15:27:09 -05:00
Jason Orendorff
9b268c792c Bug 1148750, part 15 - Stop retaining getter and setter ops when redefining a data property. r=efaust.
StandardDefineProperty already does this. In short, redefining a magical data property like array.length or an arguments element should make it nonmagical.

In fact, it is an engine invariant that Shapes have either both JSPROP_GETTER and JSPROP_SETTER or neither: they never have e.g. a setter object and a getter op. As of recently the GC depends on this. So this change is necessary for memory safety.
2015-04-03 12:58:50 -05:00
Jason Orendorff
4bfe6cdf2b Bug 1148750, part 14 - Reject redefining a non-writable non-configurable data property to have a different value. r=efaust. 2015-04-03 16:25:12 -05:00
Jason Orendorff
2f9a24b3c7 Bug 1148750, part 13 - Simplify code to fill in desc.writable, if not present, from the existing shape. r=efaust. 2015-04-09 16:30:13 -05:00
Jason Orendorff
7189237c72 Bug 1148750, part 12 - Reject redefinition of non-writable non-configurable data property as writable. This fixes bug 1073808. r=efaust. 2015-04-09 15:55:37 -05:00
Jason Orendorff
296a9c02e1 Bug 1148750, part 11 - Remove some code for TypedArray cases rendered unreachable by part 1 of this bug. r=efaust. 2015-04-09 15:33:38 -05:00
Jason Orendorff
f19711de25 Bug 1148750, part 10 - js::NativeDefineProperty: Swap the order of the cases in the remaining old code. r=efaust. 2015-04-09 15:25:56 -05:00
Jason Orendorff
dba5f61a8d Bug 1148750, part 9 - Implement ValidateAndApplyPropertyDescriptor step 7. r=efaust.
The new code takes over some cases that used to be handled by each of the three cases that follow it. Therefore there are changes in all three cases, particularly the desc.isAccessorDescriptor() case, which no longer needs the sparsify code.
2015-04-09 15:19:02 -05:00
Jason Orendorff
6848ee14c6 Bug 1148750, part 8 - Implement ValidateAndApplyPropertyDescriptor step 6. r=efaust.
This also makes some changes to MutableHandle<PropertyDescriptor>, for convenience:

*   Make desc.setGetterObject() and desc.setSetterObject() quietly change *this from a generic or data descriptor into an accessor descriptor, if need be.

*   Make setWritable() clear the JSPROP_IGNORE_READONLY bit if present. (Breaking the symmetry a bit, it won't change *this from an accessor descriptor to a data descriptor. Instead, it asserts you're not doing that.)
2015-04-09 14:17:38 -05:00
Jason Orendorff
259f08b290 Bug 1148750, part 7 - Fill in configurable and enumerable. r=efaust.
This changes MutableHandle<PropertyDescriptor>::setEnumerable() to take a boolean argument, and makes it unconditionally clear JSPROP_IGNORE_ENUMERATE, as a convenience. A similar setConfigurable() method is also added.
2015-04-09 14:59:39 -05:00
Jason Orendorff
2c94987b4d Bug 1148750, part 6 - Implement ValidateAndApplyPropertyDescriptor up to step 5. r=efaust. 2015-04-09 14:18:24 -05:00
Jason Orendorff
23ec0fc12f Bug 1148750, part 5 - CompletePropertyDescriptor upgrade. r=efaust. 2015-04-09 14:13:15 -05:00
Jason Orendorff
3dfe729a4a Bug 1148750, part 4 - Strip out redundant if-conditions in parts of NativeDefineProperty where shape can't be null. r=efaust. 2015-04-09 14:28:17 -05:00
Jason Orendorff
46d92fce73 Bug 1148750, part 3 - Implement ValidateAndApplyPropertyDescriptor step 2. r=efaust.
The new comment "Filling in desc:" is aspirational for now, but it gradually becomes true in the subsequent patches in this bug.
2015-04-09 14:09:01 -05:00
Jason Orendorff
f03334e0e7 Bug 1148750, part 2 - Check extensibility in NativeDefineProperty. r=efaust. 2015-03-27 14:03:01 -05:00
Jason Orendorff
fbeaf9d086 Bug 1148750, part 1 - Factor out the lookup common to three branches at the top of NativeDefineProperty. r=efaust.
The existing setup saves a branch. We can't keep it. All that code is about to be completely rewritten. In the standard algorithms, this check is not immediately followed by a branch on this particular condition (desc.hasValue()). Furthermore, to deal with resolve hooks properly, we will later change the condition of this if-statement to something like `if (resolving)`, which will not be something we can common up with any other branch in this function.
2015-03-23 14:32:30 -05:00
Jason Orendorff
d0a5e0a8f9 Bug 1152106, part 2 - Make the global Components property configurable in cases where EnableUniversalXPConnect may later need to redefine it. r=bholley. 2015-04-10 18:04:05 -05:00
Jason Orendorff
7065e1b22c Bug 1152106, part 1 - Don't try to redefine the non-configurable global Components property when EnableUniversalXPConnect is called multiple times. r=bholley. 2015-04-10 12:58:38 -05:00
Ehsan Akhgari
2412cba891 Bug 1156030 - Remove some obsolete static assertion macros from the tree; r=Waldo 2015-04-21 14:22:43 -04:00
Terrence Cole
6c5060421f Bug 1154950 - Share permanent atom and well-known symbol marking; r=sfink 2015-04-14 13:28:46 -07:00
Terrence Cole
ad760483d1 Bug 1154101 - Remove PushMarkStack indirection; r=sfink 2015-04-14 13:28:39 -07:00
Jon Coppeard
c9a954e9e1 Bug 1156317 - Change the onOutOfMemory() interface is make it harder to misuse r=terrence 2015-04-21 16:08:39 +01:00
Jon Coppeard
71a3e123b0 Bug 1155455 - Relax assertion to take account of breakpoints added during incremental sweeping r=terrence 2015-04-21 16:08:36 +01:00
Ting-Yu Chou
b271555a8c Bug 1049290 - Optimize JSOP_IN for baseline compiler. r=djvj, r=h4writer 2015-04-18 07:54:10 +08:00
Tooru Fujisawa
13fa229bf4 Bug 1153963 - Add telemetry for regexp.hasOwnProperty("source") and Object.getOwnPropertyDescriptor(regexp, "source") on non-release build. r=till 2015-04-21 20:04:38 +09:00
Steve Singer
54e3635819 Bug 1156115 - Apply Bug 1135629 changes to the non-ion jit. r=nbp 2015-04-19 20:14:00 +02:00
Nick Fitzgerald
6175651f60 Bug 1154079 - Add the allocated object's [[class]] name to the allocations log. r=shu 2015-04-17 15:22:00 +02:00
Lars T Hansen
4834a78b29 Bug 1154705 - clone test functions to trigger inlining. r=jandem 2015-04-21 06:39:16 +02:00
Lars T Hansen
530558b6aa Bug 1156386 - UXTH instruction. r=dougc 2015-04-21 06:39:12 +02:00
Luke Wagner
8c11f7cd7a Bug 1154556 - OdinMonkey: fix staticalllyLink to handle cloned, profile-enabled code (r=bbouvier) 2015-04-20 22:59:34 -05:00
Luke Wagner
da1245a775 Bug 1154556 - OdinMonkey: simplify icache flushing (r=bbouvier) 2015-04-20 22:48:00 -05:00
Luke Wagner
b195b74816 Bug 1154556 - OdinMonkey: remove a dead field from AsmJSActivation (r=bbouvier) 2015-04-20 22:43:59 -05:00
Terrence Cole
7dd975f78d Bug 1154085 - Move eager scanning under the ambit of GCMarker::traverse; r=sfink 2015-04-14 13:28:39 -07:00
Nicolas B. Pierron
a4f65244cc Bug 1155468 - Fix Register::GetName typedef issue with clang. r=jandem 2015-04-20 11:33:40 -07:00
Ryan VanderMeulen
f6ccfe6288 Backed out changeset 075804ae0a42 (bug 1154705) for SM(arm) crashes.
CLOSED TREE
2015-04-20 13:31:10 -04:00
Ehsan Akhgari
f493e802a0 Bug 1155393 - Port the -Wno-inline-new-delete option from configure.in to the JS configure script; r=dholbert 2015-04-20 13:05:01 -04:00
Lars T Hansen
5a508e797a Bug 1154714 - don't check inline return type for Atomics.store. r=bbouvier 2015-04-20 18:21:05 +02:00
Lars T Hansen
26566e1ba4 Bug 1154705 - clone test functions to trigger inlining. r=jandem 2015-04-20 18:21:03 +02:00
Luke Wagner
8845707b03 Bug 1152280 - OdinMonkey: tighten changeHeap mask validation (r=bbouvier) 2015-04-20 09:14:08 -05:00
Tooru Fujisawa
14b74dd440 Bug 1155081 - Part 13: Remove ThrowError intrinsic. r=till 2015-04-20 13:58:17 +09:00
Tooru Fujisawa
290078dd9b Bug 1155081 - Part 12: Replace ThrowError(JSMSG_TYPEDOBJECT_ARRAYTYPE_BAD_ARGS) with ThrowTypeError(JSMSG_TYPEDOBJECT_BAD_ARGS) in TypedObject.js. r=till 2015-04-20 13:58:17 +09:00
Tooru Fujisawa
d834aa3af4 Bug 1155081 - Part 11: Replace ThrowError with ThrowTypeError in Utilities.js. r=till 2015-04-20 13:58:17 +09:00