machenbach
62219f3dd8
Fix typo in build.gn.
...
TBR=jochen@chromium.org
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/862383002
Cr-Commit-Position: refs/heads/master@{#26214}
2015-01-22 09:03:29 +00:00
jochen
d4a69500ed
Add initial support for v8_target_arch == "arm" to GN config
...
BUG=none
R=eseidel@chromium.org ,brettw@chromium.org,machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/863683002
Cr-Commit-Position: refs/heads/master@{#26162}
2015-01-20 14:34:08 +00:00
jochen
778c6f7fd7
Add d8 target to BUILD.gn
...
R=machenbach@chromium.org ,brettw@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/846743004
Cr-Commit-Position: refs/heads/master@{#26151}
2015-01-20 11:31:53 +00:00
titzer
3442a5f9e0
[turbofan] First version of loop peeling.
...
BUG=
Review URL: https://codereview.chromium.org/816053002
Cr-Commit-Position: refs/heads/master@{#26149}
2015-01-20 09:45:17 +00:00
machenbach
12adf1474d
Revert of Reland Auto-generate v8 version based on tags. (patchset #1 id:1 of https://codereview.chromium.org/843913009/ )
...
Reason for revert:
The gclient hook of v8 is not executed on this builder:
http://build.chromium.org/p/tryserver.chromium.linux/builders/android_aosp/builds/49765
Original issue's description:
> Reland Auto-generate v8 version based on tags.
>
> This relands the CL
> https://codereview.chromium.org/797503007/ .
>
> It runs the version generation two times. First during
> runhooks as a fallback for recipes that loose git context
> (e.g. android_aosp). Second during compilation like in the
> original CL. In case of failures, the result from the
> runhooks call will be reused.
>
> BUG=chromium:446166
> LOG=n
>
> Committed: https://crrev.com/d3d6e38b2cba73b52bd5ed00f4441a7db3284a19
> Cr-Commit-Position: refs/heads/master@{#26120}
TBR=jochen@chromium.org ,jkummerow@chromium.org,tandrii@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:446166
Review URL: https://codereview.chromium.org/855263002
Cr-Commit-Position: refs/heads/master@{#26121}
2015-01-18 15:43:21 +00:00
machenbach
d3d6e38b2c
Reland Auto-generate v8 version based on tags.
...
This relands the CL
https://codereview.chromium.org/797503007/ .
It runs the version generation two times. First during
runhooks as a fallback for recipes that loose git context
(e.g. android_aosp). Second during compilation like in the
original CL. In case of failures, the result from the
runhooks call will be reused.
BUG=chromium:446166
LOG=n
Review URL: https://codereview.chromium.org/843913009
Cr-Commit-Position: refs/heads/master@{#26120}
2015-01-18 11:25:58 +00:00
bmeurer
835cc463a8
[turbofan] Initial attempt to cleanup Node and related classes.
...
- Make Node::Inputs and Node::Uses mostly STL compliant.
- Get rid of some pre-C++11 crappiness.
- Start moving unit tests from cctest to unittests.
- TrimInputCount() now tries to reserve inputs slots for
later appending.
- Fix numerous style guide violations.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/851263002
Cr-Commit-Position: refs/heads/master@{#26098}
2015-01-16 11:04:22 +00:00
machenbach
28d99ef77f
Revert of Auto-generate v8 version based on tags. (patchset #5 id:80001 of https://codereview.chromium.org/797503007/ )
...
Reason for revert:
Blocks roll on android_aosp:
https://codereview.chromium.org/851953005/
Original issue's description:
> Auto-generate v8 version based on tags.
>
> BUG=chromium:446166
> LOG=y
>
> Committed: https://crrev.com/b301b85be895c6fcd1edfe2fd1e60b5abd0ac64d
> Cr-Commit-Position: refs/heads/master@{#26062}
TBR=jochen@chromium.org ,jkummerow@chromium.org,tandrii@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=chromium:446166
Review URL: https://codereview.chromium.org/850263002
Cr-Commit-Position: refs/heads/master@{#26067}
2015-01-15 08:01:11 +00:00
machenbach
b301b85be8
Auto-generate v8 version based on tags.
...
BUG=chromium:446166
LOG=y
Review URL: https://codereview.chromium.org/797503007
Cr-Commit-Position: refs/heads/master@{#26062}
2015-01-14 16:43:42 +00:00
dcarney
316f860a6b
Revert of Revert of Revert of Add d8 target to the GN build. (patchset #1 id:1 of https://codereview.chromium.org/833563004/ )
...
Reason for revert:
This is now really blocking the roll. I believe it's just missing
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
in the d8 config but I have no way to check.
Original issue's description:
> Revert of Revert of Add d8 target to the GN build. (patchset #1 id:1 of https://codereview.chromium.org/838983002/ )
>
> Reason for revert:
> Relanding because this is not actually blocking the roll.
>
> Original issue's description:
> > Revert of Add d8 target to the GN build. (patchset #2 id:40001 of https://codereview.chromium.org/834113005/ )
> >
> > Reason for revert:
> > V8 roll fails due to this change. (see https://codereview.chromium.org/843673003/ )
> >
> > Original issue's description:
> > > Add d8 target to the GN build.
> > >
> > > Also formats the rest of the file with "gn format". This accounts for all the changes except for the "d8" target additions.
> > >
> > > Committed: https://crrev.com/36383f08c1f692ea797d54a27d7c6b3d3d53b440
> > > Cr-Commit-Position: refs/heads/master@{#25984}
> >
> > TBR=jochen@chromium.org ,machenbach@chromium.org,brettw@chromium.org
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Committed: https://crrev.com/ef50fdfdb05e1a3a3822962f5235b804218a5f4e
> > Cr-Commit-Position: refs/heads/master@{#25985}
>
> TBR=jochen@chromium.org ,machenbach@chromium.org,brettw@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/ebf3c34fb91b4b61f5c32383a115214c516ab5b0
> Cr-Commit-Position: refs/heads/master@{#25996}
TBR=jochen@chromium.org ,machenbach@chromium.org,brettw@chromium.org,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/810493004
Cr-Commit-Position: refs/heads/master@{#26050}
2015-01-14 11:52:34 +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
jochen
0959123e57
Remove "extra checks"
...
Instead, just use DCHECKs. The builders that want them in release mode
should already be useding dcheck_always_on anyways
BUG=none
R=machenbach@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/841083002
Cr-Commit-Position: refs/heads/master@{#26001}
2015-01-08 16:29:39 +00:00
yangguo
ebf3c34fb9
Revert of Revert of Add d8 target to the GN build. (patchset #1 id:1 of https://codereview.chromium.org/838983002/ )
...
Reason for revert:
Relanding because this is not actually blocking the roll.
Original issue's description:
> Revert of Add d8 target to the GN build. (patchset #2 id:40001 of https://codereview.chromium.org/834113005/ )
>
> Reason for revert:
> V8 roll fails due to this change. (see https://codereview.chromium.org/843673003/ )
>
> Original issue's description:
> > Add d8 target to the GN build.
> >
> > Also formats the rest of the file with "gn format". This accounts for all the changes except for the "d8" target additions.
> >
> > Committed: https://crrev.com/36383f08c1f692ea797d54a27d7c6b3d3d53b440
> > Cr-Commit-Position: refs/heads/master@{#25984}
>
> TBR=jochen@chromium.org ,machenbach@chromium.org,brettw@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/ef50fdfdb05e1a3a3822962f5235b804218a5f4e
> Cr-Commit-Position: refs/heads/master@{#25985}
TBR=jochen@chromium.org ,machenbach@chromium.org,brettw@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/833563004
Cr-Commit-Position: refs/heads/master@{#25996}
2015-01-08 13:22:02 +00:00
machenbach
7deccd18ed
Revert of Hack around broken snapshot generation in the GN build on Android. (patchset #1 id:1 of https://codereview.chromium.org/832413005/ )
...
Reason for revert:
Suspected to block the current v8 roll:
https://codereview.chromium.org/842783003/
Original issue's description:
> Hack around broken snapshot generation in the GN build on Android.
>
> The generated snapshot just crashes on the device, but
> disabling snapshots allows us to run V8 just fine which
> is sufficient for our purposes at this point.
>
> Mojo/Sky are GN-only so we depend on the V8 GN build even if
> it's not considered production for Chromium yet.
>
> R=jochen@chromium.org
>
> Committed: https://crrev.com/3e97df1ee8b8bfdddd63ad3c7b79960d24c83b74
> Cr-Commit-Position: refs/heads/master@{#25982}
TBR=jochen@chromium.org ,eseidel@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/841043002
Cr-Commit-Position: refs/heads/master@{#25991}
2015-01-08 10:50:16 +00:00
machenbach
6c6233c1e7
Revert of Run "gn format" on v8's BUILD.gn file. (patchset #1 id:1 of https://codereview.chromium.org/787873003/ )
...
Reason for revert:
Need to revert in order to revert
https://codereview.chromium.org/832413005/
Original issue's description:
> Run "gn format" on v8's BUILD.gn file.
>
> There should be no functional change.
>
> This is a reland of a portion of https://codereview.chromium.org/834113005/
>
> Committed: https://crrev.com/e1d957268d154e7fb7abd5a6cad54f602badc9b8
> Cr-Commit-Position: refs/heads/master@{#25986}
TBR=jochen@chromium.org ,brettw@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/793613003
Cr-Commit-Position: refs/heads/master@{#25990}
2015-01-08 10:48:13 +00:00
brettw
e1d957268d
Run "gn format" on v8's BUILD.gn file.
...
There should be no functional change.
This is a reland of a portion of https://codereview.chromium.org/834113005/
Review URL: https://codereview.chromium.org/787873003
Cr-Commit-Position: refs/heads/master@{#25986}
2015-01-08 09:35:32 +00:00
yangguo
ef50fdfdb0
Revert of Add d8 target to the GN build. (patchset #2 id:40001 of https://codereview.chromium.org/834113005/ )
...
Reason for revert:
V8 roll fails due to this change. (see https://codereview.chromium.org/843673003/ )
Original issue's description:
> Add d8 target to the GN build.
>
> Also formats the rest of the file with "gn format". This accounts for all the changes except for the "d8" target additions.
>
> Committed: https://crrev.com/36383f08c1f692ea797d54a27d7c6b3d3d53b440
> Cr-Commit-Position: refs/heads/master@{#25984}
TBR=jochen@chromium.org ,machenbach@chromium.org,brettw@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/838983002
Cr-Commit-Position: refs/heads/master@{#25985}
2015-01-08 08:38:25 +00:00
brettw
36383f08c1
Add d8 target to the GN build.
...
Also formats the rest of the file with "gn format". This accounts for all the changes except for the "d8" target additions.
Review URL: https://codereview.chromium.org/834113005
Cr-Commit-Position: refs/heads/master@{#25984}
2015-01-08 05:16:46 +00:00
eseidel
3e97df1ee8
Hack around broken snapshot generation in the GN build on Android.
...
The generated snapshot just crashes on the device, but
disabling snapshots allows us to run V8 just fine which
is sufficient for our purposes at this point.
Mojo/Sky are GN-only so we depend on the V8 GN build even if
it's not considered production for Chromium yet.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/832413005
Cr-Commit-Position: refs/heads/master@{#25982}
2015-01-07 20:39:34 +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
bmeurer
4a8623c637
[turbofan] Turn IrOpcode::Mnemonic() into a table lookup.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/818203002
Cr-Commit-Position: refs/heads/master@{#25939}
2014-12-23 19:24:15 +00:00
bmeurer
4f9193e047
[turbofan] Cache float32 constants on the JSGraph level.
...
Also slightly refactor the NodeCache and CommonNodeCache classes to
reduce inherent overhead of caching.
TEST=cctest
Review URL: https://codereview.chromium.org/822923002
Cr-Commit-Position: refs/heads/master@{#25937}
2014-12-23 14:12:21 +00:00
bmeurer
eeec886e5f
[turbofan] Deinlinify OperatorProperties implementation.
...
TEST=cctest,unittests
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/821913002
Cr-Commit-Position: refs/heads/master@{#25935}
2014-12-23 12:50:51 +00:00
Benedikt Meurer
ee98a1d760
[turbofan] Introduce CommonOperatorReducer.
...
The CommonOperatorReducer currently takes care of redundant Phis,
EffectPhis and Selects. This functionality overlaps with ControlReducer,
but is required to make certain optimizations effective, since the
ControlReducer only runs really early and really late in the pipeline
and therefore other reducers aren't reapplied properly after redundant
phi/select elimination.
TEST=unittests
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/817243003
Cr-Commit-Position: refs/heads/master@{#25922}
2014-12-22 13:06:43 +00:00
titzer
0f619463f2
[turbofan] First version of loop analysis: loop finder on the soup of nodes.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/803993002
Cr-Commit-Position: refs/heads/master@{#25837}
2014-12-16 09:36:40 +00:00
Benedikt Meurer
54a31b628d
[base] Add iterator_range helper class.
...
TEST=unittests
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/810683003
Cr-Commit-Position: refs/heads/master@{#25834}
2014-12-16 07:32:03 +00:00
rmcilroy
94071011ac
[GN] Output external snapshot blobs in out directory.
...
The snapshot and natives blob files should be output in the out directory
instead of the gen directory so that they can be picked up by the
executable.
BUG=421063
LOG=N
Review URL: https://codereview.chromium.org/805813004
Cr-Commit-Position: refs/heads/master@{#25827}
2014-12-15 17:01:08 +00:00
mathiasb
33f0cf5acd
Implement the RegExp.prototype.flags
getter
...
TEST=mjsunit/harmony
BUG=v8:3751
LOG=N
Review URL: https://codereview.chromium.org/770333005
Cr-Commit-Position: refs/heads/master@{#25762}
2014-12-10 20:41:10 +00:00
yangguo
7cff32a9bd
Reland "Use same blob format for internal and external snapshots."
...
Review URL: https://codereview.chromium.org/791723004
Cr-Commit-Position: refs/heads/master@{#25741}
2014-12-10 11:46:55 +00:00
d
4161b54d58
Add Array.prototype.includes
...
Requires adding a SameValueZero implementation.
LOG=Y
BUG=v8:3575
R=dslomov@chromium.org , arv@chromium.org
TEST=added to test262
Review URL: https://codereview.chromium.org/771863002
Cr-Commit-Position: refs/heads/master@{#25735}
2014-12-10 08:58:15 +00:00
machenbach
da6dbe78bc
Revert of Use same blob format for internal and external snapshots. (patchset #2 id:20001 of https://codereview.chromium.org/787033002/ )
...
Reason for revert:
[sheriff] breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1293
Original issue's description:
> Use same blob format for internal and external snapshots.
>
> R=vogelheim@chromium.org
TBR=vogelheim@chromium.org ,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/792563002
Cr-Commit-Position: refs/heads/master@{#25729}
2014-12-09 16:19:57 +00:00
yangguo
03ba4becbf
Use same blob format for internal and external snapshots.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/787033002
Cr-Commit-Position: refs/heads/master@{#25727}
2014-12-09 15:12:27 +00:00
baixo
cd0a53bca2
GN: Enable embedder to decide whether or not the external V8 snapshot is enabled.
...
BUG=421063
Review URL: https://codereview.chromium.org/749213004
Cr-Commit-Position: refs/heads/master@{#25691}
2014-12-05 17:22:53 +00:00
Benedikt Meurer
b3ace35209
[turbofan] Redundant load elimination.
...
This is an initial version of redundant load elimination, currently
limited to LoadField operators, and implemented by walking the effect
chain.
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/782473002
Cr-Commit-Position: refs/heads/master@{#25673}
2014-12-05 07:59:18 +00:00
mstarzinger
f9e4527f32
Restrict floating control to minimal control-connected component.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/NestedFloatingDiamondWithChain
Review URL: https://codereview.chromium.org/738613005
Cr-Commit-Position: refs/heads/master@{#25621}
2014-12-02 15:56:30 +00:00
mstarzinger
0672b64d1c
Make generic algorithm a little less generic.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/760493003
Cr-Commit-Position: refs/heads/master@{#25620}
2014-12-02 15:38:00 +00:00
dslomov
9e02e98771
Introduce a kill-switch for shipping features.
...
R=rossberg@chromium.org
TBR=hpayer@chromium.org
Committed: d628562086
Review URL: https://codereview.chromium.org/763273002
Cr-Commit-Position: refs/heads/master@{#25577}
2014-11-28 20:07:18 +00:00
dslomov
557bf53b79
Revert of Introduce a kill-switch for shipping features. (patchset #2 id:20001 of https://codereview.chromium.org/763273002/ )
...
Reason for revert:
Reverted for breaking nosnap: http://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20nosnap/builds/1003/steps/Check/logs/Threading3
Original issue's description:
> Introduce a kill-switch for shipping features.
>
> R=rossberg@chromium.org
>
> Committed: d628562086
TBR=rossberg@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/763353002
Cr-Commit-Position: refs/heads/master@{#25574}
2014-11-28 18:27:55 +00:00
mstarzinger
70093d719c
De-generify the GenericNode.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/756073004
Cr-Commit-Position: refs/heads/master@{#25572}
2014-11-28 15:21:44 +00:00
Dmitry Lomov
d628562086
Introduce a kill-switch for shipping features.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/763273002
Cr-Commit-Position: refs/heads/master@{#25570}
2014-11-28 14:32:17 +00:00
mstarzinger
02210179d6
De-generify the GenericGraph.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/767733002
Cr-Commit-Position: refs/heads/master@{#25569}
2014-11-28 14:21:13 +00:00
dslomov
65aa17b9c3
harmony-classes: Implement 'super(...)' call syntactic restriction.
...
R=rossberg@chromium.org ,arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/766663003
Cr-Commit-Position: refs/heads/master@{#25555}
2014-11-28 04:08:58 +00:00
dslomov
cd4cc1ba36
Ship harmony-strings
...
R=rossberg@chromium.org , yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/761913002
Cr-Commit-Position: refs/heads/master@{#25536}
2014-11-27 10:17:18 +00:00
dcarney
60af073ad8
[turbofan] add initial move optimizer
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/750813004
Cr-Commit-Position: refs/heads/master@{#25533}
2014-11-27 09:21:06 +00:00
titzer
da22163d35
[turbofan] Implement jump threading after register allocation.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/754843002
Cr-Commit-Position: refs/heads/master@{#25521}
2014-11-26 12:41:55 +00:00
yangguo
9b8d40594a
Rip out bzip compression for native sources.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/750543002
Cr-Commit-Position: refs/heads/master@{#25464}
2014-11-21 12:45:20 +00:00
caitpotter88
353b696467
Implement ES6 Template Literals
...
BUG=v8:3230
Review URL: https://codereview.chromium.org/663683006
Cr-Commit-Position: refs/heads/master@{#25362}
2014-11-14 18:53:52 +00:00
yangguo@chromium.org
9f86e34e54
Fix gn build.
...
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/723463002
Cr-Commit-Position: refs/heads/master@{#25277}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 08:12:17 +00:00
yangguo@chromium.org
a5531459a4
Abstract string building in JSON-stringifier into IncrementalStringBuilder.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/713223002
Cr-Commit-Position: refs/heads/master@{#25276}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 08:05:15 +00:00
titzer@chromium.org
21cf5bb249
Remove PhiReducer.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/684993006
Cr-Commit-Position: refs/heads/master@{#25262}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 12:03:12 +00:00
ishell@chromium.org
c5a492961f
Reland "In-object double fields unboxing (for 64-bit only)."
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/711313002
Cr-Commit-Position: refs/heads/master@{#25258}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 10:25:46 +00:00
verwaest@chromium.org
2d9079ca1d
Revert "In-object double fields unboxing (for 64-bit only)."
...
Revert "Fixes for Windows and Mac builds after r25250."
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/699613004
Cr-Commit-Position: refs/heads/master@{#25252}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 17:44:51 +00:00
ishell@chromium.org
f133ac501b
In-object double fields unboxing (for 64-bit only).
...
This CL introduces LayoutDescriptor which is responsible for tracking which in-object fields are tagged and which are not.
LayoutDescriptor field added to Map. Currently unboxing is disabled.
R=hpayer@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/391693002
Cr-Commit-Position: refs/heads/master@{#25250}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 16:35:22 +00:00
dcarney@chromium.org
b93d537acf
[turbofan] add register assignment verifier
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/713803002
Cr-Commit-Position: refs/heads/master@{#25242}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 11:29:15 +00:00
titzer@chromium.org
faa71f966a
Introduce Diamond, a helper for building diamond-shaped control patterns.
...
R=mstarzinger@chromium.org , bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/694063005
Cr-Commit-Position: refs/heads/master@{#25110}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 14:37:44 +00:00
dcarney@chromium.org
7cb25f5020
[turbofan] add RegisterConfiguration to decouple arch specific register layouts from compiler
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/694313002
Cr-Commit-Position: refs/heads/master@{#25097}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 09:22:32 +00:00
danno@chromium.org
10059cb77d
Adds dependency on sanitizer
...
The santizer target is empty if no sanitizers are defined, otherwise
it contains the necessary targets. Because of this we can always
depend on it. Without this dep asan builds fail.
R=brettw@chromium.org , danno@chromium.org
Review URL: https://codereview.chromium.org/697763002
Patch from Scott Violet <sky@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#25094}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 08:28:16 +00:00
bmeurer@chromium.org
744c66bc29
[turbofan] Introduce separate SelectLowering reducer.
...
Split lowering of Select nodes into a separate graph reducer and be more
clever when lowering to diamonds, i.e. reuse diamonds that have the same
condition and only add more phis to it.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/702463002
Cr-Commit-Position: refs/heads/master@{#25078}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 15:17:47 +00:00
dcarney@chromium.org
3cace296ee
convert BitVector to use pointer size blocks
...
additionally rename data-flow.* to bit-vector.* as at some point these file became very inaccurately named
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/683243005
Cr-Commit-Position: refs/heads/master@{#25030}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 10:44:47 +00:00
bmeurer@chromium.org
948ce2141e
[turbofan] First step towards correctified 64-bit addressing.
...
Also remove the LEA matching from x64, since it was never really
effective. We'll optimize that once we're correct.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/652363006
Cr-Commit-Position: refs/heads/master@{#25024}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 06:41:41 +00:00
machenbach@chromium.org
d7eb7afbde
Fix gn.
...
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/685083002
Cr-Commit-Position: refs/heads/master@{#24962}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 07:34:44 +00:00
mvstanton@chromium.org
11a6681bef
Removed non-existent files from gyp and GN builds.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/682793005
Cr-Commit-Position: refs/heads/master@{#24932}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 12:10:15 +00:00
jarin@chromium.org
167fa99716
Revert "[turbofan] Merge GenericNode with Node."
...
This reverts commit a238443c00
(r24915)
for tanking benchmarks.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/684693002
Cr-Commit-Position: refs/heads/master@{#24916}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 22:34:44 +00:00
jarin@chromium.org
a238443c00
[turbofan] Merge GenericNode with Node.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/676353002
Cr-Commit-Position: refs/heads/master@{#24915}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 20:37:47 +00:00
dcarney@chromium.org
5f83dabb60
[turbofan] split compilation stats off from HStatistics and track high water marks
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/669053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 09:14:35 +00:00
adamk@chromium.org
ed23b4de0b
Replace single quotes with double quotes to fix BUILD.gn
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/665313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 18:16:50 +00:00
dslomov@chromium.org
37bd114925
Update ObjectToString to Harmony-draft algorithm
...
Updates Object.prototype.toString() to use algorithm described in harmony drafts.
Currently, the behaviour is essentially the same as ES262's version, however this changes when internal structures
such as Promise make use of symbolToStringTag (as they are supposed to, see v8:3241), and changes further once
Symbol.toStringTag is exposed publicly.
BUG=v8:3241, v8:3502
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/546803003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 17:21:32 +00:00
dcarney@chromium.org
54fef44df3
[turbofan] add ZonePool to correctly track compiler phase memory usage
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/665893006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:38:46 +00:00
wingo@igalia.com
4eddbacabf
Assign bailout and type feedback IDs in a post-pass
...
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.
This is a re-land of https://codereview.chromium.org/636403003/ with a
fix for the arm64 code generator.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/663373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:16:37 +00:00
svenpanne@chromium.org
d66d302b00
Revert "Assign bailout and type feedback IDs in a post-pass"
...
This reverts r24757, which breaks the ARM64 simulator build.
Simple repro:
out/arm64.debug/d8 -e 'eval("(function(){ const x; var x; })")'
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/652543006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:55:12 +00:00
svenpanne@chromium.org
2b8d734037
Assign bailout and type feedback IDs in a post-pass
...
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.
R=svenpanne@chromium.org , marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/636403003
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 08:52:32 +00:00
bmeurer@chromium.org
010f089971
Remove (untested) code for unsupported compilers.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/656143004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:04:22 +00:00
sigurds@chromium.org
bc475b4a6b
Add inlining for intrinsics.
...
This issue is for discussion on how to proceed.
I think the implementation of ValueOf shows that directly creating the IR does not scale.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/612043003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 07:56:50 +00:00
titzer@chromium.org
e4c6f9488e
Implement graph trimming in ControlReducer.
...
Trimming the graph consists of breaking links from nodes that are not reachable from end to nodes that are reachable from end. Such dead nodes show up in the use lists of the live nodes and though mostly harmless, just clutter up the graph. They also can limit instruction selection opportunities, so it is good to get rid of them.
This CL is one half of the ControlReducer functionality, the other half
being branch folding.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/661923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 11:51:57 +00:00
wingo@igalia.com
ee64a14b24
Implement .forEach() on typed arrays
...
BUG=v8:3578
LOG=Y
R=dslomov@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/583723002
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:55:26 +00:00
dusan.milosavljevic@imgtec.com
403dc88519
MIPS: Unbreak gn build, missing source files for MIPS tf.
...
TEST=
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/654583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 14:18:10 +00:00
yangguo@chromium.org
ba6e17c494
Split off remaining runtime functions in runtime.cc.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/638423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 14:59:53 +00:00
yangguo@chromium.org
0dd69ec439
Allow identifier code points from supplementary multilingual planes.
...
ES5.1 section 6 ("Source Text"):
"Throughout the rest of this document, the phrase “code unit” and the
word “character” will be used to refer to a 16-bit unsigned value
used to represent a single 16-bit unit of text."
This changed in ES6 draft section 10.1 ("Source Text"):
"The ECMAScript code is expressed using Unicode, version 5.1 or later.
ECMAScript source text is a sequence of code points. All Unicode code
point values from U+0000 to U+10FFFF, including surrogate code points,
may occur in source text where permitted by the ECMAScript grammars."
This patch is to reflect this spec change.
BUG=v8:3617
LOG=Y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/640193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 07:13:46 +00:00
yangguo@chromium.org
8659e50723
Update unicode to 7.0.0.
...
And do not use code points with PATTERN_* property for identifier start.
Maintain that \u180E is a white space character.
BUG=v8:2892
LOG=Y
R=dpino@igalia.com , mathias@qiwi.be
Review URL: https://codereview.chromium.org/638643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:55:03 +00:00
ulan@chromium.org
5b463207d7
Move fdlibm in src/third_party.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/638553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 11:19:51 +00:00
bmeurer@chromium.org
9440b885ae
Add C++11 compatible base::hash function object.
...
Implement NodeCache in terms of base::hash and std::equal_to in preparation
for HeapConstant caching.
TEST=cctest,unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/624153003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 12:27:24 +00:00
dslomov@chromium.org
bedfa9e710
Extract runtime functions for classes into a separate file.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/621833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 12:11:12 +00:00
jochen@chromium.org
259126c0d9
Remove sweeper threads
...
Job based sweeping is enabled since 3.29, so remove the now obsolete
thread based implementation
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/615933003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 09:16:28 +00:00
yangguo@chromium.org
af635205ed
Split yet more runtime functions into separate files.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/612383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:46:04 +00:00
bmeurer@chromium.org
c1ee6247ca
[turbofan] Some javascript operators are globally shared singletons.
...
Also cleanup the interface, and make the parameter class/accessors
explicit to work-around the type-unsafety of OpParameter<T>.
TEST=compiler-unittests,cctest,mjsunit
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/613683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:42:44 +00:00
dcarney@chromium.org
51a2f97d80
[turbofan] x64 lea multiplication matching
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/615483003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 09:46:30 +00:00
yangguo@chromium.org
381616fb70
Split even more runtime functions into separate files.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/612023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:23:02 +00:00
jochen@chromium.org
aee775a509
gn: Add missing source files to x86 build
...
R=jochen@chromium.org , jochen
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/604553004
Patch from Cem Kocagil <ckocagil@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:22:16 +00:00
yangguo@chromium.org
b0fdeb1b2a
Split more runtime functions into seperate files.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/598913004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 09:32:38 +00:00
dcarney@chromium.org
5d0e9a2496
[turbofan] basic block profiler
...
R=titzer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/593563005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:29:14 +00:00
yangguo@chromium.org
3ef16353ba
Move string-related runtime functions into separate files.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/604703004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:08:15 +00:00
yangguo@chromium.org
2a67e48f0e
Move i18n-related runtime functions into a separate file.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/597943003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:16:15 +00:00
yangguo@chromium.org
43538e57a4
Refactor bailout reasons and disable optimization in more cases.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/596783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:08:27 +00:00
mstarzinger@chromium.org
7765a5fd88
Add JSBuiltinReducer for inlining well-known builtins.
...
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathImul
Review URL: https://codereview.chromium.org/584573003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 15:02:58 +00:00
mvstanton@chromium.org
200095c3e7
Move state sentinels into TypeFeedbackVector.
...
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/579153003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:31:31 +00:00
mvstanton@chromium.org
134a89b11f
Introduce TypeFeedbackVector, as FixedArray grew constrictive.
...
The TypeFeedbackVector is poised to host significant functionality. While it
remains a FixedArray under the covers, we need a place to hold logic and
definitions unique to its function.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/581993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:59:53 +00:00
mvstanton@chromium.org
a4176d2052
Removing ic.h from code-stubs.h
...
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.
More work could/should be done here, but this is a first step.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/565873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:51:33 +00:00
wingo@igalia.com
a76fe0a2cf
Enable ES6 generators
...
R=rossberg@chromium.org
BUG=v8:2355
LOG=Y
Review URL: https://codereview.chromium.org/573963003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:30:39 +00:00
jochen@chromium.org
a35cf732bf
Compile V8 with extra optimization in GN Release mode.
...
This matches the GYP build which does 'optimize': 'max' on the corresponding targets.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/567073003
Patch from Brett Wilson <brettw@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 14:48:01 +00:00
bmeurer@chromium.org
578aeb0b0c
[turbofan] Some common operators are globally shared singletons.
...
TEST=compiler-unittests,cctest
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/565753004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:59:26 +00:00