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