rossberg
2fa664fbe2
Reland "[strong] Object literals create strong objects"
...
(patchset #4 id:60001 of https://codereview.chromium.org/1134333005/ )"
This reverts commit 81c080ef8e
.
Patchset #1 is the original CL.
Patchset #2 fixes a handlification bug that caused the crash.
R=dslomov@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/1143813002
Cr-Commit-Position: refs/heads/master@{#28497}
2015-05-20 07:07:42 +00:00
Daniel Ehrenberg
31fb502474
Implement %TypedArray%.{lastI,i}ndexOf
...
This patch adds the two TypedArray methods indexOf and lastIndexOf,
which are similar to the methods on Arrays. Tests are ported from
arrays as well.
BUG=v8:3578
LOG=Y
R=arv@chromium.org
Review URL: https://codereview.chromium.org/1141763004
Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#28495}
2015-05-20 01:09:05 +00:00
Daniel Ehrenberg
540bb0c80b
Implement %TypedArray%.prototype.sort
...
The sort method of TypedArrays sorts in numerical order by default.
This patch implements sorting based on Arrays and adds a test.
The length of %TypedArray%.prototype.sort, like Array.prototype.sort,
seems to be unspecified in ES6, so this patch lets it have the value
1, to match our interpretation for Array.prototype.sort (though 0
would also be a sensible length).
R=arv@chromium.org
BUG=v8:3578
LOG=Y
Review URL: https://codereview.chromium.org/1148513002
Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#28494}
2015-05-20 00:56:06 +00:00
Daniel Ehrenberg
cc74268d30
Implement %TypedArray%.reverse
...
This patch adds the reverse method to TypedArrays, together with a
test. The test also runs for normal Arrays, since I didn't see a
test for reversing dense arrays.
BUG=v8:3578
LOG=Y
R=arv@chromium.org
Review URL: https://codereview.chromium.org/1132723008
Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#28493}
2015-05-20 00:38:49 +00:00
arv
78f0452d31
[strong] Function arity check should be based on required parameters
...
Also check whether the arguments count is smaller than the number of
required parameters which is the same as the SharedFunctionInfo length.
BUG=v8:4102
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/1133933003
Cr-Commit-Position: refs/heads/master@{#28491}
2015-05-19 18:44:05 +00:00
machenbach
6f58ffa140
Revert of Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight} (patchset #2 id:20001 of https://codereview.chromium.org/1139663005/ )
...
Reason for revert:
[Sheriff] Breaks win nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6872
Original issue's description:
> Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight}
>
> This patch adds implementations for additional TypedArray methods
> from the ES6 spec, together with tests adapted from array code.
>
> R=arv@chromium.org
> BUG=v8:3578
> LOG=Y
>
> Committed: https://crrev.com/59ef8c5f3282f01b5990b3a46a2a3a829b699a13
> Cr-Commit-Position: refs/heads/master@{#28488}
TBR=arv@chromium.org ,dehrenberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3578
Review URL: https://codereview.chromium.org/1143833002
Cr-Commit-Position: refs/heads/master@{#28489}
2015-05-19 16:55:45 +00:00
dehrenberg
59ef8c5f32
Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight}
...
This patch adds implementations for additional TypedArray methods
from the ES6 spec, together with tests adapted from array code.
R=arv@chromium.org
BUG=v8:3578
LOG=Y
Review URL: https://codereview.chromium.org/1139663005
Cr-Commit-Position: refs/heads/master@{#28488}
2015-05-19 16:32:44 +00:00
dslomov
3199077791
[destructuring] Support computed property names in patterns.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/1129083009
Cr-Commit-Position: refs/heads/master@{#28487}
2015-05-19 16:27:02 +00:00
mstarzinger
7bd2d3e32e
[turbofan] Fix over-restictive assertion in code generator.
...
R=titzer@chromium.org
TEST=mjsunit/regress/regress-crbug-489293
BUG=chromium:489293
LOG=n
Review URL: https://codereview.chromium.org/1142873005
Cr-Commit-Position: refs/heads/master@{#28486}
2015-05-19 16:14:28 +00:00
wingo
66665ae727
Reapply "Resolve references to "this" the same way as normal variables""
...
This reapplies https://codereview.chromium.org/1136073002 , along with
the followups:
Remove Scope::scope_uses_this_ flag
https://codereview.chromium.org/1128963005
and
PPC: Resolve references to "this" the same way as normal variables
https://codereview.chromium.org/1134073003
R=rossberg@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/1136883006
Cr-Commit-Position: refs/heads/master@{#28458}
Review URL: https://codereview.chromium.org/1140633003
Cr-Commit-Position: refs/heads/master@{#28484}
2015-05-19 14:50:59 +00:00
dslomov
5cdaa3e6e5
[destructuring] Implement initializers in patterns.
...
R=arv@chromium.org ,rossberg@chromium.org,wingo@igalia.com
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/1146683002
Cr-Commit-Position: refs/heads/master@{#28482}
2015-05-19 14:29:38 +00:00
ishell
18b60594c4
Another regression test for resolving references to "this" in strict mode.
...
BUG=chromium:487105
LOG=N
Review URL: https://codereview.chromium.org/1136123010
Cr-Commit-Position: refs/heads/master@{#28480}
2015-05-19 12:51:42 +00:00
machenbach
8c15e5bdc3
[test] Make test as flaky
...
BUG=v8:4127
LOG=n
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/1146683003
Cr-Commit-Position: refs/heads/master@{#28479}
2015-05-19 11:50:51 +00:00
wingo
24768fe200
Revert of Reapply "Resolve references to "this" the same way as normal variables"" (patchset #2 id:20001 of https://codereview.chromium.org/1136883006/ )
...
Reason for revert:
Something is deserializing "this" declarations as Variable::NORMAL and not Variable::THIS https://codereview.chromium.org/1136123010/
Original issue's description:
> Reapply "Resolve references to "this" the same way as normal variables""
>
> This reapplies https://codereview.chromium.org/1136073002 , along with
> the followups:
>
> Remove Scope::scope_uses_this_ flag
> https://codereview.chromium.org/1128963005
>
> and
>
> PPC: Resolve references to "this" the same way as normal variables
> https://codereview.chromium.org/1134073003
>
> R=yangguo@chromium.org , rossberg@chromium.org
> LOG=N
> BUG=
>
> Committed: https://crrev.com/1efc1e4f7a3d30d5225e9d5cb2585cad7cb17099
> Cr-Commit-Position: refs/heads/master@{#28458}
TBR=rossberg@chromium.org ,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/1146733002
Cr-Commit-Position: refs/heads/master@{#28473}
2015-05-19 10:57:51 +00:00
titzer
f659ae4c89
[turbofan] Support vector IC feedback in the JSTypeFeedbackTable.
...
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1133113004
Cr-Commit-Position: refs/heads/master@{#28465}
2015-05-19 08:58:29 +00:00
machenbach
81c080ef8e
Revert of [strong] Object literals create strong objects (patchset #4 id:60001 of https://codereview.chromium.org/1134333005/ )
...
Reason for revert:
[Sheriff] Segmentation fault on arm64 with nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%201/builds/1990
Original issue's description:
> [strong] Object literals create strong objects
>
> R=dslomov@chromium.org
> BUG=v8:3956
> LOG=N
>
> Committed: https://crrev.com/fe6598cffb82ec4180dcc2e2310e77d07a803f96
> Cr-Commit-Position: refs/heads/master@{#28444}
TBR=dslomov@chromium.org ,arv@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3956
Review URL: https://codereview.chromium.org/1135493006
Cr-Commit-Position: refs/heads/master@{#28464}
2015-05-19 07:35:54 +00:00
jkummerow
f8175201da
Fix harmless HGraph verification failure after hoisting inlined bounds checks
...
BUG=chromium:487608
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/1133343003
Cr-Commit-Position: refs/heads/master@{#28463}
2015-05-19 07:32:48 +00:00
yangguo
19312c1631
Do not clear stepping after DebugEvaluate.
...
Clearing stepping was originally introduced in http://codereview.chromium.org/7889039
But DebugEvaluate now also uses a DisableBreak scope, which makes sure we don't step
inside the evaluated code.
R=yurys@chromium.org
BUG=chromium:467180
LOG=N
Review URL: https://codereview.chromium.org/1129363003
Cr-Commit-Position: refs/heads/master@{#28461}
2015-05-19 04:56:08 +00:00
wingo
1efc1e4f7a
Reapply "Resolve references to "this" the same way as normal variables""
...
This reapplies https://codereview.chromium.org/1136073002 , along with
the followups:
Remove Scope::scope_uses_this_ flag
https://codereview.chromium.org/1128963005
and
PPC: Resolve references to "this" the same way as normal variables
https://codereview.chromium.org/1134073003
R=yangguo@chromium.org , rossberg@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/1136883006
Cr-Commit-Position: refs/heads/master@{#28458}
2015-05-18 20:16:12 +00:00
dslomov
cf9492ddd8
[destructuring] More tests for object literal pattern
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/1139773005
Cr-Commit-Position: refs/heads/master@{#28457}
2015-05-18 20:14:51 +00:00
dehrenberg
cc3f59db55
Add TypedArray.from method
...
This function creates a new way to make TypedArrays based on existing
iterable or Array-like objects, analogous to Array.from. The patch
implements the function and adds tests.
R=arv@chromium.org
BUG=v8:3578
LOG=Y
Review URL: https://codereview.chromium.org/1132163011
Cr-Commit-Position: refs/heads/master@{#28456}
2015-05-18 20:13:47 +00:00
arv
55a7500343
[strong] Fix super in strong classes
...
The functions of strong classes are born non extensible. But, when
the class is created we need to add an own private symbol representing
the [[HomeObject]] slot in the spec.
Like for the hidden_string property, we allow adding private own
symbols to non extensible objects.
BUG=v8:4077
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/1138603003
Cr-Commit-Position: refs/heads/master@{#28447}
2015-05-18 14:18:38 +00:00
rossberg
fe6598cffb
[strong] Object literals create strong objects
...
R=dslomov@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/1134333005
Cr-Commit-Position: refs/heads/master@{#28444}
2015-05-18 13:23:17 +00:00
verwaest
4268141ca6
Reland "Mark internal AccessorInfo properties as 'special data properties'"
...
This reverts commit ac5336baca
.
BUG=
Review URL: https://codereview.chromium.org/1138483005
Cr-Commit-Position: refs/heads/master@{#28442}
2015-05-18 12:36:40 +00:00
machenbach
ac5336baca
Revert of Mark internal AccessorInfo properties as "special data properties" (patchset #2 id:20001 of https://codereview.chromium.org/1123163005/ )
...
Reason for revert:
[Sheriff] Blocks current roll:
https://codereview.chromium.org/1124403007/
Bisection (https://codereview.chromium.org/1142753002/ ) points to this CL.
Original issue's description:
> Mark internal AccessorInfo properties as "special data properties" to ensure correct strict-mode handling.
>
> BUG=
>
> Committed: https://crrev.com/188297160d2b82a4e2a206ebbddfc21dd99a9d8d
> Cr-Commit-Position: refs/heads/master@{#28369}
TBR=rossberg@chromium.org ,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/1142763002
Cr-Commit-Position: refs/heads/master@{#28437}
2015-05-17 16:50:17 +00:00
machenbach
f453416b7f
Revert of Debugger: preserve stepping state after evaluating breakpoint condition. (patchset #1 id:1 of https://codereview.chromium.org/1132643004/ )
...
Reason for revert:
[Sheriff] This breaks TSAN (makes some tests marked as flaky permanently fail):
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/3882
Original issue's description:
> Debugger: preserve stepping state after evaluating breakpoint condition.
>
> R=ulan@chromium.org , yurys@chromium.org
> BUG=chromium:467180
> LOG=N
TBR=ulan@chromium.org ,yurys@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:467180
Review URL: https://codereview.chromium.org/1130123007
Cr-Commit-Position: refs/heads/master@{#28436}
2015-05-17 06:21:39 +00:00
yangguo
ee6666a55a
Debugger: preserve stepping state after evaluating breakpoint condition.
...
R=ulan@chromium.org , yurys@chromium.org
BUG=chromium:467180
LOG=N
Review URL: https://codereview.chromium.org/1132643004
Cr-Commit-Position: refs/heads/master@{#28432}
2015-05-15 22:50:55 +00:00
arv
834a8e9f63
[es6] Iterators and generators should "extend" %IteratorPrototype%
...
All the builtin iterators as well as the generator objects have an
object called %IteratorPrototype% in the spec between them and
%ObjectPrototype%.
BUG=v8:3568
LOG=N
Review URL: https://codereview.chromium.org/1128233008
Cr-Commit-Position: refs/heads/master@{#28426}
2015-05-15 15:09:38 +00:00
yangguo
d8e9f3a484
Add regression test for resolving "this" in debug evaluate.
...
R=hablich@chromium.org
BUG=chromium:487289
LOG=N
Review URL: https://codereview.chromium.org/1137293002
Cr-Commit-Position: refs/heads/master@{#28424}
2015-05-15 13:57:31 +00:00
yangguo
f3f0b2724b
Migrate error messages, part 11.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/1140053002
Cr-Commit-Position: refs/heads/master@{#28423}
2015-05-15 13:32:26 +00:00
mvstanton
de3a1ca02e
Bug: Runtime_GrowArrayElements provoked unnecessary lazy deopt.
...
Unnecessary, and unhandled as well.
BUG=488398
R=jarin@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/1141163004
Cr-Commit-Position: refs/heads/master@{#28421}
2015-05-15 13:05:00 +00:00
ishell
3c1487db60
Map::ReconfigureProperty() should mark map as unstable when there is an element kind transition somewhere in the middle of the transition tree.
...
BUG=chromium:485548
LOG=N
Review URL: https://codereview.chromium.org/1128043005
Cr-Commit-Position: refs/heads/master@{#28418}
2015-05-15 10:39:51 +00:00
dslomov
7f6ae2300b
[destructuring] Adapting PatternRewriter to work in C-style for-statements.
...
BUG=v8:811
LOG=N
Review URL: https://codereview.chromium.org/1128043006
Cr-Commit-Position: refs/heads/master@{#28417}
2015-05-15 09:56:24 +00:00
dehrenberg
85c91f639e
Test that TypedArray methods don't read length
...
ES6 specifies that methods on TypedArrays reference an internal length
slot, rather than their length property. This patch tests that for the
TypedArray methods that exist currently.
R=arv@chromium.org
BUG=v8:3578
LOG=Y
Review URL: https://codereview.chromium.org/1130413010
Cr-Commit-Position: refs/heads/master@{#28409}
2015-05-15 02:03:44 +00:00
caitpotter88
3a18b9b71b
[es6] support spread-calling Super-accessing properties
...
BUG=v8:4105, v8:3018
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/1132933003
Cr-Commit-Position: refs/heads/master@{#28405}
2015-05-14 22:59:14 +00:00
rossberg
9be59492f9
[strong] Introduce strong bit
...
Only set on strong functions so far to test basic operation.
R=dslomov@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/1138243002
Cr-Commit-Position: refs/heads/master@{#28396}
2015-05-13 13:31:12 +00:00
yangguo
e24b31f003
Revert "Resolve references to "this" the same way as normal variables"
...
... and the following two
"PPC: Resolve references to "this" the same way as normal variables"
"Remove Scope::scope_uses_this_ flag"
R=hablich@chromium.org
BUG=chromium:487289
LOG=N
Review URL: https://codereview.chromium.org/1134003003
Cr-Commit-Position: refs/heads/master@{#28395}
2015-05-13 13:30:01 +00:00
wingo
e73594c7fb
Use ExpressionClassifier to identify valid arrow function formals
...
R=dslomov@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/1138153003
Cr-Commit-Position: refs/heads/master@{#28391}
2015-05-13 11:45:02 +00:00
bmeurer
5494920a18
[turbofan] Use frame state before for shift operations as well.
...
This was already done for other binary operations, so it's basically
copying the existing functionality to shift left and shift right
logical/arithmetic.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/1140883003
Cr-Commit-Position: refs/heads/master@{#28389}
2015-05-13 11:17:28 +00:00
bmeurer
2111d18dba
[turbofan] Add frame state before JavaScript comparisons.
...
Use these check points to optimize comparisons where we already know
that one side cannot be a String (or turn into a string via
ToPrimitive).
Also remove bunch of useless DoNotCrash tests for the scheduler that are
painful to maintain and add almost no value.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/1140583004
Cr-Commit-Position: refs/heads/master@{#28383}
2015-05-13 07:38:35 +00:00
dehrenberg
b57428e9ef
Implement %TypedArray%.{fill,find,findIndex}
...
This patch adds three methods to TypedArrays which are already
implemented for arrays. The implementations are made by calling
out to the underlying code used by Arrays.
R=adamk@chromium.org
BUG=v8:3578
LOG=Y
Review URL: https://codereview.chromium.org/1136663005
Cr-Commit-Position: refs/heads/master@{#28382}
2015-05-13 04:32:08 +00:00
dehrenberg
a863c4d3d8
TypedArray.prototype.copyWithin method
...
This patch adds the copyWithin method to TypedArrays. For the first
pass, the internals of Array.copyWithin are used. Eventually, a more
efficient form based on memcpy could be used instead.
BUG=v8:3578
LOG=Y
R=adamk@chromium.org , arv@chromium.org , caitpotter88@gmail.com
Review URL: https://codereview.chromium.org/1131113002
Cr-Commit-Position: refs/heads/master@{#28381}
2015-05-12 19:20:56 +00:00
dslomov
0b620ad5e5
Fix test formatting
...
TBR=arv@chromium.org
Review URL: https://codereview.chromium.org/1129713004
Cr-Commit-Position: refs/heads/master@{#28380}
2015-05-12 18:12:54 +00:00
arv
547a641e2c
[strong] Add more function arity tests
...
This is a follow up to https://codereview.chromium.org/1115263004/
BUG=v8:3956
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/1141603002
Cr-Commit-Position: refs/heads/master@{#28379}
2015-05-12 17:37:25 +00:00
dslomov
30b771a662
Fix the behavior of 'super.foo' assignment when receiver is not an object.
...
R=arv@chromium.org ,verwaest@chromium.org
BUG=v8:4097
LOG=N
Review URL: https://codereview.chromium.org/1132203005
Cr-Commit-Position: refs/heads/master@{#28377}
2015-05-12 17:13:07 +00:00
conradw
03ef40b46c
[strong] Disallow implicit conversions for comparison
...
Implements the strong mode proposal's restrictions on implicit conversions
for the binary >, >=, <, and <= operators.
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/1130283002
Cr-Commit-Position: refs/heads/master@{#28370}
2015-05-12 15:23:50 +00:00
verwaest
188297160d
Mark internal AccessorInfo properties as "special data properties" to ensure correct strict-mode handling.
...
BUG=
Review URL: https://codereview.chromium.org/1123163005
Cr-Commit-Position: refs/heads/master@{#28369}
2015-05-12 15:11:13 +00:00
yangguo
46f992ddd0
Reland "Use function wrapper argument to expose internal arrays to native scripts."
...
Review URL: https://codereview.chromium.org/1138173002
Cr-Commit-Position: refs/heads/master@{#28367}
2015-05-12 14:00:45 +00:00
yangguo
0bbe787448
Migrate error messages, part 10.
...
R=mvstanton@chromium.org
Committed: https://crrev.com/8608e619afe2b4514b0577bfb73a153b1550d41f
Cr-Commit-Position: refs/heads/master@{#28357}
Review URL: https://codereview.chromium.org/1126043004
Cr-Commit-Position: refs/heads/master@{#28366}
2015-05-12 13:52:23 +00:00
yangguo
26cb29b891
Revert of Migrate error messages, part 10. (patchset #2 id:20001 of https://codereview.chromium.org/1126043004/ )
...
Reason for revert:
patch didn't apply correctly.
Original issue's description:
> Migrate error messages, part 10.
>
> R=mvstanton@chromium.org
>
> Committed: https://crrev.com/8608e619afe2b4514b0577bfb73a153b1550d41f
> Cr-Commit-Position: refs/heads/master@{#28357}
TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1130073005
Cr-Commit-Position: refs/heads/master@{#28358}
2015-05-12 08:33:28 +00:00