sigurds@chromium.org
566cdc3bcd
Reland "Add initial support for inlining."
...
Reland Fixes:
* Remove usage of C++11 vector members.
* Guard tests by V8_TURBO_TARGET.
Changes:
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
Uses:iterator already provides this member function.
* Allow next node id in graph to be set.
R=titzer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/484083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:05:03 +00:00
yangguo@chromium.org
8cb41618ce
Blacklist %InternalSetProperty from runtime test fuzzing.
...
R=verwaest@chromium.org
BUG=405499
LOG=N
Review URL: https://codereview.chromium.org/491843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 12:51:48 +00:00
hpayer@chromium.org
1605474d70
Use actual incremental marking throughput in IdleNotification to estimate marking step size.
...
BUG=
R=jochen@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/465473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:33:03 +00:00
jkummerow@chromium.org
45219bd84f
Check in "cpu.sh" script to control CPU governor/cores on Linux
...
This can help with reproducing stability bugs or performance issues.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/485763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:39:37 +00:00
sigurds@chromium.org
b488b2ed29
Revert "Add initial support for inlining."
...
This reverts commit r23197.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/481413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:48:44 +00:00
sigurds@chromium.org
4b943f35cf
Add initial support for inlining.
...
* Add stack depth checking to function tester.
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
Uses:iterator already provides this member function.
* Allow next node id in graph to be set.
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/453833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:23:19 +00:00
rossberg@chromium.org
30af557955
Implement ES6 Array.of()
...
BUG=v8:3427
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/364853009
Patch from Diego Pino <dpino@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 11:38:38 +00:00
bmeurer@chromium.org
10678fb22f
Setup heap-unittests and runtime-unittests.
...
Initial import of empty unit test suites for Toon and Hannes.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/475233005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 10:54:54 +00:00
yangguo@chromium.org
3527f40b7e
Reorder native javascript files.
...
R=verwaest@chromium.org
BUG=403717
LOG=N
Review URL: https://codereview.chromium.org/470083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:29:48 +00:00
mstarzinger@chromium.org
3adac582b0
Deprecate LoweringBuilder in favor of Reducer.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/476733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 12:24:37 +00:00
titzer@chromium.org
9803a72417
Unify MachineType and RepType.
...
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan.
These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends.
R=bmeurer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/470593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:19:54 +00:00
bmeurer@chromium.org
ae7d781d8b
[turbofan] Introduce WordRor machine operator.
...
Move recognition of rotate-right operations to the
MachineOperatorReducer, so we don't need to repeat that in the
InstructionSelector for every backend.
TEST=base-unittests,compiler-unittests,cctests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/469213002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:07:58 +00:00
mstarzinger@chromium.org
8b7dd630da
Move %IsOptimized runtime helper into test case.
...
R=jarin@chromium.org
TEST=cctest/test-run-deopt
Review URL: https://codereview.chromium.org/468153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:09:50 +00:00
dslomov@chromium.org
d2fe3e68ea
Add "own" symbols support.
...
"Own" symbols are symbols that can only denote own properties of
objects.
R=hpayer@chromium.org , verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=23056
Review URL: https://codereview.chromium.org/464473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 15:28:20 +00:00
yangguo@chromium.org
0f81d7698a
Implement Math.log1p using port from fdlibm.
...
Port contributed by Raymond Toy <rtoy@google.com>.
R=rtoy@chromium.org
LOG=N
BUG=v8:3481
Review URL: https://codereview.chromium.org/457643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:36:33 +00:00
machenbach@chromium.org
d98282800a
Whitespace change to trigger bots.
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 11:46:46 +00:00
machenbach@chromium.org
a9793f8964
Whitespace change to trigger bots.
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 10:48:37 +00:00
bmeurer@chromium.org
51846f64db
Initial import of ChangeLowering.
...
ChangeLowering is a Reducer to lower simplified change operators
to machine subgraphs. This initial version supports ChangeBitToBool,
ChangeBoolToBit, ChangeTaggedToFloat64 and ChangeInt32ToTagged.
TEST=compiler-unittests/change-lowering-unittest
BUG=v8:3489
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/460593003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 08:24:20 +00:00
dslomov@chromium.org
dc4c277589
Revert "Add "own" symbols support."
...
This reverts commit r23056 for breaking Mac x64 test.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/460803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 21:44:08 +00:00
dslomov@chromium.org
88f65f2c52
Add "own" symbols support.
...
"Own" symbols are symbols that can only denote own properties of
objects.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/464473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 18:59:38 +00:00
titzer@chromium.org
6fa2cee262
Move MachineRepresentation to machine-type.h and rename to MachineType in preparation for merging it with RepType.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/456333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 15:55:28 +00:00
hpayer@chromium.org
24fceeeabb
Move store-buffer to heap and remove some unnecessary includes.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/463523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:22:24 +00:00
jochen@chromium.org
d5980902be
When dumping the stack, try to print contents as ASCII
...
This makes it easier to find strings that are on the stack for debugging
BUG=none
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/132503005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:16:43 +00:00
machenbach@chromium.org
943960dfd1
Skip gmock and gtest in presubmit.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/454693004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:07:08 +00:00
verwaest@chromium.org
d094d0fb44
Tag all prototypes as proto, except those set using __proto__
...
BUG=
R=ishell@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/450303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:00:58 +00:00
machenbach@chromium.org
4eb72d0256
Whitespace change to trigger bots.
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 12:14:45 +00:00
machenbach@chromium.org
216e6618db
Whitespace change to trigger bots.
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 06:44:17 +00:00
machenbach@chromium.org
7f156ffefa
Fix v8 landmines script.
...
Currently, some builders are in a clobber-landmine loop.
Clobber deletes the .landmines tracker (sigh). Difficult to
know if we are right after a clobber or if it is first-time
landmines deployment. Also, a landmine-triggered clobber
right after a clobber is not possible. Different clobber
methods for msvs, xcode and make all have different
blacklists of files that are not deleted.
After the branch point, all v8 branch builders have to be
manually clobbered, because the appearance of the
landmines.py script and the first landmine request are in
the same branch CL.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/457063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-09 08:31:01 +00:00
machenbach@chromium.org
68b933007c
Reland debug output for landmines
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/450873003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 18:33:58 +00:00
machenbach@chromium.org
b59ed8d062
Revert "Add temporary output to debug landmines."
...
This reverts commit 0bfb2300939fe4e540d4a2fd80a040dd689710b8.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/452173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 16:11:41 +00:00
machenbach@chromium.org
02d8625779
Add temporary output to debug landmines.
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/450353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 16:05:19 +00:00
rossberg@chromium.org
d9d6a60973
Enable ES6 unscopables
...
R=yangguo@chromium.org
BUG=v8:3401
LOG=Y
Review URL: https://codereview.chromium.org/455743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:42:59 +00:00
svenpanne@chromium.org
adeac1a32c
Unbreak gcmole bots.
...
Switching on C++11 features for gcmole might actually be a good idea... :-}
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/452073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 10:37:45 +00:00
rossberg@chromium.org
5427ea5285
Remove proxies from --harmony switch for M38, because problems
...
They can still be activated separately using the --harmony-proxies switch,
but are no longer implied by Chrome's "Experimental JavaScript" option.
R=yangguo@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/453903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 09:58:19 +00:00
bmeurer@chromium.org
12e8b34b07
Reland "Add initial support for compiler unit tests using GTest/GMock.".
...
LOG=y
BUG=v8:3489
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/457503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 07:04:07 +00:00
machenbach@chromium.org
affd31f267
Whitespace change to trigger bots.
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 06:29:49 +00:00
adamk@chromium.org
c068a606f2
Remove suppressions for Blink webexposed tests
...
BUG=400507
LOG=N
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/445353005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 19:57:41 +00:00
wingo@igalia.com
cebddb662e
Enable ES6 iteration by default
...
This enables for-of, as well as @@iterator implementations for strings
and arrays.
R=rossberg@chromium.org
BUG=v8:2214
LOG=Y
Review URL: https://codereview.chromium.org/446023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 16:42:14 +00:00
svenpanne@chromium.org
6e75bfc35b
Update gcmole to a more recent clang/llvm.
...
* Changes for 2.9:
* Use CXX in Makefile instead of hardwired g++, we need a more
modern GCC than 4.6 later, anyway.
* Changes for 3.0:
* Use llvm namespace.
* Diagnostic => DiagnosticsEngine.
* Changes for 3.1:
* The BlockDeclRefExpr AST node is gone.
* The structure of the CXXNewExpr AST node has changed.
* Path changed from Release to Release+Asserts.
* Use clang++ instead of -cc1, otherwise we lose the system include
paths.
* Changes for 3.2:
none needed
* Changes for 3.3:
* Use lookup_iterator::begin/end instead of first/second.
* Changes for 3.4:
* createItaniumMangleContext => ItaniumMangleContext::create.
* Changes for 3.5:
* clang uses <type_traits> now, so -std=c++0x is needed.
* Type-trait-related AST changes.
* getCustomDiagID signature changed.
* We must link the C++ library statically now.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/445983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 12:56:53 +00:00
hpayer@chromium.org
604eaa0d27
Move objects-visiting into heap.
...
BUG=
R=jochen@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/443933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 12:21:01 +00:00
machenbach@chromium.org
81904ff0f9
Whitespace change to trigger bots.
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 20:50:29 +00:00
rossberg@chromium.org
25b978cbf4
This implements unscopables
...
The unscobables allow us to black list properties from showing up in
with statements.
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-environment-records-hasbinding-n
The spec draft is not fully up to date.
https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-29.md#conclusionresolution
BUG=v8:3401
LOG=Y
R=rossberg@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/384963002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:50:40 +00:00
bmeurer@chromium.org
38ca3f4fc2
Revert "Add initial support for compiler unit tests using GTest/GMock."
...
This reverts commit r22927 for breaking build.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/448663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:59:02 +00:00
bmeurer@chromium.org
1f1e9495e5
Add initial support for compiler unit tests using GTest/GMock.
...
TEST=compiler-unittests
BUG=v8:3489
LOG=y
R=svenpanne@chromium.org , jochen@chromium.org
Review URL: https://codereview.chromium.org/447563003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:52:47 +00:00
yangguo@chromium.org
71857295b4
Reland "Implement trigonometric functions using a fdlibm port."
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/448643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:39:39 +00:00
yangguo@chromium.org
ff7975aa8d
Revert "Implement trigonometric functions using a fdlibm port."
...
This reverts r22918 and r22920.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/448633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:04:47 +00:00
yangguo@chromium.org
3c4d23b917
Implement trigonometric functions using a fdlibm port.
...
R=jochen@chromium.org , rtoy@chromium.org , svenpanne@chromium.org
BUG=v8:3006
LOG=N
Review URL: https://codereview.chromium.org/411263004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 10:33:17 +00:00
yangguo@chromium.org
3b54f89ffa
Trigger exception debug events on Promise reject.
...
R=rossberg@chromium.org , aandrey@chromium.org
BUG=393913
LOG=Y
Review URL: https://codereview.chromium.org/440773004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:41:52 +00:00
bmeurer@chromium.org
ef17fe7633
Refactor unit tests for the base library to use GTest.
...
TEST=base-unittests
BUG=v8:3489
LOG=y
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/448603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:35:21 +00:00
yangguo@chromium.org
0fb57e51d4
Check that external references are registered in the serializer.
...
Inspired by a patch by Slava Chigrin <vchigrin@yandex-team.ru>
R=jkummerow@chromium.org , vchigrin@yandex-team.ru
Review URL: https://codereview.chromium.org/441983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 07:20:14 +00:00