marja
868470ddc9
[strong] Adding regression cases which should always continue working.
...
1) Mutually recursive functions
2) Strong code using non-strong var before declaration.
These test cases ensure that we don't accidentally kill these wanted behaviors
when adding restrictions to strong mode.
BUG=
Review URL: https://codereview.chromium.org/927143002
Cr-Commit-Position: refs/heads/master@{#26671}
2015-02-16 17:57:43 +00:00
titzer
c5f7d2bb82
[turbofan] Fix control reducer with re-reducing branches.
...
R=jarin@chromium.org
LOG=Y
BUG=chromium:458876
Review URL: https://codereview.chromium.org/917383004
Cr-Commit-Position: refs/heads/master@{#26666}
2015-02-16 14:56:49 +00:00
jarin
d0758949e1
[turbofan] Clear pending exception from unsuccessful compilation.
...
BUG=chromium:458987
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/932603002
Cr-Commit-Position: refs/heads/master@{#26665}
2015-02-16 14:25:23 +00:00
jarin
0b8063cec8
[turbofan] Avoid ToNumber conversions if they could deoptimize.
...
BUG=chromium:454158
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/922623002
Cr-Commit-Position: refs/heads/master@{#26661}
2015-02-16 12:59:20 +00:00
caitpotter88
8bb2e39774
Implement ES6 rest parameters
...
LOG=Y
BUG=v8:2159
R=dslomov@chromium.org , arv@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/816913003
Cr-Commit-Position: refs/heads/master@{#26645}
2015-02-14 00:15:12 +00:00
arv
765e002a4f
Fix lazy parsing for functions that use super.
...
The preparser needs to log the usage of super properties and then update
the scope when we create the function later.
BUG=v8:3888
LOG=N
R=dslomov@chromium.org , marja
Review URL: https://codereview.chromium.org/923683002
Cr-Commit-Position: refs/heads/master@{#26642}
2015-02-13 18:35:09 +00:00
arv
d273636e01
TF: Add support for [[HomeObject]]
...
BUG=None
LOG=N
R=mstarzinger@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/926013002
Cr-Commit-Position: refs/heads/master@{#26641}
2015-02-13 18:34:00 +00:00
Erik Arvidsson
1dcce1c8ef
Make super() a syntax error in base class constructor
...
BUG=v8:3330
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/917933007
Cr-Commit-Position: refs/heads/master@{#26633}
2015-02-12 23:04:54 +00:00
Dmitry Lomov
7866f00508
Remove --experimental-classes flag and related dead code.
...
R=arv@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/919643008
Cr-Commit-Position: refs/heads/master@{#26631}
2015-02-12 20:07:15 +00:00
Dmitry Lomov
2707d4c9f4
new classes: no longer experimental.
...
This CL fixes tests that no longer valid and also fixes two issues:
1. 'super()' in non derived constructors.
2. Failure to step into derived constructors.
R=arv@chromium.org , yurys@chromium.org
BUG=v8:3834
LOG=Y
Review URL: https://codereview.chromium.org/923443003
Cr-Commit-Position: refs/heads/master@{#26628}
2015-02-12 18:06:52 +00:00
rossberg
dff690ec07
[strong] no sloppy equality
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/917703003
Cr-Commit-Position: refs/heads/master@{#26619}
2015-02-12 15:10:04 +00:00
dcarney
01d7be28a6
fix typo in mjsunit expectations
...
TBR=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/915113004
Cr-Commit-Position: refs/heads/master@{#26600}
2015-02-11 21:29:35 +00:00
dslomov
fdcf3e59ba
new classes: implement correct check for uninitialized this in 'super()'
...
R=arv@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/918603004
Cr-Commit-Position: refs/heads/master@{#26599}
2015-02-11 20:47:32 +00:00
dslomov
9b158fa79a
new classes: implement default constructors.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/917753002
Cr-Commit-Position: refs/heads/master@{#26594}
2015-02-11 17:23:00 +00:00
arv
b5e235661f
Fix issue with super and computed property names
...
We did not set up the [[HomeObject]] for properties created for
computed property names.
BUG=v8:3879
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/914773002
Cr-Commit-Position: refs/heads/master@{#26586}
2015-02-11 15:13:12 +00:00
dcarney
81544f2859
skip failing test on arm64
...
LOG=N
BUG=v8:3884
Review URL: https://codereview.chromium.org/916803002
Cr-Commit-Position: refs/heads/master@{#26582}
2015-02-11 14:36:06 +00:00
hpayer
c889fb4c1d
Use just one to-space page for the promotion queue.
...
BUG=454725
LOG=n
Review URL: https://codereview.chromium.org/919473008
Cr-Commit-Position: refs/heads/master@{#26577}
2015-02-11 13:39:40 +00:00
titzer
31637fb396
[turbofan] Use heavy-handed graph duplication to do loop peeling for OSR.
...
BUG=
Review URL: https://codereview.chromium.org/898353002
Cr-Commit-Position: refs/heads/master@{#26576}
2015-02-11 13:26:45 +00:00
dslomov
bf49be39f3
new classes: implement new.target passing to superclass constructor.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Committed: https://crrev.com/8aed43e82c6d2742fe5988603cb8841324cc942b
Cr-Commit-Position: refs/heads/master@{#26560}
Review URL: https://codereview.chromium.org/908883002
Cr-Commit-Position: refs/heads/master@{#26572}
2015-02-11 09:47:51 +00:00
dslomov
8e4ec9dd13
Revert of new classes: implement new.target passing to superclass constructor. (patchset #9 id:150001 of https://codereview.chromium.org/908883002/ )
...
Reason for revert:
Breaks Linux64 release
Original issue's description:
> new classes: implement new.target passing to superclass constructor.
>
> R=arv@chromium.org ,rossberg@chromium.org
> BUG=v8:3834
> LOG=N
>
> Committed: https://crrev.com/8aed43e82c6d2742fe5988603cb8841324cc942b
> Cr-Commit-Position: refs/heads/master@{#26560}
TBR=arv@chromium.org ,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3834
Review URL: https://codereview.chromium.org/911363002
Cr-Commit-Position: refs/heads/master@{#26561}
2015-02-11 01:36:32 +00:00
dslomov
8aed43e82c
new classes: implement new.target passing to superclass constructor.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/908883002
Cr-Commit-Position: refs/heads/master@{#26560}
2015-02-11 01:23:11 +00:00
arv
68e4897586
Remove Function.prototype.toMethod
...
Function.prototype.toMethod was removed from ES6.
This removes the function and updates the tests to either
use %ToMethod or a dedicated syntax (using concise method
or a class).
BUG=v8:3330
LOG=N
R=dslomov@chromium.org , adamk
Review URL: https://codereview.chromium.org/914713002
Cr-Commit-Position: refs/heads/master@{#26559}
2015-02-10 22:13:43 +00:00
arv
9acfd4fe08
super is only allowed in methods, accessors and constructor
...
super() is only allowed in a class constructor.
super.p is allowed in methods, accessors and constructors.
The parser now checks the FunctionState to see what kind of function
we are currently inside.
BUG=v8:3330
LOG=N
R=dslomov@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/915563003
Cr-Commit-Position: refs/heads/master@{#26557}
2015-02-10 19:51:39 +00:00
adamk
a18b797fd9
Enable compiling mjsunit tests as ES6 modules
...
Adding the line "// MODULE" to an mjsunit file will now cause
run-tests.py to prefix the test case with "--module" in the
d8 commandline.
d8 has itself been updated to treat files preceded with "--module" as
modules (that is, it compiles them with ScriptCompiler::CompileModule,
and turns on --harmony-modules).
Review URL: https://codereview.chromium.org/902263002
Cr-Commit-Position: refs/heads/master@{#26555}
2015-02-10 19:11:55 +00:00
titzer
1db760de7d
Reduce the number of iterations in some OSR tests by using an explicit %OptimizeOsr().
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/913463002
Cr-Commit-Position: refs/heads/master@{#26540}
2015-02-10 09:53:22 +00:00
titzer
9030a2674b
Remove some busy-OSR loops from tests using %OptimizeOsr().
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/908863002
Cr-Commit-Position: refs/heads/master@{#26527}
2015-02-09 14:11:23 +00:00
titzer
4c302ca290
Make it easier to test OSR with %OptimizeOsr() runtime call.
...
This call triggers OSR for the current function. And also allows explicitly testing OSR on the top-level code.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/906243002
Cr-Commit-Position: refs/heads/master@{#26523}
2015-02-09 12:47:43 +00:00
dcarney
9896fab0df
fix transition of typedarrays in ics
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/904423002
Cr-Commit-Position: refs/heads/master@{#26518}
2015-02-09 09:50:15 +00:00
arv
8a809a9c86
Rename ParseSourceElements in preparser too
...
BUG=None
R=adamk
LOG=N
Review URL: https://codereview.chromium.org/905003003
Cr-Commit-Position: refs/heads/master@{#26498}
2015-02-06 23:26:35 +00:00
arv
64abe65210
Allow eval and arguments as property names
...
We incorrectly disallowed eval and arguments in accessor and method
names. This was because we checked the name inside the
ParseFunctionLiteral. We now flag accessors so that lazy parsing of
these functions are treated correctly.
BUG=v8:1984
R=adamk, dslomov@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/899363002
Cr-Commit-Position: refs/heads/master@{#26497}
2015-02-06 18:04:21 +00:00
cdai2
2b0427a912
x87: currently Turbofan is not supported by X87 so this test case is disabled.
...
BUG=
R=mstarzinger@chromium.org , weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/879693005
Cr-Commit-Position: refs/heads/master@{#26487}
2015-02-06 14:59:54 +00:00
dslomov
158a87659f
new classes: assert that constructors are not callable and rewrite 'return;'
...
R=arv@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/885643004
Cr-Commit-Position: refs/heads/master@{#26483}
2015-02-06 10:35:13 +00:00
Erik Arvidsson
b67b3c5401
Accessor functions should have no prototype property
...
This also removes some convenience functions that were not used.
BUG=v8:3700
LOG=N
R=adamk@chromium.org , adamk
Review URL: https://codereview.chromium.org/883073008
Cr-Commit-Position: refs/heads/master@{#26472}
2015-02-05 23:34:28 +00:00
marja
299b369cc9
Split --harmony-unicode and --harmony-unicode-regexps.
...
This way we can ship \u{..} escapes in strings / identifiers before shipping /u
regexps.
BUG=
Review URL: https://codereview.chromium.org/903703002
Cr-Commit-Position: refs/heads/master@{#26461}
2015-02-05 14:17:09 +00:00
mstarzinger
df986d08b7
Fix try-finally for dead AST-branches in TurboFan.
...
R=jarin@chromium.org
TEST=mjsunit/regress/regress-crbug-455644
BUG=chromium:455644
LOG=N
Review URL: https://codereview.chromium.org/880443004
Cr-Commit-Position: refs/heads/master@{#26458}
2015-02-05 12:29:33 +00:00
jkummerow
bfe7f4af14
Fix HConstant(double, ...) constructor
...
It must always populate int32_value_, even if that's lossy, because other code (specifically, constant folding for truncating operations) relies on it.
BUG=v8:3865
LOG=y
Review URL: https://codereview.chromium.org/897263002
Cr-Commit-Position: refs/heads/master@{#26453}
2015-02-05 10:28:13 +00:00
caitpotter88
49ef549807
templates: Don't check IsLineTerminator() if character is negative
...
BUG=455212
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/902703002
Cr-Commit-Position: refs/heads/master@{#26442}
2015-02-04 21:05:48 +00:00
arv
cd661fdc27
Fix issue with multiple properties and emit store.
...
We used to have a parse error for conflicting property keys. This check
was removed to match ES6 (SpiderMonkey & Chakra already made this change).
Since this check was removed we ended up with a few new cases when
generating code. For example, accessors always generated code even if
those should have been shadowed by a data property.
BUG=v8:3856
LOG=Y
R=adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/895693002
Cr-Commit-Position: refs/heads/master@{#26441}
2015-02-04 20:44:12 +00:00
arv
176b68d11a
Class methods should be non enumerable
...
Class methods and accessors (both prototype and static) should be
non enumerable.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/896643003
Cr-Commit-Position: refs/heads/master@{#26437}
2015-02-04 17:23:17 +00:00
dslomov
275e088abe
Fix assertion in full codegen for holed 'this'.
...
R=rossberg@chromium.org
BUG=chromium:455141
LOG=N
Review URL: https://codereview.chromium.org/902563002
Cr-Commit-Position: refs/heads/master@{#26423}
2015-02-04 12:14:33 +00:00
caitpotter88
b5c43674f9
Update harmony ObjectProtoToString() to 2/2/2015 spec
...
Applies to API implementation of O.p.toString
- Removes special handling of non-string @@toStringTag values (use builtinTag)
- Removes special handling of @@toStringTags which match [[Class]] names (remove ~ prefix)
- Add tests for non-string @@toStringTag values in test-api.cc
BUG=v8:3502
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/892393003
Cr-Commit-Position: refs/heads/master@{#26415}
2015-02-03 21:05:25 +00:00
jarin
4f786befb7
Infer HConstant::NotInNewSpace only if the supplied handle is null.
...
BUG=chromium:449291
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/898753003
Cr-Commit-Position: refs/heads/master@{#26413}
2015-02-03 17:48:35 +00:00
caitpotter88
858b9b6a7e
Update harmony Object.prototype.toString to 2/2/2015 spec
...
- Removes special handling of non-string @@toStringTag values (use builtinTag)
- Removes special handling of @@toStringTags which match [[Class]] names (remove ~ prefix)
BUG=v8:3502
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/895633004
Cr-Commit-Position: refs/heads/master@{#26411}
2015-02-03 17:45:20 +00:00
dslomov
6f97a4948f
new classes: special construct stub for derived classs and TDZ for this
.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/867153003
Cr-Commit-Position: refs/heads/master@{#26409}
2015-02-03 17:43:03 +00:00
Benedikt Meurer
d8cfbc633d
[turbofan] Split pure nodes in the scheduler if beneficial.
...
If a (pure) node has two or more uses, but there exists a path from the
common dominator of these uses to end, which does not contain a use,
then we split the node such that no unnecessary computation takes place.
Note however, that this only applies if the node cannot be hoisted out
of a loop.
BUG=v8:3864
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/899433005
Cr-Commit-Position: refs/heads/master@{#26404}
2015-02-03 14:51:08 +00:00
bmeurer
f6e02e195c
Compute the same hash for all NaN values.
...
Both SameValue and SameValueZero consider different NaNs equal, so we
better assign the same hash value to all NaNs.
BUG=v8:3859
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/897593002
Cr-Commit-Position: refs/heads/master@{#26391}
2015-02-03 06:29:18 +00:00
verwaest
9cce4ff285
Clear pending exception on stack overflow in the parser
...
BUG=450960
LOG=n
Review URL: https://codereview.chromium.org/858213003
Cr-Commit-Position: refs/heads/master@{#26390}
2015-02-03 06:22:36 +00:00
verwaest
1de7dff2ef
Check global object behind global proxy for extensibility
...
BUG=454091
LOG=Y
Review URL: https://codereview.chromium.org/895573002
Cr-Commit-Position: refs/heads/master@{#26380}
2015-02-02 12:49:12 +00:00
titzer
79cad15cb0
Speed up tests for OSR of for-in and for-of loops.
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/889293003
Cr-Commit-Position: refs/heads/master@{#26378}
2015-02-02 11:52:07 +00:00
mvstanton
3df0a9ae77
CallIC used an invalid mechanism to detect if it was in optimized code.
...
BUG=453481
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/885333002
Cr-Commit-Position: refs/heads/master@{#26361}
2015-01-30 15:07:14 +00:00
jarin
da90aabc07
Always emit bailout id for inlining property access (even for keyed access).
...
R=ulan@chromium.org
BUG=chromium:453805
LOG=n
Review URL: https://codereview.chromium.org/887023003
Cr-Commit-Position: refs/heads/master@{#26359}
2015-01-30 14:35:43 +00:00
jarin
0cd991ebc0
Do not inline array push for arrays with dictionary mode elements.
...
BUG=chromium:452878
LOG=n
Review URL: https://codereview.chromium.org/880233002
Cr-Commit-Position: refs/heads/master@{#26357}
2015-01-30 13:51:43 +00:00
titzer
e25a0f7e4e
[turbofan] Fix usage of ThisFunction parameter in OSR.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/892593002
Cr-Commit-Position: refs/heads/master@{#26355}
2015-01-30 13:09:44 +00:00
ishell
32fe247d91
Layout descriptor sharing issue fixed.
...
BUG=chromium:437713, v8:3832
LOG=Y
Review URL: https://codereview.chromium.org/885003002
Cr-Commit-Position: refs/heads/master@{#26354}
2015-01-30 12:55:25 +00:00
michael_dawson
f1ba8d8f86
Contribution of PowerPC port (continuation of 422063005) - AIX Common1
...
Contribution of PowerPC port (continuation of 422063005 and 817143002). This patch covers
the key changes needed to the common files needed to support AIX. Subsequent
patches will cover:
- changes to update the ppc directories so they are current with the changes
in the rest of the project.
- remaining AIX changes not resolved by 4.8 compiler
- individual optimizations for PPC
This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc
R=danno@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/866843003
Cr-Commit-Position: refs/heads/master@{#26343}
2015-01-30 08:02:08 +00:00
arv
b004b1d821
Move object literal checking into checker classes
...
This removes the duplicate property check from object literals.
Instead we repurpose the ObjectLiteralChecker into two cases, implemented
by two subclasses to ObjectLiteralCheckerBase called ObjectLiteralChecker
and ClassLiteralChecker.
The object literal checker now only checks for duplicate __proto__ fields in
object literals.
The class literal checker checks for duplicate constructors, non constructor
fields named constructor as well as static properties named prototype.
BUG=v8:3819
LOG=Y
R=adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/873823003
Cr-Commit-Position: refs/heads/master@{#26336}
2015-01-29 23:12:43 +00:00
titzer
11311c083a
[turbofan] Fix OSR compilations of for-in.
...
R=mstarzinger@chromium.org
LOG=Y
BUG=
Review URL: https://codereview.chromium.org/890543002
Cr-Commit-Position: refs/heads/master@{#26333}
2015-01-29 17:40:23 +00:00
aperez
91b87e7a28
Do not create unresolved variables when parsing arrow functions lazily
...
Arrow function parameter lists are parsed as expressions. When an identifier
is found a VariableProxy is created and added to the list of unresolved
variables for the scope. When parsing a function lazily, the scope has been
already resolved, so with this patch only the VariableProxy is created,
without adding it as an unresolved variable in the scope.
BUG=v8:3501
LOG=Y
Review URL: https://codereview.chromium.org/880253004
Cr-Commit-Position: refs/heads/master@{#26328}
2015-01-29 15:53:15 +00:00
jarin
a4b163a940
[turbofan] Make sure there is space for lazy deopt patching before the constant pool.
...
BUG=chromium:446647
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/874863003
Cr-Commit-Position: refs/heads/master@{#26327}
2015-01-29 15:30:32 +00:00
titzer
f5479ca675
[turbofan] Gracefully bail out if OSR encounters a loop too deeply nested.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/877553007
Cr-Commit-Position: refs/heads/master@{#26318}
2015-01-29 09:46:36 +00:00
caitpotter88
1f2e5973eb
Don't take iterable path in ArrayFrom if items[@@iterator] is null
...
BUG=v8:3833
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/856303002
Cr-Commit-Position: refs/heads/master@{#26314}
2015-01-29 02:36:12 +00:00
Adam Klein
f7dc15febe
Implement ParseExportDeclaration per latest ES6 spec draft
...
One missing feature: anonymous function & class declarations
in "export default".
BUG=v8:1569
LOG=n
R=arv@chromium.org
Review URL: https://codereview.chromium.org/882893002
Cr-Commit-Position: refs/heads/master@{#26313}
2015-01-28 19:18:48 +00:00
jarin
489b6f7c60
[turbofan] Add missing deopt for the assignment in the for-in statement.
...
BUG=chromium:416359
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/881303002
Cr-Commit-Position: refs/heads/master@{#26309}
2015-01-28 16:16:24 +00:00
mstarzinger
c5833e8596
Add missing FrameState to JSToName nodes.
...
R=jarin@chromium.org
TEST=mjsunit/regress/regress-crbug-451770
BUG=chromium:451770
LOG=N
Review URL: https://codereview.chromium.org/880963002
Cr-Commit-Position: refs/heads/master@{#26305}
2015-01-28 11:40:02 +00:00
adamk
aeb3a71740
Begin modernization of --harmony-modules
...
The approach taken in this CL is to incrementally move toward the
currently-specced version of modules in ES6. The biggest change in this
patch is separating the parsing of modules from the parsing of scripts,
getting rid of the 'module' keyword and thus disallowing modules-in-scripts
as well as modules-in-modules.
The syntax supported by import/export declarations has not yet been significantly
changed, with the major exception being that import declarations require a string
as the 'from' part.
Most of the existing tests have been disabled, with a first new test added
in cctest/test-parsing.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/881623002
Cr-Commit-Position: refs/heads/master@{#26299}
2015-01-27 21:06:46 +00:00
yangguo
1e905469be
Land test case for RegExp.source.
...
BUG=chromium:447561
LOG=N
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/878033003
Cr-Commit-Position: refs/heads/master@{#26297}
2015-01-27 15:17:37 +00:00
ishell
7f9b2fa699
Do not generalize field representations when making elements kind or observed transition.
...
BUG=chromium:448711
LOG=y
Review URL: https://codereview.chromium.org/861173004
Cr-Commit-Position: refs/heads/master@{#26289}
2015-01-27 11:19:06 +00:00
jarin
b4a4c4c591
[turbofan] Only replace nodes eagerly during simplified lowering if the types stay the same.
...
BUG=chromium:452427
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/871373010
Cr-Commit-Position: refs/heads/master@{#26286}
2015-01-27 09:27:37 +00:00
jarin
4c79f55c32
[turbofan] Handle cyclic dependencies in context typing.
...
BUG=chromium:451012
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/874983002
Cr-Commit-Position: refs/heads/master@{#26281}
2015-01-27 06:57:41 +00:00
titzer
7c81161b97
[turbofan] Simplify reduction if IfTrue and IfFalse and fix bugs.
...
R=mstarzinger@chromium.org
BUG=chromium:451958
LOG=Y
Review URL: https://codereview.chromium.org/880533002
Cr-Commit-Position: refs/heads/master@{#26276}
2015-01-26 16:11:24 +00:00
mstarzinger
00f3f99221
Add missing FrameState for Runtime_CreateArrayLiteral.
...
R=jarin@chromium.org
TEST=mjsunit/regress/regress-crbug-451013
BUG=chromium:451013
LOG=N
Review URL: https://codereview.chromium.org/873973003
Cr-Commit-Position: refs/heads/master@{#26268}
2015-01-26 12:45:34 +00:00
svenpanne
a7d67a64f1
Fixed Hydrogen environment handling for mul-i on ARM and ARM64.
...
The whole logic in DoMul makes me cry, so I made only the minimal
change to fix the issue...
BUG=v8:451322
LOG=y
Review URL: https://codereview.chromium.org/873703002
Cr-Commit-Position: refs/heads/master@{#26261}
2015-01-26 08:35:58 +00:00
caitpotter88
12af28309a
ES6 Array.prototype.toString falls back on Object.prototype.toString if method "join" is not callable.
...
BUG=v8:3793
LOG=Y
R=dslomov@chromium.org , arv@chromium.org
Review URL: https://codereview.chromium.org/835753002
Cr-Commit-Position: refs/heads/master@{#26253}
2015-01-23 15:21:44 +00:00
mstarzinger
d2e424afb8
Avoid unintentional optimization of hot builtins by TurboFan.
...
R=titzer@chromium.org
TEST=mjsunit/regress/regress-crbug-451016
BUG=chromium:451016
LOG=N
Review URL: https://codereview.chromium.org/817293005
Cr-Commit-Position: refs/heads/master@{#26229}
2015-01-22 18:52:15 +00:00
dslomov
22ce08ade6
new classes: change semantics of super(...) call and add new.target to construct stub.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/803933008
Cr-Commit-Position: refs/heads/master@{#26227}
2015-01-22 18:39:47 +00:00
ishell
8ccc696bf6
Support concatenating with zero-size arrays with DICTIONARY_ELEMENTS in Runtime_ArrayConcat.
...
BUG=chromium:450895
LOG=y
Review URL: https://codereview.chromium.org/849693003
Cr-Commit-Position: refs/heads/master@{#26219}
2015-01-22 11:15:30 +00:00
mstarzinger
558efe21f0
Add missing BailoutId and FrameState to with statements.
...
R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-450642
BUG=chromium:450642
LOG=N
Review URL: https://codereview.chromium.org/865833002
Cr-Commit-Position: refs/heads/master@{#26218}
2015-01-22 10:57:42 +00:00
bmeurer
0381acf7b3
Double field values need sNaN -> qNaN canonicalization.
...
Also fix mjsunit/regress/regress-undefined-nan to ensure that we are
testing transfer via xmm registers by forcing the transfer to be in an
optimized function.
BUG=v8:3839
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/863153002
Cr-Commit-Position: refs/heads/master@{#26213}
2015-01-22 08:36:12 +00:00
mstarzinger
62a49868b3
Add missing FrameState to harmony class literals.
...
R=bmeurer@chromium.org
TEST=mjsunit/harmony/classes
Review URL: https://codereview.chromium.org/864033002
Cr-Commit-Position: refs/heads/master@{#26202}
2015-01-21 18:46:56 +00:00
mstarzinger
1693e1143a
Add missing FrameState for Runtime_DeliverObservationChangeRecords.
...
R=bmeurer@chromium.org
TEST=cctest,mjsunit/es7/object-observe-debug-event
Review URL: https://codereview.chromium.org/790413005
Cr-Commit-Position: refs/heads/master@{#26199}
2015-01-21 16:08:29 +00:00
mstarzinger
209b771431
Enable test coverage for test coverage.
...
R=titzer@chromium.org
TEST=mjsunit/compiler/opt-next-call-turbo
Review URL: https://codereview.chromium.org/822673003
Cr-Commit-Position: refs/heads/master@{#26192}
2015-01-21 14:07:19 +00:00
Benedikt Meurer
ee86227600
[arm] Fix sNaN quietening in the ARM simulator on IA-32.
...
TEST=msjunit/regress/regress-undefined-nan2
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/802243004
Cr-Commit-Position: refs/heads/master@{#26185}
2015-01-21 13:01:23 +00:00
Benedikt Meurer
9eace97bba
Use signaling NaN for holes in fixed double arrays.
...
TEST=mjsunit,cctest,unittests
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/863633002
Cr-Commit-Position: refs/heads/master@{#26180}
2015-01-21 08:52:25 +00:00
mstarzinger
bd7f546f11
Computed property names for object literals in TurboFan.
...
R=dslomov@chromium.org
TEST=mjsunit/harmony/computed-property-names
Review URL: https://codereview.chromium.org/860033002
Cr-Commit-Position: refs/heads/master@{#26174}
2015-01-20 16:52:58 +00:00
arv
bc3b2960e3
Fix issue with __proto__ when using ES6 object literals
...
It should be possible to create a concise method with the name
__proto__ without setting the [[Prototype]]. Similarly, property
name shorthands with the name __proto__ should define an own
property.
BUG=v8:3818
LOG=Y
R=adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/858673002
Cr-Commit-Position: refs/heads/master@{#26172}
2015-01-20 16:31:43 +00:00
jkummerow
feffccca22
Profiler improvements
...
(1) --prof-cpp: Collects ticks like --prof, but ignores code creation events to reduce distortion (so all JS ticks will be "unaccounted"). Useful for profiling C++ code.
(2) --timed-range flag for tick processor: Ignores ticks before the first and after the last call to Date.now(). Useful for focusing on the timed section of a test.
Review URL: https://codereview.chromium.org/802333002
Cr-Commit-Position: refs/heads/master@{#26168}
2015-01-20 16:06:09 +00:00
mstarzinger
bcb42872a3
Computed property names for class literals in TurboFan.
...
R=dslomov@chromium.org
TEST=mjsunit/harmony/computed-property-names-classes
Review URL: https://codereview.chromium.org/861713004
Cr-Commit-Position: refs/heads/master@{#26165}
2015-01-20 15:03:28 +00:00
machenbach
b925fc56de
Add no-test-harness mode to test driver.
...
BUG=
Review URL: https://codereview.chromium.org/855993003
Cr-Commit-Position: refs/heads/master@{#26150}
2015-01-20 10:17:33 +00:00
ishell
33994b4a22
Massive renaming of PropertyType values and other implied stuff.
...
PropertyKind:
DATA -> kData
ACCESSOR -> kAccessor
PropertyType:
FIELD -> DATA
CONSTANT -> DATA_CONSTANT
ACCESSOR_FIELD -> ACCESSOR
CALLBACKS -> ACCESSOR_CONSTANT
PropertyLocation:
IN_OBJECT -> kField
IN_DESCRIPTOR -> kDescriptor
StoreMode:
FORCE_IN_OBJECT -> FORCE_FIELD
FieldDescriptor -> DataDescriptor
ConstantDescriptor -> DataConstantDescriptor
CallbacksDescriptor -> AccessorConstantDescriptor
Review URL: https://codereview.chromium.org/856503002
Cr-Commit-Position: refs/heads/master@{#26146}
2015-01-19 17:49:22 +00:00
Michael Starzinger
cecd89c2c6
Disable new test failing since 79748e3f7c
.
...
TBR=titzer@chromium.org
TEST=mjsunit/compiler/opt-next-call-turbo
Review URL: https://codereview.chromium.org/862533002
Cr-Commit-Position: refs/heads/master@{#26143}
2015-01-19 16:17:07 +00:00
mstarzinger
79748e3f7c
Remove overzealous check from %OptimizeFunctionOnNextCall.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/863443003
Cr-Commit-Position: refs/heads/master@{#26142}
2015-01-19 15:52:00 +00:00
Michael Starzinger
7d54d54dea
Blacklist computed property name failures with TurboFan.
...
R=verwaest@chromium.org
TEST=mjsunit/harmony/computed-property-names
Review URL: https://codereview.chromium.org/862513002
Cr-Commit-Position: refs/heads/master@{#26135}
2015-01-19 14:15:18 +00:00
mstarzinger
6daecbd5ff
Allow --always-opt to go further into the pipeline (2).
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/855873002
Cr-Commit-Position: refs/heads/master@{#26131}
2015-01-19 12:35:19 +00:00
caitpotter88
6dc82c184c
Implement IsConstructor() abstract operation
...
LOG=N
R=dpino@igalia.com , arv@chromium.org , dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/851163007
Cr-Commit-Position: refs/heads/master@{#26130}
2015-01-19 12:22:31 +00:00
mvstanton
173b69f041
ClusterFuzz fix: %NormalizeElements shouldn't process the global proxy.
...
BUG=449070
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/859713002
Cr-Commit-Position: refs/heads/master@{#26126}
2015-01-19 09:31:19 +00:00
machenbach
d962c092f3
Revert of [turbofan] Fix bunch of tests failing with --turbo-deoptimization. (patchset #1 id:1 of https://codereview.chromium.org/786333004/ )
...
Reason for revert:
This changes layout test expectations. I ran a bisect over the layout tests:
Bad:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2032/builds/1600
Good:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2032/builds/1599
If this is intentional please first land a CL with manualrebaseline test expectations for the changed tests and then reland.
Original issue's description:
> [turbofan] Fix bunch of tests failing with --turbo-deoptimization.
>
> R=bmeurer@chromium.org
>
> Committed: https://crrev.com/e9e772121b36697821dbfff61f36e0a68367f21c
> Cr-Commit-Position: refs/heads/master@{#26115}
TBR=bmeurer@chromium.org ,jarin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/804333005
Cr-Commit-Position: refs/heads/master@{#26119}
2015-01-17 13:45:44 +00:00
jarin
e9e772121b
[turbofan] Fix bunch of tests failing with --turbo-deoptimization.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/786333004
Cr-Commit-Position: refs/heads/master@{#26115}
2015-01-16 22:23:32 +00:00
yangguo
a4a62c129b
Extend and fix tests for custom heap snapshot.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/856793002
Cr-Commit-Position: refs/heads/master@{#26110}
2015-01-16 22:18:27 +00:00
mstarzinger
9fbe872137
Enable test coverage for --turbo-deoptimization mode.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/845193004
Cr-Commit-Position: refs/heads/master@{#26102}
2015-01-16 12:53:30 +00:00
mstarzinger
0f418385d0
First simple implementation of class literals in TurboFan.
...
R=rossberg@chromium.org ,jarin@chromium.org
TEST=cctest/test-run-jsops/ClassLiteral
Review URL: https://codereview.chromium.org/798873006
Cr-Commit-Position: refs/heads/master@{#26101}
2015-01-16 12:38:26 +00:00