marja
238ad54d0f
Move compilation error handling into a separate class.
...
In addition to Parser, other phases (such as scope analysis) need to handle
compilation errors in the future. PendingCompilationErrorHandled takes care of
error handling in a unified way.
Split from https://codereview.chromium.org/943543002/ .
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/960543002
Cr-Commit-Position: refs/heads/master@{#26853}
2015-02-25 14:18:34 +00:00
bmeurer
dcf193f18c
[turbofan] Strength reduction for inline comparisons.
...
Perform strength reduction on machine operators with inline comparisons:
CMP & 1 => CMP
1 & CMP => CMP
CMP << 31 >> 31 => CMP
Also strength reduce the following constructs:
x + (0 - y) => x - y
(0 - y) + x => x - y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/951903003
Cr-Commit-Position: refs/heads/master@{#26817}
2015-02-24 12:26:29 +00:00
dpranke
f8abac9331
Update GN build files with the cpu_arch -> current_cpu change.
...
R=machenbach@chromium.org , jochen@chromium.org
BUG=crbug.com/344767
LOG=Y
Review URL: https://codereview.chromium.org/946023002
Cr-Commit-Position: refs/heads/master@{#26804}
2015-02-23 21:01:41 +00:00
loislo
9b02dc5b5f
CpuProfiler: move StringsStorage class to separate source and header files.
...
Mechanical change.
This will break dependency between profiler-generator and heap-profiler-generator.
Later this will help us to reuse SourcePosition in cpu-profiler.
BUG=452067
LOG=n
Review URL: https://codereview.chromium.org/945873002
Cr-Commit-Position: refs/heads/master@{#26780}
2015-02-20 15:16:00 +00:00
Benedikt Meurer
9e6181d5c3
[turbofan] Finally get rid of the generic algorithm.
...
R=svenpanne@chromium.org
Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
Cr-Commit-Position: refs/heads/master@{#26760}
Review URL: https://codereview.chromium.org/944803002
Cr-Commit-Position: refs/heads/master@{#26767}
2015-02-20 10:12:00 +00:00
machenbach
c7810004bb
Revert of [turbofan] Finally get rid of the generic algorithm. (patchset #2 id:20001 of https://codereview.chromium.org/944803002/ )
...
Reason for revert:
Breaks dbg builds.
Original issue's description:
> [turbofan] Finally get rid of the generic algorithm.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9
> Cr-Commit-Position: refs/heads/master@{#26760}
TBR=svenpanne@chromium.org ,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/941963003
Cr-Commit-Position: refs/heads/master@{#26763}
2015-02-20 09:14:44 +00:00
Benedikt Meurer
5bbe693e48
[turbofan] Finally get rid of the generic algorithm.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/944803002
Cr-Commit-Position: refs/heads/master@{#26760}
2015-02-20 08:42:51 +00:00
adamk
27e8a455df
Rename Interface to ModuleDescriptor
...
ModuleDescriptor will end up holding the set of data described in the
spec as a "Module record". This introduces a little bit of confusion
with ModuleInfo, but I hope that'll become clearer over time.
Also removed the interface-printing flags. We probably want
Module-printing flags, but that can wait until we have more
Module-related structures.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/935723004
Cr-Commit-Position: refs/heads/master@{#26728}
2015-02-18 18:25:21 +00:00
bmeurer
acd9c46ca7
[turbofan] Optimize certain chains of Branch into a Switch.
...
This adds a new ControlFlowOptimizer that - for now - recognizes chains
of Branches generated by the SwitchBuilder for a subset of javascript
switches into Switch nodes. Those Switch nodes are then lowered to
either table or lookup switches.
Also rename Case to IfValue (and introduce IfDefault) for consistency.
BUG=v8:3872
LOG=n
Review URL: https://codereview.chromium.org/931623002
Cr-Commit-Position: refs/heads/master@{#26691}
2015-02-17 13:29:46 +00:00
tfarina
2968496335
Rename source_prereqs to inputs in the GN Build file.
...
See more information in the gn-dev mailing list:
https://groups.google.com/a/chromium.org/d/msg/gn-dev/j-P5hlvZ13M/4CSw2WworlkJ
Also in
61a6fca4bc
BUG=374271
R=machenbach@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/917243002
Cr-Commit-Position: refs/heads/master@{#26658}
2015-02-16 12:09:42 +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
bmeurer
3336d2e11e
[turbofan] Merge node-aux-data-inl.h into node-aux-data.h.
...
Google style guide forbids -inl.h headers.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/922633002
Cr-Commit-Position: refs/heads/master@{#26611}
2015-02-12 13:01:29 +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
vogelheim
2ea8df76ba
Fix cctest + unittest to work with an external snapshot.
...
To do so, extract startup_data_util from d8 and use it those executables.
BUG=
Review URL: https://codereview.chromium.org/913703002
Cr-Commit-Position: refs/heads/master@{#26547}
2015-02-10 15:38:09 +00:00
dcarney
8064582626
Move the contents of api-natives.js to c++
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/895053002
Cr-Commit-Position: refs/heads/master@{#26426}
2015-02-04 13:01:44 +00:00
titzer
2379d34bdc
[turbofan] Put StructuredGraphBuilder out of its misery and merge its remnants back into the AstGraphBuilder.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/894073002
Cr-Commit-Position: refs/heads/master@{#26387}
2015-02-02 19:10:02 +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
titzer
3937dd679b
[turbofan] Remove GenericAlgorithm from verifier and graph replay.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/879583002
Cr-Commit-Position: refs/heads/master@{#26280}
2015-01-26 18:35:13 +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
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
marja@chromium.org
eb19fc013a
Add script streaming API.
...
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.
This is a reincarnation of https://codereview.chromium.org/366153002/
with fixes.
BUG=
R=jochen@chromium.org , rossberg@chromium.org , svenpanne@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/566553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 09:12:08 +00:00
mvstanton@chromium.org
af495313d4
Turbofan needs a code handle and a CallInterfaceDescriptor. At the same time we spread knowledge about how to create the initial IC code object too widely. Consolidate code creation and unify it with a descriptor via CodeFactory.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/567433002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 13:18:58 +00:00
marja@chromium.org
90af365ae3
Revert "Add script streaming API."
...
This reverts r23865
Revert "Fix compilation after r23865."
This reverts r23867
Reason: the test contains characters too special for Windows's taste.
TBR=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/545203003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:29:28 +00:00
marja@chromium.org
61c9683d71
Add script streaming API.
...
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.
BUG=
R=jochen@chromium.org , rossberg@chromium.org , svenpanne@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/366153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:06:26 +00:00
bmeurer@chromium.org
bfa3884ae0
[turbofan] Machine operators are globally shared singletons.
...
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/547233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 10:37:49 +00:00
jochen@chromium.org
84e21c5ec0
Convert GN visibility to be a list.
...
GN visibility currently allows either string or list types, but this is causing
some problems for some templates. I'm going to require it to be lists, so am
changing all callers before pushing the new binary.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/556583002
Patch from Brett Wilson <brettw@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 08:57:29 +00:00
jochen@chromium.org
4ad3760dff
Fix v8's GN v86 build.
...
This got out-of-sync with some GYP changes. Also makes it compile on Windows.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/548713002
Patch from Brett Wilson <brettw@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 10:48:29 +00:00
svenpanne@chromium.org
051972d240
Generalized division via multiplication.
...
We can now compute the magic numbers for all combinations of 32bit and
64bit (un)signed multiplications.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/532003004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 11:48:47 +00:00
mstarzinger@chromium.org
bb025c1ceb
Remove overly complex MachineNodeFactory.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/543763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 16:29:40 +00:00
bmeurer@chromium.org
7712ed28e8
[turbofan] Initial version of ValueNumberingReducer.
...
TEST=compiler-unittests,cctest,mjsunit
R=mstarzinger@chromium.org , jarin@chromium.org
Review URL: https://codereview.chromium.org/539503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 11:13:35 +00:00
mstarzinger@chromium.org
51894ec36c
Move StructuredMachineAssembler into cctest suite.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/539903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 10:23:51 +00:00
akos.palfi@imgtec.com
c25ba578f4
MIPS: Make concrete classes for individual call descriptors. - external
...
Port r23639 (e5a2758)
Original commit message:
The ic-convention classes that hold register specifications are merged into these new call descriptor classes, which should represent a final home for that information.
BUG=
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/535753003
Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 22:26:38 +00:00
mvstanton@chromium.org
c2fe5b2b68
Make concrete classes for individual call descriptors. The ic-convention classes that hold register specifications are merged into these new call descriptor classes, which should represent a final home for that information.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/527093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 10:51:51 +00:00
bmeurer@chromium.org
7d0d01005c
First step to cleanup the power-of-2 mess.
...
TEST=base-unittests,cctest,mjsunit
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/528993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 13:36:35 +00:00
bmeurer@chromium.org
db10bef4de
[turbofan] First step of Operator refactoring.
...
- Real const-correctness
- Proper forward declarations instead of #include "src/v8.h"
- Flags for Operator properties.
- etc.
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/526313002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:36:55 +00:00
jochen@chromium.org
8ed43d7f2d
Fix gn android component build
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/458423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:21:41 +00:00
balazs.kilvady@imgtec.com
78da4a3bd2
MIPS: Refactoring InterfaceDescriptors away from code-stubs.h - external.
...
Port r23515 (fe0bdbf)
Original commit message:
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.
BUG=
R=paul.lind@imgtec.com , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/516253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 15:28:26 +00:00
mvstanton@chromium.org
9514d34e14
Refactoring InterfaceDescriptors away from code-stubs.h
...
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/517993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 10:40:02 +00:00
mstarzinger@chromium.org
cc8cec354c
Preliminary lowering of typed array loads in TF.
...
R=titzer@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad
Review URL: https://codereview.chromium.org/516853002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 14:35:11 +00:00
bmeurer@chromium.org
7fb56e2e71
Add Flags<T> class as a type-safe way of storing OR-combinations of enums.
...
TEST=base-unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/510773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 12:16:36 +00:00
mstarzinger@chromium.org
ef565ef98f
Fix GN build after r23442.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/514583003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 10:55:44 +00:00
bmeurer@chromium.org
b8b9d10590
Sync our homegrown SysInfo replacement with the one in Chrome base.
...
Also fix several inconsistencies/bugs on the way.
TEST=base-unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/510693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 08:29:22 +00:00
balazs.kilvady@imgtec.com
6ff7b9ab0f
MIPS: Move register conventions out of the IC classes.
...
Port r23391 (c3bf1dc)
Original commit message:
A change to a convention shouldn't require recompilation of ic.h/.cc.
BUG=
R=paul.lind@imgtec.com , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/508673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:57:18 +00:00
verwaest@chromium.org
fa70f154b7
Remove dead code from LookupResult
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/504183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:32:51 +00:00
mvstanton@chromium.org
295448a4ea
Move register conventions out of the IC classes.
...
A change to a convention shouldn't require recompilation of ic.h/.cc.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/486213003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:50:09 +00:00
mstarzinger@chromium.org
ab57ca86ee
Fix GN build after r23364.
...
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/481333004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:22:04 +00:00
balazs.kilvady@imgtec.com
22d9cd21a9
MIPS: Move handler compilers to handler-compiler.
...
Port r23346 (fd75a28)
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/501023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 15:15:26 +00:00
balazs.kilvady@imgtec.com
be0d658d61
MIPS: Move PropertyAccessCompiler and CallOptimization to their own files.
...
Port r23320 (ae06749)
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/498203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:35:22 +00:00
verwaest@chromium.org
2803733a3b
Move handler compilers to handler-compiler
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/497083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:17:37 +00:00
balazs.kilvady@imgtec.com
1cdd7f5074
MIPS: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.
...
Port r23306 (b95f295)
BUG=
R=paul.lind@imgtec.com , verwaest@chromium.org
Review URL: https://codereview.chromium.org/496393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:09:25 +00:00