Commit Graph

15259 Commits

Author SHA1 Message Date
neis@chromium.org
86759140f0 Extend some operations to range types.
This is a reland of 22934, which failed to build on Windows due to a missing include, and on ARM due to a name clash with some predefined constants.

R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/444023002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 17:23:47 +00:00
verwaest@chromium.org
2953901253 Allocate kMinimalBufferSize buffers in lithium
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/443023003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 17:16:13 +00:00
verwaest@chromium.org
a6384ade6b Get rid of the "spare buffer" cache.
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/446923002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 16:56:52 +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
akos.palfi@imgtec.com
1c2810cc61 MIPS: Always use the StoreFieldStub to do the actual storing.
Port r22931 (2af0a29f)

BUG=
R=gergely.kis@imgtec.com

Review URL: https://codereview.chromium.org/440423004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:11:09 +00:00
verwaest@chromium.org
e174e26b5f Only allocate a handler compiler when necessary
BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/443993002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:05:28 +00:00
yangguo@chromium.org
c29b0a962d Add CheckObjectCoercible for the String.prototype HTML methods
Contributed by Mathias Bynens <mathiasb@opera.com>.

TEST=mjsunit/es6/string-html
BUG=v8:2218
LOG=Y
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/422543003

Patch from Mathias Bynens <mathias@qiwi.be>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 14:58:46 +00:00
neis@chromium.org
19d07b2a9b Revert "Extend some operations to range types."
This reverts 22934.

TBR=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/443123002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 14:09:21 +00:00
yangguo@chromium.org
46bda34130 Abstract out fetching of break_address in debug mode
If the platform has a variable length call sequence
more than simple offset math is required. This can
be true with out of line constant pools on PowerPC.

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/427863003

Patch from Andrew Low <andrew_low@ca.ibm.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:56:58 +00:00
neis@chromium.org
a6ad240b91 Extend some operations to range types.
R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/437393005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:51:38 +00:00
yangguo@chromium.org
30c563bcc0 Move fdlibm from v8::internal to v8::fdlibm.
R=akos.palfi@imgtec.com

Review URL: https://codereview.chromium.org/446863002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:45:59 +00:00
yangguo@chromium.org
5894a48d37 Check for initialized code stub descriptor in the deoptimizer.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/448683002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:18:49 +00:00
verwaest@chromium.org
0ef3978a13 Always use the StoreFieldStub to do the actual storing.
BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/443963002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:18:36 +00:00
akos.palfi@imgtec.com
313939a987 MIPS: Hydrogenize (and share) StoreField except heapobject (for now).
Port r22909 (df25caa5)

BUG=
R=gergely.kis@imgtec.com

Review URL: https://codereview.chromium.org/447673003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:17:33 +00:00
mstarzinger@chromium.org
f374ee63c1 Drop bogus default parameter to BuildFunctionInfo.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/448653002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:09:34 +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
neis@chromium.org
a8729bdcf6 Fix a bug in type fuzzing and several handlification bugs elsewhere.
R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/444883005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:41:37 +00:00
wingo@igalia.com
7d7629562f Rewind additional parser state when reinterpreting arrow arguments
The new ParserCheckpoint mechanism resets some state, notably the
bailout ID counter but also some statement counters (only applicable
once we get "do" expressions) when we decide to reinterpret a comma
expression as arrow function arguments.

R=rossberg@chromium.org, marja@chromium.org
BUG=v8:3475
LOG=N

Review URL: https://codereview.chromium.org/443903003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:05:39 +00:00
jarin@chromium.org
117945ec6e Add deoptimization translations.
BUG=
R=bmeurer@chromium.org, mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/442253002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:49:02 +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
akos.palfi@imgtec.com
8e1791df4c MIPS: Check that external references are registered in the serializer.
Port r22896 (4e54978a)

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/444943002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 10:52:59 +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
rossberg@chromium.org
6f4aea9512 Remove @@create and don't expose unimplemented symbols
Also, add some bits missing from turn-on-symbols CL

R=adamk@chromium.org, dslomov@chromium.org
BUG=

Review URL: https://codereview.chromium.org/441943002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:31:21 +00:00
verwaest@chromium.org
b8ab822040 Hydrogenize (and share) StoreField except heapobject (for now).
BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/443873002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:31:10 +00:00
mstarzinger@chromium.org
df7057b3ce Add convenience method to print types for debugging.
R=titzer@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/435403002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:26:49 +00:00
wingo@igalia.com
e6d8031cbf Revert "Rewind additional parser state when reinterpreting arrow arguments"
This reverts r22906.

TBR=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/440373003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:23:56 +00:00
wingo@igalia.com
87494a806a Rewind additional parser state when reinterpreting arrow arguments
The new ParserCheckpoint mechanism resets some state, notably the
bailout ID counter but also some statement counters (only applicable
once we get "do" expressions) when we decide to reinterpret a comma
expression as arrow function arguments.

R=marja@chromium.org, rossberg@chromium.org
BUG=v8:3475
LOG=N

Review URL: https://codereview.chromium.org/437393004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:06:57 +00:00
mstarzinger@chromium.org
b47fe57307 Carry along ContextualMode in JSLoadNamed operators.
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/435393004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:50:57 +00:00
neis@chromium.org
f771870229 Remove obsolete declaration that broke Windows build.
TBR=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/440393002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:49:56 +00:00
neis@chromium.org
63a170aaa7 Remove non-trivial subtyping between bitset and non-bitset types.
R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/444503005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:28:01 +00:00
jkummerow@chromium.org
10603eff29 Fix disassembly of sar(_, imm8)
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/442003002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:19:36 +00:00
verwaest@chromium.org
8f1f7fbbb1 Restore function on arm64
TBR=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/440373002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:10:13 +00:00
machenbach@chromium.org
d731984b31 [Auto-roll] Bump up version to 3.28.61.0
TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/440363002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:04:13 +00:00
verwaest@chromium.org
5aaf1487da Load constants from the DescriptorArray
BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/442763002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 08:02: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
bmeurer@chromium.org
cbb12d66f6 Move ARM64 macros to macro-assembler-arm64.h.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/444803003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 06:35:29 +00:00
bmeurer@chromium.org
83a8165129 Fix arm64 compilation with clang.
TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/443823002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 04:30:06 +00:00
machenbach@chromium.org
803538ba2e [Auto-roll] Bump up version to 3.28.58.0
TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/446683002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 22:04:13 +00:00
adamk@chromium.org
bcf8b05072 Enable ES6 Map and Set by default
In doing so also remove all references to the --harmony-collections flag.
Due to the way context snapshotting works, it's not possible to simply
enable the flag by default.

Depends on ES6 Symbols: https://codereview.chromium.org/421313004

BUG=v8:1622
LOG=Y
R=arv@chromium.org, rossberg@chromium.org

Review URL: https://codereview.chromium.org/427723002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 19:37:32 +00:00
jkummerow@chromium.org
99062ae949 Track number of generic ICs per function
and use it to disable optimization if too many ICs are generic.

R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/441643008

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 17:06:01 +00:00
wingo@igalia.com
480a60b577 Fix bailout ID for nullary arrow function literals
The FunctionState corresponding to the arrow function's body should be
torn down before the function literal is allocated, so that the function
literal gets a bailout id for the environment in which it appears.

We will also need to rewind bailout IDs in the environment of the
function literal, to return IDs allocated for arrow function arguments.
This will come in the next patch.

R=rossberg@chromium.org
BUG=v8:3475
LOG=N

Review URL: https://codereview.chromium.org/442573004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 15:23:07 +00:00
bmeurer@chromium.org
11fb976bf4 Revert "Unbreak build with clang."
This reverts commit r22878 and fixes the actual bug instead.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/446573002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 14:19:22 +00:00
mstarzinger@chromium.org
e47c6e0b5b Fix ARM64 port after r22876.
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/447443002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 14:06:33 +00:00
mstarzinger@chromium.org
e7c87c420a Implement lowering of JS[Load,Store][Property,Named] to ICs.
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/439263004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:32:26 +00:00
bmeurer@chromium.org
bbd62e4a20 [turbofan] Improve testability of the InstructionSelector.
Allow to pass the set of supported CPU features to
the InstructionSelector, so it can be tested without
messing with the command line flags.

Also add InstructionSelector sample for ia32.

TEST=cctest/test-instruction-selector,cctest/test-instruction-selector-{arm,ia32}
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/441883004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:26:55 +00:00
svenpanne@chromium.org
337015e5dd Enable C++11. Synch toolchains with Chrome.
* Consistently enable C++11 features on all platforms.
* Use the same ARM toolchain version as Chrome.
* Make clang the default on Mac OS X, just like Chrome.
* Use C99 on Mac OS X, again following Chrome.
* Small build fixes.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/440663002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:23:55 +00:00
mstarzinger@chromium.org
c503e74181 Prevent direct inclusion of headers from TF.
R=jochen@chromium.org, titzer@chromium.org

Review URL: https://codereview.chromium.org/438243004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:20:26 +00:00