Commit Graph

15285 Commits

Author SHA1 Message Date
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
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
verwaest@chromium.org
a1f3f02415 Mark as prototype only after instantiating the function
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 16:14:22 +00:00
mvstanton@chromium.org
7b9e24e3fb Clean up IC tracing for CallICs.
CallICs have had some confused tracing, because the IC state is not
entirely captured by the installed code stub - it lives in the type
vector.

Change tracing to be able to use the vector state changes instead.
Introduced a DEFAULT state to be used by all vector-based ICs.

R=verwaest@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 15:33:14 +00:00
neis@chromium.org
c972e8e213 Extend some operations to range types.
This is a reland of 22945, which failed to build on Windows due to
(some versions of?) Visual Studio lacking copysign().

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 15:30:16 +00:00
machenbach@chromium.org
846a5f285d [Auto-roll] Bump up version to 3.28.63.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 13:34:13 +00:00
verwaest@chromium.org
a7aae7a811 Don't smi-untag on 64bit in the store-field stub
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 13:09:33 +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
mstarzinger@chromium.org
6fce0d4df3 Remove dangerous default parameter from machine Store operator.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 11:01:02 +00:00
rodolph.perfetta@arm.com
437fef5000 ARM64: Support arbitrary offset in load/store pair.
TF calls can generate code exceeding the instruction range.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 10:46:40 +00:00
rodolph.perfetta@arm.com
241c1311ca ARM64: fix Instanceof stub.
TF exposed a bug.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 10:42:55 +00:00
sigurds@chromium.org
32c4ed8d21 Directly use OperatorProperties where possible instead.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 09:14:47 +00:00
sigurds@chromium.org
d44563a0b1 Delegate node properties to operator properties.
* Move logic from NodeProperties to OperatorProperties when possible
* Make NodeProperties delegeate to OperatorProperties

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 09:14:37 +00:00
sigurds@chromium.org
6d6e759a6a NodeAuxData needs a Zone, not a Graph.
BUG=
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 09:11:42 +00:00
sigurds@chromium.org
b2159111cf Only tag parameters as maybe assigned if in sloppy mode.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 09:06:01 +00:00
mstarzinger@chromium.org
159cc8ddf2 v8::TryCatch should cancel the scheduled exception on Reset.
v8::TryCatch cancels the scheduled exception on destruction if |Rethrow|
was never called.
It is reasonable to do the same in |Reset|.

BUG=362388, 359386
LOG=
R=mstarzinger@chromium.org

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

Patch from Yutaka Hirano <yhirano@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:55:49 +00:00
mvstanton@chromium.org
76c87c1cf2 CallIC must update type feedback info correctly.
CallIC, as the first of vector-based ICs didn't update the ic with type
count counter and the generic count counter correctly. This CL fixes
that.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:52:00 +00:00
wingo@igalia.com
2c615439bc Mirror object properties are always names
R=aandrey@chromium.org, rossberg@chromium.org, yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:36:38 +00:00
weiliang.lin@intel.com
284d23dbb5 X87: We should never allocate a 0-sized buffer, so never grow from 0.
port r22947

original commit message:

   We should never allocate a 0-sized buffer, so never grow from 0.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:20:00 +00:00
weiliang.lin@intel.com
b40af26eec X87: Always use the StoreFieldStub to do the actual storing.
port r22931.

original commit message:

  Always use the StoreFieldStub to do the actual storing.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:11:11 +00:00
yangguo@chromium.org
2ec32f346d Only escape U+0022 in argument values of String.prototype HTML methods
Contributed by Mathias Bynens <mathiasb@opera.com>.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 07:45:33 +00:00
weiliang.lin@intel.com
5fef5b2cc3 X87: Hydrogenize (and share) StoreField except heapobject (for now)
port r22909.

original commit message:

  Hydrogenize (and share) StoreField except heapobject (for now)

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 07:12:27 +00:00
weiliang.lin@intel.com
ed97194cfb X87: Check that external references are registered in the serializer.
port r22896

original commit message:
  Check that external references are registered in the serializer.
  Inspired by a patch by Slava Chigrin <vchigrin@yandex-team.ru>;

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 07:06:52 +00:00
akos.palfi@imgtec.com
957e1b3897 MIPS: We should never allocate a 0-sized buffer, so never grow from 0.
Port r22947 (e72b5aed) and r22944 (d1d8f44c)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 19:30:03 +00:00
verwaest@chromium.org
aade11ede0 We should never allocate a 0-sized buffer, so never grow from 0.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 17:48:31 +00:00
neis@chromium.org
7692ec62dc Revert "Extend some operations to range types."
This reverts commit 22945.  Turns out Visual Studio doesn't have copysign().

TBR=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 17:43:55 +00:00
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