dslomov
675f7d2d5a
Invalidate property cells for non-existent properties properly.
...
R=verwaest@chromium.org
BUG=v8:3914
LOG=N
Review URL: https://codereview.chromium.org/945403008
Cr-Commit-Position: refs/heads/master@{#26822}
2015-02-24 13:05:13 +00:00
rossberg
943dc63126
[strong] Deprecate ellisions
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/950303002
Cr-Commit-Position: refs/heads/master@{#26820}
2015-02-24 12:51:08 +00:00
dcarney
95df1bc266
[turbofan] optimize moves into merges
...
BUG=
Review URL: https://codereview.chromium.org/755323011
Cr-Commit-Position: refs/heads/master@{#26819}
2015-02-24 12:49:33 +00:00
bmeurer
dcf193f18c
[turbofan] Strength reduction for inline comparisons.
...
Perform strength reduction on machine operators with inline comparisons:
CMP & 1 => CMP
1 & CMP => CMP
CMP << 31 >> 31 => CMP
Also strength reduce the following constructs:
x + (0 - y) => x - y
(0 - y) + x => x - y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/951903003
Cr-Commit-Position: refs/heads/master@{#26817}
2015-02-24 12:26:29 +00:00
mstarzinger
b33f552f34
Make sure exception handlers are deferred.
...
R=bmeurer@chromium.org
TEST=unittests/SchedulerTest.CallException
Review URL: https://codereview.chromium.org/944903002
Cr-Commit-Position: refs/heads/master@{#26816}
2015-02-24 11:44:57 +00:00
dcarney
43c7345b35
[turbofan] only use two gaps
...
BUG=
Review URL: https://codereview.chromium.org/948033002
Cr-Commit-Position: refs/heads/master@{#26814}
2015-02-24 11:09:20 +00:00
yangguo
dafd73016c
Reland "Correctly propagate terminate exception in TryCall."
...
BUG=v8:3892
LOG=Y
Review URL: https://codereview.chromium.org/953463002
Cr-Commit-Position: refs/heads/master@{#26810}
2015-02-24 08:30:30 +00:00
bmeurer
0882d3ff81
[turbofan] Initial version of branch cloning.
...
This implements a special case of block cloning to recognize constructs like
if (a ? b : c) { ... }
that happen to be generated by Emscripten quite often.
Review URL: https://codereview.chromium.org/947963002
Cr-Commit-Position: refs/heads/master@{#26808}
2015-02-24 07:41:36 +00:00
arv
87f77d6aba
for-of should throw if result object is not an object
...
This is done using desugaring. Before this we had:
result = iterator.next()
with this we instead do:
!%_IsSpecObject(result = iterator.next()) &&
%ThrowIteratorResultNotAnObject(result)
BUG=v8:3916
LOG=N
Review URL: https://codereview.chromium.org/929733003
Cr-Commit-Position: refs/heads/master@{#26805}
2015-02-23 23:34:38 +00:00
arv
36e72aedf0
ES6 collections: Fix order of constructor logic
...
The adder should be gotten before the iterator.
Motivation: Once this is done we should be able to use a for-of loop
instead which leads to cleaner code and correct behavior once the
for-of loop correctly supports abrupt completion.
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/949933002
Cr-Commit-Position: refs/heads/master@{#26803}
2015-02-23 18:55:46 +00:00
arv
3a8e496fa4
Promise.all and race should work with iterables
...
BUG=v8:3705
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/948843004
Cr-Commit-Position: refs/heads/master@{#26801}
2015-02-23 18:10:14 +00:00
verwaest
460187b563
Revert "The expected key is a valid identifier, which is already free of \\, <0x20, "."
...
The optimization is invalid as indicated by the test.
BUG=
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/950873003
Cr-Commit-Position: refs/heads/master@{#26799}
2015-02-23 17:57:17 +00:00
ishell
4349b186b7
More tests added to cctest/tests/test-migrations.cc.
...
This also includes a regression test for crbug/459512.
BUG=chromium:459512
LOG=N
Review URL: https://codereview.chromium.org/947103002
Cr-Commit-Position: refs/heads/master@{#26795}
2015-02-23 11:59:50 +00:00
dcarney
102ddf35cf
disable some harmony scoping tests
...
R=verwaest@chromium.org
BUG=v8:3914
LOG=N
Review URL: https://codereview.chromium.org/914333002
Cr-Commit-Position: refs/heads/master@{#26794}
2015-02-23 11:58:54 +00:00
machenbach
035b144b16
Revert of Correctly propagate terminate exception in TryCall. (patchset #2 id:20001 of https://codereview.chromium.org/928193002/ )
...
Reason for revert:
See crbug.com/460412 and crbug.com/460356. Reverting on master in order to roll from master again soon.
Original issue's description:
> Correctly propagate terminate exception in TryCall.
>
> BUG=v8:3892
> LOG=Y
>
> Committed: https://crrev.com/a49b55b78844557b65a98e7a77dd26078157ed7f
> Cr-Commit-Position: refs/heads/master@{#26685}
TBR=ishell@chromium.org ,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3892
Review URL: https://codereview.chromium.org/946973004
Cr-Commit-Position: refs/heads/master@{#26792}
2015-02-23 07:17:30 +00:00
bmeurer
61ac461330
Revert of [x64] Improve instruction selection for TruncateInt64ToInt32. (patchset #1 id:1 of https://codereview.chromium.org/936323004/ )
...
Reason for revert:
Breaks SQLite
Original issue's description:
> [x64] Improve instruction selection for TruncateInt64ToInt32.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/64a2717529e2197f3a789adabf86ca36f5eb764c
> Cr-Commit-Position: refs/heads/master@{#26739}
TBR=svenpanne@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/928723003
Cr-Commit-Position: refs/heads/master@{#26791}
2015-02-23 07:09:26 +00:00
arv
925364f5b4
Fix issue with -0 in Maps
...
Because we generated a different hash code for 0 and -0 we ended up
not even getting to the SameValueZero check.
BUG=v8:3906
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/947443005
Cr-Commit-Position: refs/heads/master@{#26787}
2015-02-20 21:02:55 +00:00
arv
fa1523ea6e
ES6: Fix GetIterator
...
After further spec reading it turns out that we should not do ToObject
on the iterable.
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/941313003
Cr-Commit-Position: refs/heads/master@{#26786}
2015-02-20 20:07:21 +00:00
yangguo
0aa1d2af37
Fix GC-unsafe use of BreakLocationIterator.
...
R=svenpanne@chromium.org
BUG=v8:3776
LOG=N
Review URL: https://codereview.chromium.org/942003002
Cr-Commit-Position: refs/heads/master@{#26779}
2015-02-20 14:47:35 +00:00
mstarzinger
eb3bbd3da4
Cleanup scheduler unit test a bit.
...
R=bmeurer@chromium.org
TEST=unittests/SchedulerTest,unittests/SchedulerRPOTest
Review URL: https://codereview.chromium.org/927653004
Cr-Commit-Position: refs/heads/master@{#26778}
2015-02-20 14:38:11 +00:00
mstarzinger
7dba829be9
Add missing test for CollectControlProjections on calls.
...
R=bmeurer@chromium.org
TEST=unittests/NodePropertiesTest.CollectControlProjections_Call
Review URL: https://codereview.chromium.org/941993002
Cr-Commit-Position: refs/heads/master@{#26777}
2015-02-20 14:05:18 +00:00
bmeurer
6c701d1597
[turbofan] Don't compute unneeded gray set in AllNodes.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/940403002
Cr-Commit-Position: refs/heads/master@{#26773}
2015-02-20 12:30:30 +00:00
Yang Guo
c4d2234e79
Disable failing debug tests in gc-stress.
...
TBR=machenbach@chromium.org
BUG=v8:3776
LOG=N
Review URL: https://codereview.chromium.org/944833002
Cr-Commit-Position: refs/heads/master@{#26769}
2015-02-20 11:15:27 +00:00
mstarzinger
6fe12676ce
Simplify computation of environment stack delta.
...
R=titzer@chromium.org
TEST=cctest/test-run-jsexceptions/CatchCall
Review URL: https://codereview.chromium.org/936343002
Cr-Commit-Position: refs/heads/master@{#26768}
2015-02-20 10:48:21 +00:00
Benedikt Meurer
9e6181d5c3
[turbofan] Finally get rid of the generic algorithm.
...
R=svenpanne@chromium.org
Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
Cr-Commit-Position: refs/heads/master@{#26760}
Review URL: https://codereview.chromium.org/944803002
Cr-Commit-Position: refs/heads/master@{#26767}
2015-02-20 10:12:00 +00:00
mstarzinger
6881d7609a
Model exceptional edges from call nodes in TurboFan.
...
R=titzer@chromium.org ,bmeurer@chromium.org
Review URL: https://codereview.chromium.org/928213003
Cr-Commit-Position: refs/heads/master@{#26766}
2015-02-20 09:55:00 +00:00
yangguo
afb2706103
Limit size of first page based on serialized data.
...
R=hpayer@chromium.org
BUG=chromium:453111
LOG=Y
Review URL: https://codereview.chromium.org/932823002
Cr-Commit-Position: refs/heads/master@{#26764}
2015-02-20 09:34:11 +00:00
machenbach
c7810004bb
Revert of [turbofan] Finally get rid of the generic algorithm. (patchset #2 id:20001 of https://codereview.chromium.org/944803002/ )
...
Reason for revert:
Breaks dbg builds.
Original issue's description:
> [turbofan] Finally get rid of the generic algorithm.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
> Cr-Commit-Position: refs/heads/master@{#26760}
TBR=svenpanne@chromium.org ,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/941963003
Cr-Commit-Position: refs/heads/master@{#26763}
2015-02-20 09:14:44 +00:00
Benedikt Meurer
5bbe693e48
[turbofan] Finally get rid of the generic algorithm.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/944803002
Cr-Commit-Position: refs/heads/master@{#26760}
2015-02-20 08:42:51 +00:00
arv
b9f006a404
Align GetIterator with ES6 spec
...
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/936793003
Cr-Commit-Position: refs/heads/master@{#26759}
2015-02-19 21:38:18 +00:00
adamk
a538d945e3
Teach ModuleDescriptor about basic local exports
...
Add() becomes AddLocalExport, which takes an export_name and a local_name.
New parsing tests exercise this.
Also start generating exports for default exports (though this doesn't yet
handle anonymous default exports).
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/934323004
Cr-Commit-Position: refs/heads/master@{#26758}
2015-02-19 20:15:13 +00:00
rossberg
7b49ed658c
[strong] make function and class declarations lexical & immutable
...
R=arv@chromium.org
BUG=
Review URL: https://codereview.chromium.org/932283003
Cr-Commit-Position: refs/heads/master@{#26755}
2015-02-19 16:49:19 +00:00
arv
0cffc08b66
Super store
...
When the property is not found on the [[HomeObject]] prototype chain
then we should do a [[DefineOwnProperty]] on the instance.
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/934463003
Cr-Commit-Position: refs/heads/master@{#26754}
2015-02-19 16:15:35 +00:00
rossberg
0ebd870f72
[strong] Deprecate arguments
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/932333004
Cr-Commit-Position: refs/heads/master@{#26753}
2015-02-19 14:58:42 +00:00
rossberg
7d089a5929
[strong] Deprecate for-in
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/939063002
Cr-Commit-Position: refs/heads/master@{#26751}
2015-02-19 13:50:41 +00:00
titzer
8e241468ed
[turbofan] Transfer types from loop phis to OSR values.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/930003003
Cr-Commit-Position: refs/heads/master@{#26746}
2015-02-19 12:38:54 +00:00
titzer
d050c331eb
[turbofan] Simplify context specialization and fix for OSR.
...
AstGraphBuilder puts a constant context in from the beginning.
Also fix bug in merging contexts in environment.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/934293002
Cr-Commit-Position: refs/heads/master@{#26745}
2015-02-19 11:36:50 +00:00
rossberg
4c082b570d
Make generator constructors configurable
...
R=mstarzinger@chromium.org
BUG=v8:3902
LOG=Y
Review URL: https://codereview.chromium.org/939953002
Cr-Commit-Position: refs/heads/master@{#26744}
2015-02-19 11:30:33 +00:00
jarin
9951e1e5f0
[turbofan] Fix typing of comparisons.
...
BUG=chromium:459955
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/943483002
Cr-Commit-Position: refs/heads/master@{#26743}
2015-02-19 10:56:23 +00:00
loislo
36ed9ca348
A few tests fails when I run them with --hydrogen-track-positions
...
The root of problem is the fact that we don't track the position of 'this' statement but use them when visit compare statement.
As a result we have -1 as the position of left expression and the resulting relative position is negative and doesn't fit into BitField.
BUG=452067
TEST=test-cpu-profiler/SourceLocation
LOG=n
Review URL: https://codereview.chromium.org/940593002
Cr-Commit-Position: refs/heads/master@{#26741}
2015-02-19 10:07:54 +00:00
ulan
5242700da4
Revert "Remove IC age from Code."
...
This reverts commit 3cd889 for regressing Kraken benchmark
BUG=chromium:457174
LOG=N
Review URL: https://codereview.chromium.org/941503003
Cr-Commit-Position: refs/heads/master@{#26740}
2015-02-19 09:56:19 +00:00
Benedikt Meurer
64a2717529
[x64] Improve instruction selection for TruncateInt64ToInt32.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/936323004
Cr-Commit-Position: refs/heads/master@{#26739}
2015-02-19 09:41:53 +00:00
hpayer
206e9136bd
Unlink pages from the space page list after evacuation.
...
BUG=430201
LOG=n
Review URL: https://codereview.chromium.org/937833002
Cr-Commit-Position: refs/heads/master@{#26738}
2015-02-19 09:28:59 +00:00
marja
90501dd703
[strong] Remove a regression test for "use before var".
...
This case should break in strong mode (unlike previously thought).
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/935093002
Cr-Commit-Position: refs/heads/master@{#26726}
2015-02-18 16:12:51 +00:00
ishell
34b5565eb6
Fix for cctest/test-api/SetJitCodeEventHandler: generate less objects during execution to avoid unwanted GCs.
...
BUG=v8:3899
LOG=N
Review URL: https://codereview.chromium.org/934243003
Cr-Commit-Position: refs/heads/master@{#26721}
2015-02-18 14:02:58 +00:00
mstarzinger
7e7e85f32e
Introduce and test NodeProperties::CollectControlProjections.
...
R=bmeurer@chromium.org
TEST=unittests/NodePropertiesTest.CollectControlProjections
Review URL: https://codereview.chromium.org/935033004
Cr-Commit-Position: refs/heads/master@{#26720}
2015-02-18 13:55:32 +00:00
verwaest
7138634d5a
Move LookupResult into crankshaft as that's now the only place where it's still used
...
Additionally handlify the "transition" field so that GC can stop caring about it.
BUG=
Review URL: https://codereview.chromium.org/935033003
Cr-Commit-Position: refs/heads/master@{#26718}
2015-02-18 13:21:43 +00:00
bmeurer
39515a685a
[x64] Recognize zero extension of 8-bit and 16-bit values.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/938513003
Cr-Commit-Position: refs/heads/master@{#26712}
2015-02-18 07:06:16 +00:00
caitpotter88
ea3f39486c
[tests]: fix exponentiation in harmony array-concat tests
...
BUG=
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/921683006
Cr-Commit-Position: refs/heads/master@{#26710}
2015-02-17 22:28:12 +00:00
adamk
522937cb49
Strip Interface class of most of its logic, make it all about Module exports
...
This gets Variable and VariableProxy out of the business of worrying about
Interfaces.
At the same time, get rid of the notion of "module variables". In ES6, variables
that refer to modules will be simply be CONST bindings to module namespace
objects.
The only change in logic here is one more early error:
duplicate export names are now rejected.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/918373002
Cr-Commit-Position: refs/heads/master@{#26708}
2015-02-17 20:51:35 +00:00