dcarney
f5ca41450a
store InstructionOperands directly in Instruction
...
BUG=
Review URL: https://codereview.chromium.org/884503002
Cr-Commit-Position: refs/heads/master@{#26329}
2015-01-29 16:00:19 +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
kozyatinskiy
eaae397c42
[V8] Added Script::is_debugger_script flag for embedders
...
In DevTools we need one more flag for script origin - is debugger script. We already have "is shared origin" flag. The new flag added by analogy with the old but new has accessor in script object.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/879553002
Cr-Commit-Position: refs/heads/master@{#26324}
2015-01-29 14:01:33 +00:00
danno
328cf76e35
[turbofan] Improve JSON output
...
Review URL: https://codereview.chromium.org/882973002
Cr-Commit-Position: refs/heads/master@{#26323}
2015-01-29 12:15:14 +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
bmeurer
1df5fed50a
[turbofan] Cleanup the NodeProperties.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/883613006
Cr-Commit-Position: refs/heads/master@{#26316}
2015-01-29 09:18:09 +00:00
bmeurer
d0f3e5302c
Minor refactoring for Zone class and friends.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/885813002
Cr-Commit-Position: refs/heads/master@{#26315}
2015-01-29 07:41:52 +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
jarin
3c9f98516c
[turbofan] Use unboxed doubles in range types.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/882063002
Cr-Commit-Position: refs/heads/master@{#26307}
2015-01-28 13:55:45 +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
jarin
5bd8407f8c
Reland of "Steps towards unification of number bitset and range types."
...
This reverts commit 7619374979
.
BUG=
Review URL: https://codereview.chromium.org/877643002
Cr-Commit-Position: refs/heads/master@{#26301}
2015-01-28 08:42:32 +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
yangguo
e5a082f0c4
Reland "Only use FreeSpace objects in the free list"
...
Review URL: https://codereview.chromium.org/882633002
Cr-Commit-Position: refs/heads/master@{#26296}
2015-01-27 14:57:00 +00:00
yangguo
22421bbe9f
Rescale histogram timers.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/875873002
Cr-Commit-Position: refs/heads/master@{#26295}
2015-01-27 14:08:27 +00:00
bmeurer
59a02ebdbe
[turbofan] Ensure that NTLs are always properly connected to the end.
...
Up until now we used a special Terminate node to artifically connect non
terminating loops to the End node, but this was kind of adhoc and didn't
work for the CFG. So without all kinds of weird hacks, the end block in
the CFG will not be connected to NTLs, which makes it impossible to
compute post dominance / control dependence in the current setting.
So instead of Terminate, we add a special Branch to NTLs, whose
condition is the special Always node, which corresponds to True, except
that it cannot be folded away. This way we don't need any special
machinery in the scheduler, since it's just a regular Branch.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/875263004
Cr-Commit-Position: refs/heads/master@{#26294}
2015-01-27 14:02:28 +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
bmeurer
d93c4d19f1
[x86] Disable AVX unless the operating system explicitly claims to support it.
...
BUG=chromium:452033, v8:3846
LOG=y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/878063002
Cr-Commit-Position: refs/heads/master@{#26288}
2015-01-27 09:59:24 +00:00
yangguo
cc79418b59
Revert of Only use FreeSpace objects in the free list. (patchset #3 id:40001 of https://codereview.chromium.org/876613002/ )
...
Reason for revert:
Test failures
Original issue's description:
> Only use FreeSpace objects in the free list.
>
> This solves an issue with the custom startup snapshot, in cases where
> deserializing the isolate requires more than one page per space.
>
> R=hpayer@chromium.org
>
> Committed: https://crrev.com/66964395108f03220cb6f45ddc73c5965e2c76a9
> Cr-Commit-Position: refs/heads/master@{#26285}
TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/882443004
Cr-Commit-Position: refs/heads/master@{#26287}
2015-01-27 09:41:21 +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
yangguo
6696439510
Only use FreeSpace objects in the free list.
...
This solves an issue with the custom startup snapshot, in cases where
deserializing the isolate requires more than one page per space.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/876613002
Cr-Commit-Position: refs/heads/master@{#26285}
2015-01-27 09:20:31 +00:00
bmeurer
44f1b9d148
[turbofan] Some cleanup for scheduler unittests.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/877033002
Cr-Commit-Position: refs/heads/master@{#26283}
2015-01-27 07:48:10 +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
danno
c6ae373335
Convert compiler cctest to unittests: SchedulerTest
...
R=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/863213003
Cr-Commit-Position: refs/heads/master@{#26267}
2015-01-26 11:21:24 +00:00
bmeurer
4f1597a92d
[turbofan] Add new JSIntrinsicsLowering reducer.
...
The lowering of intrinsics is therefore now decoupled from the general
inlining logic.
TEST=cctest,unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/872363002
Cr-Commit-Position: refs/heads/master@{#26263}
2015-01-26 09:06:03 +00:00
yangguo
8eb58b85a6
Fix regexp=interpreted build wrt zone related changes.
...
Broke after c7b09aac31
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/875833002
Cr-Commit-Position: refs/heads/master@{#26262}
2015-01-26 08:44:40 +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
danno
d1e45d9b00
Distinquish TestWithIsolateAndZone from TestWithZone
...
Allows unit tests that just need a zone and no isolate to avoid the overhead of
creating one.
R=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/871843004
Cr-Commit-Position: refs/heads/master@{#26256}
2015-01-23 16:29:57 +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
danno
c7b09aac31
Remove the dependency of Zone on Isolate
...
Along the way:
- Thread isolate parameter explicitly through code that used to
rely on getting it from the zone.
- Canonicalize the parameter position of isolate and zone for
affected code
- Change Hydrogen New<> instruction templates to automatically
pass isolate
R=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/868883002
Cr-Commit-Position: refs/heads/master@{#26252}
2015-01-23 15:20:00 +00:00
marja
c421f3de54
Script streaming: Test that streaming <-> harmony scopes interaction is correct.
...
BUG=
Review URL: https://codereview.chromium.org/871893002
Cr-Commit-Position: refs/heads/master@{#26250}
2015-01-23 14:41:18 +00:00
mstarzinger
ace7b8f20f
Make TestSetJitCodeEventHandler more resilient.
...
R=ishell@chromium.org
TEST=cctest/test-api/SetJitCodeEventHandler
Review URL: https://codereview.chromium.org/874493002
Cr-Commit-Position: refs/heads/master@{#26249}
2015-01-23 12:12:27 +00:00
hpayer
a18fdd61dc
Always adjust amount of external memory when change is reported.
...
BUG=
Review URL: https://codereview.chromium.org/866413002
Cr-Commit-Position: refs/heads/master@{#26247}
2015-01-23 11:37:49 +00:00
erikcorry
8c58ed1a0c
Support old and new weak handle API
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/863443005
Cr-Commit-Position: refs/heads/master@{#26246}
2015-01-23 11:28:54 +00:00
bmeurer
cd2bc96808
[turbofan] Move GetCommonDominator to BasicBlock.
...
Also add some unittests for the dominator stuff.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/865393004
Cr-Commit-Position: refs/heads/master@{#26241}
2015-01-23 09:55:48 +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
mstarzinger
3dc77aac9d
Enable inlining test that now works with control reducer.
...
R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoopGuardedEmpty
Review URL: https://codereview.chromium.org/867683002
Cr-Commit-Position: refs/heads/master@{#26228}
2015-01-22 18:49:01 +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
danno
87e1426ce5
Convert compiler cctest to unit tests, part 1
...
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/867583002
Cr-Commit-Position: refs/heads/master@{#26222}
2015-01-22 14:16:55 +00:00
bmeurer
c9283148d1
[turbofan] Cleanup Schedule and related classes.
...
- Move unit tests to schedule-unittests.cc.
- Remove pre-C++11 cruft.
- Fix some include weirdness.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/864293002
Cr-Commit-Position: refs/heads/master@{#26220}
2015-01-22 13:01:13 +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
svenpanne
8fb593047a
Removed bogus threading test to make TSAN happy.
...
TSAN hits an internal assertion on a self-join, and the test is not
really that useful, so let's just remove it.
BUG=https://code.google.com/p/thread-sanitizer/issues/detail?id=88
LOG=n
Review URL: https://codereview.chromium.org/824243007
Cr-Commit-Position: refs/heads/master@{#26217}
2015-01-22 10:23:58 +00:00
yangguo
4d65e0c241
Revert of Change test expectations for test-types/Maybe. (patchset #1 id:1 of https://codereview.chromium.org/862353002/ )
...
Reason for revert:
Patch causing the failure has been reverted.
Original issue's description:
> Change test expectations for test-types/Maybe.
>
> TBR=rossberg@chromium.org
> BUG=v8:3840
> LOG=N
>
> Committed: https://crrev.com/ebab2f12e9a4b421d8467bcf28280f8f64700cef
> Cr-Commit-Position: refs/heads/master@{#26212}
TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3840
Review URL: https://codereview.chromium.org/866673002
Cr-Commit-Position: refs/heads/master@{#26216}
2015-01-22 09:43:50 +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