bmeurer
a9d0d23405
Revert of [turbofan] Make Factory::NewNumber() always return the minus_zero_value. (patchset #1 id:1 of https://codereview.chromium.org/838263006/ )
...
Reason for revert:
Breaks the tree
Original issue's description:
> [turbofan] Make Factory::NewNumber() always return the minus_zero_value.
>
> TEST=unittests
> R=mstarzinger@chromium.org , dcarney@chromium.org
>
> Committed: https://crrev.com/55b3e268b2895e2c09230d39669a75b6ab4e7e4d
> Cr-Commit-Position: refs/heads/master@{#26080}
TBR=dcarney@chromium.org ,mstarzinger@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/853683009
Cr-Commit-Position: refs/heads/master@{#26081}
2015-01-15 15:29:42 +00:00
Benedikt Meurer
55b3e268b2
[turbofan] Make Factory::NewNumber() always return the minus_zero_value.
...
TEST=unittests
R=mstarzinger@chromium.org , dcarney@chromium.org
Review URL: https://codereview.chromium.org/838263006
Cr-Commit-Position: refs/heads/master@{#26080}
2015-01-15 15:10:05 +00:00
bmeurer
dd6ce12645
[turbofan] Turn IrOpcode::IsXXX() into range checks.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/807573004
Cr-Commit-Position: refs/heads/master@{#26079}
2015-01-15 15:07:39 +00:00
bmeurer
4914716387
Revert of [turbofan] Use PlainPrimitiveToNumber whenever possible. (patchset #1 id:1 of https://codereview.chromium.org/852763002/ )
...
Reason for revert:
Tanks performance of SQLite and towers.c.
Original issue's description:
> [turbofan] Use PlainPrimitiveToNumber whenever possible.
>
> TEST=cctest,unittests
> R=jarin@chromium.org
>
> Committed: https://crrev.com/1a5db24e6bf831e61e3f4aa0c252f77e48c3689c
> Cr-Commit-Position: refs/heads/master@{#26071}
TBR=jarin@chromium.org ,dcarney@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/852153003
Cr-Commit-Position: refs/heads/master@{#26078}
2015-01-15 13:26:55 +00:00
mvstanton
23b181552e
Vector-based LoadICs need to handle Smi receivers.
...
The MISS handler was being called when the receiver was a Smi, instead,
we should recognize the case and use the heap number map.
BUG=
Review URL: https://codereview.chromium.org/854623002
Cr-Commit-Position: refs/heads/master@{#26076}
2015-01-15 12:52:47 +00:00
mstarzinger
e72c5d2c23
Remove redundant test expectation from mjsunit.
...
R=jkummerow@chromium.org
TEST=mjsunit/nans
Review URL: https://codereview.chromium.org/850303002
Cr-Commit-Position: refs/heads/master@{#26075}
2015-01-15 12:47:59 +00:00
Yang Guo
3706a50457
Fix number-string cache test case.
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/843913008
Cr-Commit-Position: refs/heads/master@{#26073}
2015-01-15 11:49:10 +00:00
yangguo
22e6958d63
Fix remaining issues in the custom snapshot.
...
Math functions:
Some Math functions require typed arrays for their implementation. The embedded
script may call those Math functions. The serializer needs to deal with this.
Added assertion to make sure no other typed array is created when snapshotting.
Number-string cache:
We assume that the initial snapshot does not expand the number-string cache.
This is no longer true for custom heap snapshots.
Bound functions:
Bound functions store the bound arguments in a COW fixed array, including the
bindee function. COW arrays are serialized into the startup snapshot and
referenced in the partial snapshot via partial snapshot cache. However, the
bindee function is context-dependent and must not be part of the startup
snapshot. There is no need for bound functions to use a COW array though.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/851073002
Cr-Commit-Position: refs/heads/master@{#26072}
2015-01-15 11:22:17 +00:00
bmeurer
1a5db24e6b
[turbofan] Use PlainPrimitiveToNumber whenever possible.
...
TEST=cctest,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/852763002
Cr-Commit-Position: refs/heads/master@{#26071}
2015-01-15 09:49:23 +00:00
dcarney
e6552d4917
Reland "[turbofan] simplify gap ordering"
...
BUG=
Review URL: https://codereview.chromium.org/854703002
Cr-Commit-Position: refs/heads/master@{#26069}
2015-01-15 09:06:05 +00:00
dcarney
a7e3c71b23
add register allocator regression test
...
BUG=
Review URL: https://codereview.chromium.org/852633002
Cr-Commit-Position: refs/heads/master@{#26068}
2015-01-15 08:56:10 +00:00
baptiste.afsa
51f3c66b64
[turbofan] Allow 0.0 as immediate for floating-point comparison on arm/arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/850073002
Cr-Commit-Position: refs/heads/master@{#26066}
2015-01-15 06:31:07 +00:00
Ben L. Titzer
3244a66543
[turbofan] Fix corner case in loop analysis.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/852783002
Cr-Commit-Position: refs/heads/master@{#26063}
2015-01-14 17:06:37 +00:00
yangguo
fe82e03bb6
Correctly reference global proxy in the partial snapshot.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/853493003
Cr-Commit-Position: refs/heads/master@{#26061}
2015-01-14 16:42:30 +00:00
mstarzinger
2ebe24c9cb
First simple implementation of for-of in TurboFan.
...
R=rossberg@chromium.org
TEST=cctest/test-run-jsbranches/ForOfContinueStatement
Review URL: https://codereview.chromium.org/850803002
Cr-Commit-Position: refs/heads/master@{#26060}
2015-01-14 15:24:29 +00:00
jochen
c65799e7c5
Remove support for signatures with arguments
...
Support for it is slow and difficult to implement, and it's not used in
Blink. An embedder that uses this feature will have to check the
argument types itself.
BUG=none
R=dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/848173002
Cr-Commit-Position: refs/heads/master@{#26058}
2015-01-14 14:44:10 +00:00
bmeurer
e1d878d16f
Add proper support for proxies to HType.
...
TEST=mjsunit/regress/regress-crbug-448730
BUG=chromium:448730
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/847373002
Cr-Commit-Position: refs/heads/master@{#26056}
2015-01-14 13:57:09 +00:00
jarin
ac04d777d6
[turbofan] Allow deoptimization for JSToNumber operator.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/841443004
Cr-Commit-Position: refs/heads/master@{#26053}
2015-01-14 13:09:32 +00:00
bmeurer
70b32e4b8a
[turbofan] Fix truncation/representation sloppiness wrt. bool/bit.
...
TEST=cctest,mjsunit,unittests
BUG=v8:3812
LOG=y
Review URL: https://codereview.chromium.org/850013003
Cr-Commit-Position: refs/heads/master@{#26051}
2015-01-14 12:06:56 +00:00
bmeurer
214387fce1
Revert of [turbofan] Improve typed lowering of JSBitwiseAnd. (patchset #1 id:1 of https://codereview.chromium.org/811653004/ )
...
Reason for revert:
Breaks SQLite
Original issue's description:
> [turbofan] Improve typed lowering of JSBitwiseAnd.
>
> TEST=unittests
> R=jarin@chromium.org
>
> Committed: https://crrev.com/284e1108182995abe85f580bc813d26491642b8c
> Cr-Commit-Position: refs/heads/master@{#26046}
TBR=jarin@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/795833006
Cr-Commit-Position: refs/heads/master@{#26048}
2015-01-14 09:07:07 +00:00
Benedikt Meurer
284e110818
[turbofan] Improve typed lowering of JSBitwiseAnd.
...
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/811653004
Cr-Commit-Position: refs/heads/master@{#26046}
2015-01-14 07:40:32 +00:00
balazs.kilvady
3da5a729e8
MIPS: [turbofan] Improve code generation for unordered comparisons.
...
Port c24220c0c1
TEST=cctest,unittests
BUG=
Review URL: https://codereview.chromium.org/850733004
Cr-Commit-Position: refs/heads/master@{#26045}
2015-01-13 20:28:13 +00:00
bmeurer
1fa21bfd39
[turbofan] Reduce Word32And masking with shifted inputs.
...
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/847113002
Cr-Commit-Position: refs/heads/master@{#26040}
2015-01-13 13:02:40 +00:00
bmeurer
9f292086f9
[turbofan] Add PlainPrimitiveToNumber simplified operator.
...
TEST=unittests
Review URL: https://codereview.chromium.org/845333002
Cr-Commit-Position: refs/heads/master@{#26038}
2015-01-13 11:02:57 +00:00
yangguo
bcab9eacf3
Update references to global object after deserializing context.
...
R=jochen@chromium.org
TEST=test-serialize/CustomContext{Des,S}erialization
Also test by
- make ia32.debug embedscript=<full path to mjsunit.js>
- d8 -e "assertDoesNotThrow('print(1)')"
Review URL: https://codereview.chromium.org/846023002
Cr-Commit-Position: refs/heads/master@{#26035}
2015-01-13 08:48:08 +00:00
bmeurer
c24220c0c1
[turbofan] Improve code generation for unordered comparisons.
...
TEST=cctest,unittests
Review URL: https://codereview.chromium.org/850653002
Cr-Commit-Position: refs/heads/master@{#26034}
2015-01-13 08:42:02 +00:00
jarin
527e19afd5
[turbofan] Add missing deopt.
...
BUG=chromium:447567
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/809463005
Cr-Commit-Position: refs/heads/master@{#26033}
2015-01-13 08:40:54 +00:00
caitpotter88
4b6316c5ff
Check for octals in template spans only, not expressions
...
BUG=v8:3806
LOG=N
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/808793004
Cr-Commit-Position: refs/heads/master@{#26028}
2015-01-12 15:07:47 +00:00
bmeurer
0e8a6d4ec8
[turbofan] Canonicalize x - K to x + -K.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/846913002
Cr-Commit-Position: refs/heads/master@{#26027}
2015-01-12 15:02:06 +00:00
mstarzinger
df30088de3
Enable test after arguments count limitation was lifted.
...
R=bmeurer@chromium.org
TEST=mozilla/js1_5/Regress/regress-396684
BUG=v8:3786
Review URL: https://codereview.chromium.org/832713005
Cr-Commit-Position: refs/heads/master@{#26026}
2015-01-12 14:32:23 +00:00
erikcorry
7db1759b65
Unify phantom and internal fields weak handle callbacks
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/842153004
Cr-Commit-Position: refs/heads/master@{#26022}
2015-01-12 12:12:10 +00:00
dslomov
a4124b3bfc
Map -0 to integer 0 for typed array constructors.
...
R=bmeurer@chromium.org
BUG=chromium:447756
LOG=Y
Review URL: https://codereview.chromium.org/790813005
Cr-Commit-Position: refs/heads/master@{#26021}
2015-01-12 11:42:57 +00:00
titzer
159b14172f
[turbofan] Implement OSR for outer loops.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/809333002
Cr-Commit-Position: refs/heads/master@{#26020}
2015-01-12 11:39:58 +00:00
marja
2305cfb4e2
ES6 unicode escapes, part 2: Regexps.
...
Allows \u{xxxxx} in regexps. Behind the --harmony-unicode flag.
Part 1 is here: https://codereview.chromium.org/716423002
BUG=v8:3648
LOG=N
Review URL: https://codereview.chromium.org/788043005
Cr-Commit-Position: refs/heads/master@{#26018}
2015-01-12 09:50:34 +00:00
bmeurer
b6c7e11c10
[turbofan] Fix typo in IrOpcode::Mnemonic.
...
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/843043002
Cr-Commit-Position: refs/heads/master@{#26014}
2015-01-09 14:20:03 +00:00
jochen
21ce246423
Correctly setup the freelist of the coderange on Win64
...
Since we have a special guard page at the beginning of the code range on
win64, we need to make sure to adjust the size of the free list
accordingly when creating it.
BUG=chromium:447555
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/843973002
Cr-Commit-Position: refs/heads/master@{#26012}
2015-01-09 13:07:42 +00:00
titzer
7e98658e31
[turbofan] Fix control reducer for degenerate cases of self-loop branches.
...
R=jarin@chromium.org
BUG=chromium:447526
Review URL: https://codereview.chromium.org/828823006
Cr-Commit-Position: refs/heads/master@{#26009}
2015-01-09 12:28:14 +00:00
vogelheim
c72c28dd00
Disable webkit/array-iterate-backwards for debug builds.
...
(Debug builds have --enable-slow-asserts, and with slow asserts each
assignment to the array in the prepare function will trigger a check
over the entire array. This turns it into n^2 work, for reasonably
large n.)
BUG=
Review URL: https://codereview.chromium.org/831953003
Cr-Commit-Position: refs/heads/master@{#26006}
2015-01-09 10:27:15 +00:00
dslomov
a417b41880
Unship ES6 classes.
...
R=rossberg@chromium.org
BUG=v8:3330
Review URL: https://codereview.chromium.org/836393003
Cr-Commit-Position: refs/heads/master@{#26000}
2015-01-08 15:11:01 +00:00
bmeurer
5157472539
[turbofan] Cleanup duplicated/unused code in InstructionSelector.
...
- Use C++11 range based for loops.
- Remove duplicated virtual register set in unittests.
- Don't expose implementation details of InstructionSelector.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/837423002
Cr-Commit-Position: refs/heads/master@{#25997}
2015-01-08 14:13:33 +00:00
Yang Guo
2050994d80
Correctly parse line ends for debugging.
...
Instead of using only \n as line terminator, we now use the definition
in http://www.ecma-international.org/ecma-262/5.1/#sec-7.3
R=marja@chromium.org
BUG=v8:2825
LOG=Y
Review URL: https://codereview.chromium.org/821383009
Cr-Commit-Position: refs/heads/master@{#25989}
2015-01-08 10:46:13 +00:00
bmeurer
fec1bba852
[turbofan] Correctify representation changes to bit.
...
TEST=cctest/test-representation-change,unittests,mjsunit/compiler/regress-bit-number-constant
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/840953003
Cr-Commit-Position: refs/heads/master@{#25987}
2015-01-08 09:48:41 +00:00
dcarney
a5aa01beec
remove declarative accessors
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/834443004
Cr-Commit-Position: refs/heads/master@{#25981}
2015-01-07 16:37:43 +00:00
sergeyv
cedc11ba59
Fix sourceURL & sourceMapURL handling in case of background parsing
...
BUG=
Review URL: https://codereview.chromium.org/821723002
Cr-Commit-Position: refs/heads/master@{#25980}
2015-01-07 15:56:18 +00:00
bmeurer
d1c1a3c48f
[turbofan] Fix bit representation of NumberConstant.
...
TEST=mjsunit/compiler/regress-bit-number-constant
Review URL: https://codereview.chromium.org/839813002
Cr-Commit-Position: refs/heads/master@{#25979}
2015-01-07 15:44:22 +00:00
ishell
0d6785805c
Correct handling of exceptions occured during getting of exception stack trace.
...
BUG=chromium:444805
LOG=Y
Review URL: https://codereview.chromium.org/793333003
Cr-Commit-Position: refs/heads/master@{#25978}
2015-01-07 14:50:16 +00:00
bmeurer
e53845d41c
[turbofan] Cleanup Graph and related classes.
...
- Move NodeMarker to its own file, and introduce a non
templatized base class.
- Cleanup the include hell.
- Sanitize the Node construction methods now that we
got rid of that GenericNode/GenericGraph stuff.
- Protect against NodeId overflow in Graph.
- Various minor cleanups.
TEST=cctest,mjsunit,unittests
Review URL: https://codereview.chromium.org/838783002
Cr-Commit-Position: refs/heads/master@{#25977}
2015-01-07 14:42:49 +00:00
titzer
d77d3ba9a3
Fix bug in Runtime_CompileOptimized resulting from stack overflow.
...
R=jarin@chromium.org
BUG=chromium:446389
LOG=Y
Review URL: https://codereview.chromium.org/844503002
Cr-Commit-Position: refs/heads/master@{#25974}
2015-01-07 13:43:44 +00:00
jarin
80a7be5cd9
Restrict representation inference to avoid truncation of phi inputs.
...
BUG=chromium:446778
LOG=N
Review URL: https://codereview.chromium.org/837153002
Cr-Commit-Position: refs/heads/master@{#25967}
2015-01-07 11:38:54 +00:00
bmeurer
ec35c52e54
[turbofan] Generalize constant propagation.
...
Also support additional number types (singleton ranges, NaN and minus
zero) for constant propagation in typed lowering.
TEST=unittests
Review URL: https://codereview.chromium.org/829303002
Cr-Commit-Position: refs/heads/master@{#25963}
2015-01-07 08:24:38 +00:00