platform/upstream/v8.git
10 years agoMIPS: Unroll push loop in r19040 and other push optimizations.
palfia@homejinni.com [Tue, 4 Feb 2014 00:06:44 +0000 (00:06 +0000)]
MIPS: Unroll push loop in r19040 and other push optimizations.

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: let load and store api callbacks use global proxy as receiver.
plind44@gmail.com [Mon, 3 Feb 2014 18:44:23 +0000 (18:44 +0000)]
MIPS: let load and store api callbacks use global proxy as receiver.

Port r19033 (c31b3e7)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agolet load and store api callbacks use global proxy as receiver
dcarney@chromium.org [Mon, 3 Feb 2014 15:19:38 +0000 (15:19 +0000)]
let load and store api callbacks use global proxy as receiver

R=verwaest@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix short-circuiting logical and/or in HOptimizedGraphBuilder.
yangguo@chromium.org [Mon, 3 Feb 2014 14:29:34 +0000 (14:29 +0000)]
Fix short-circuiting logical and/or in HOptimizedGraphBuilder.

R=jkummerow@chromium.org
BUG=336148
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoElements field of newly allocated JSArray could be left uninitialized in some cases...
ishell@chromium.org [Mon, 3 Feb 2014 13:33:26 +0000 (13:33 +0000)]
Elements field of newly allocated JSArray could be left uninitialized in some cases (fast literal case).

BUG=340124
LOG=Y
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake memento checks more stable. Add filler at the end of new space and check if...
hpayer@chromium.org [Mon, 3 Feb 2014 12:20:15 +0000 (12:20 +0000)]
Make memento checks more stable. Add filler at the end of new space and check if object and memento are on the same new space page.

BUG=
R=bmeurer@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReturn a valid map for PropertyAccessInfos with Boolean type.
verwaest@chromium.org [Mon, 3 Feb 2014 10:20:32 +0000 (10:20 +0000)]
Return a valid map for PropertyAccessInfos with Boolean type.

BUG=340064
LOG=N
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[x64] add disasm for two fp instructions
yangguo@chromium.org [Mon, 3 Feb 2014 08:13:12 +0000 (08:13 +0000)]
[x64] add disasm for two fp instructions

BUG=
R=yangguo@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRe-enable escape analysis.
jarin@chromium.org [Mon, 3 Feb 2014 07:57:07 +0000 (07:57 +0000)]
Re-enable escape analysis.

R=danno@chromium.org, mstarzinger@chromium.org
LOG=Y
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMore cctest fixes regarding lifetime/ownership.
svenpanne@chromium.org [Mon, 3 Feb 2014 07:29:23 +0000 (07:29 +0000)]
More cctest fixes regarding lifetime/ownership.

   * Avoid double-free in cctest/test-api/RegExpInterruption.

   * Avoid incorrect zone fiddling in cctest/test-strings.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.24.31.
machenbach@chromium.org [Mon, 3 Feb 2014 07:22:59 +0000 (07:22 +0000)]
Prepare push to trunk.  Now working on version 3.24.31.

R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReplace nonexistent a4 by t0 on mips.
verwaest@chromium.org [Sat, 1 Feb 2014 11:30:38 +0000 (11:30 +0000)]
Replace nonexistent a4 by t0 on mips.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnsure we don't clobber the cell on ARM and MIPS
verwaest@chromium.org [Sat, 1 Feb 2014 10:43:57 +0000 (10:43 +0000)]
Ensure we don't clobber the cell on ARM and MIPS

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnsure the word after top is cleared in newspace if top < high.
verwaest@chromium.org [Sat, 1 Feb 2014 10:35:36 +0000 (10:35 +0000)]
Ensure the word after top is cleared in newspace if top < high.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix expectations for new regression test.
machenbach@chromium.org [Sat, 1 Feb 2014 09:56:20 +0000 (09:56 +0000)]
Fix expectations for new regression test.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.24.30.
machenbach@chromium.org [Sat, 1 Feb 2014 08:54:23 +0000 (08:54 +0000)]
Prepare push to trunk.  Now working on version 3.24.30.

R=verwaest@chromium.org
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Remove CallICs
palfia@homejinni.com [Sat, 1 Feb 2014 02:23:46 +0000 (02:23 +0000)]
MIPS: Remove CallICs

Port r19001 (4b5aa649)

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix zlib critical performance regression.
plind44@gmail.com [Fri, 31 Jan 2014 18:59:32 +0000 (18:59 +0000)]
MIPS: Fix zlib critical performance regression.

The very low score on zlib benchmark is caused by
huge number of deoptimizations inside BinaryOpIC stubs
when arguments are boolean.

TEST=
BUG=
R=plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdjust test expectations to new error on method not found
verwaest@chromium.org [Fri, 31 Jan 2014 17:39:59 +0000 (17:39 +0000)]
Adjust test expectations to new error on method not found

BUG=
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove CallICs
verwaest@chromium.org [Fri, 31 Jan 2014 16:52:17 +0000 (16:52 +0000)]
Remove CallICs

BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Mark new regression test flaky on linux 32.
machenbach@chromium.org [Fri, 31 Jan 2014 16:47:52 +0000 (16:47 +0000)]
[Sheriff] Mark new regression test flaky on linux 32.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimpler repro for bug 2989.
jarin@chromium.org [Fri, 31 Jan 2014 16:12:58 +0000 (16:12 +0000)]
Simpler repro for bug 2989.

We do not correctly handle accesses to f.arguments after one
of the argument has changed (where f is crankshafted).

R=machenbach@chromium.org
BUG=v8:2989
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMigrate crashing tests from blink repository.
machenbach@chromium.org [Fri, 31 Jan 2014 14:31:43 +0000 (14:31 +0000)]
Migrate crashing tests from blink repository.

TBR=bmeurer@chromium.org
BUG=237872
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove IsRegExpEquivalent.
jochen@chromium.org [Fri, 31 Jan 2014 14:17:02 +0000 (14:17 +0000)]
Remove IsRegExpEquivalent.

It's not used anywhere.

BUG=none
R=ulan@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.24.29.
machenbach@chromium.org [Fri, 31 Jan 2014 14:01:29 +0000 (14:01 +0000)]
Prepare push to trunk.  Now working on version 3.24.29.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Mark new regression test as flaky.
machenbach@chromium.org [Fri, 31 Jan 2014 13:56:00 +0000 (13:56 +0000)]
[Sheriff] Mark new regression test as flaky.

BUG=336820
LOG=n
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDon't crash in Array.join() if the resulting string exceeds the max string length.
bmeurer@chromium.org [Fri, 31 Jan 2014 12:21:17 +0000 (12:21 +0000)]
Don't crash in Array.join() if the resulting string exceeds the max string length.

LOG=y
BUG=336820
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoLoad elimination fix: load should not be replaced with another load if the former...
ishell@chromium.org [Fri, 31 Jan 2014 12:03:32 +0000 (12:03 +0000)]
Load elimination fix: load should not be replaced with another load if the former is not dominated by the latter.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agogrokdump: Compute correct call destinations and display them in-place
jkummerow@chromium.org [Fri, 31 Jan 2014 11:49:07 +0000 (11:49 +0000)]
grokdump: Compute correct call destinations and display them in-place

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDon't unmark dictionary mode maps as unstable.
verwaest@chromium.org [Fri, 31 Jan 2014 11:38:43 +0000 (11:38 +0000)]
Don't unmark dictionary mode maps as unstable.
R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable concurrent sweeping.
hpayer@chromium.org [Fri, 31 Jan 2014 10:31:55 +0000 (10:31 +0000)]
Disable concurrent sweeping.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse `CHECK_OBJECT_COERCIBLE` macro where possible
bmeurer@chromium.org [Fri, 31 Jan 2014 10:05:58 +0000 (10:05 +0000)]
Use `CHECK_OBJECT_COERCIBLE` macro where possible

Contributed by Mathias Bynens <mathiasb@opera.com>.

TEST=
BUG=v8:3122
LOG=N
R=arv@chromium.org

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

Patch from Mathias Bynens <mathiasb@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnce again: Fixed some lifetime/ownership issues in cctest
svenpanne@chromium.org [Fri, 31 Jan 2014 09:59:50 +0000 (09:59 +0000)]
Once again: Fixed some lifetime/ownership issues in cctest

   * Fixed lifetime issue in cctest/test-heap-profiler/HeapSnapshotJSONSerialization.

   * Fixed ownership issue in cctest/test-api/ContainsOnlyOneByte.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "[Sheriff] Mark profviz flaky on GC stress."
hpayer@chromium.org [Fri, 31 Jan 2014 09:59:22 +0000 (09:59 +0000)]
Revert "[Sheriff] Mark profviz flaky on GC stress."

This reverts commit f70687c1e5ef15254887e0619939e25a834e936e.

BUG=
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd Opera Software ASA to AUTHORS
bmeurer@chromium.org [Fri, 31 Jan 2014 09:18:43 +0000 (09:18 +0000)]
Add Opera Software ASA to AUTHORS

Contributed by Mathias Bynens <mathiasb@opera.com>.

BUG=
LOG=N
R=bmeurer@chromium.org, jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix deopt fuzzer variable set up.
machenbach@chromium.org [Fri, 31 Jan 2014 09:10:56 +0000 (09:10 +0000)]
Fix deopt fuzzer variable set up.

Adds the simulator variable configuration from r18959 to the deopt fuzzer.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix python path for gyp.
machenbach@chromium.org [Fri, 31 Jan 2014 09:09:43 +0000 (09:09 +0000)]
Fix python path for gyp.

BUG=
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck forwarding pointer when marking objects for deoptimization.
hpayer@chromium.org [Fri, 31 Jan 2014 09:07:30 +0000 (09:07 +0000)]
Check forwarding pointer when marking objects for deoptimization.

BUG=
R=bmeurer@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplements ES6 String.prototype.normalize method.
svenpanne@chromium.org [Fri, 31 Jan 2014 08:09:17 +0000 (08:09 +0000)]
Implements ES6 String.prototype.normalize method.

BUG=v8:2943
LOG=Y
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.

==========================

This is identical to the previous CL
   https://codereview.chromium.org/40133004/
with two differences:
 * Added a dummy implementation of String.prototype.normalize to be used when v8 is compiled without intl support
 * Rebased the the test files for webkit. That was the only reason for the previous failure (and revert).

Thank you,
Mihai

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed a few lifetime/ownership issues in cctest/test-api.
svenpanne@chromium.org [Fri, 31 Jan 2014 07:29:25 +0000 (07:29 +0000)]
Fixed a few lifetime/ownership issues in cctest/test-api.

   * Fixed CompileExternalTwoByteSource: Registered resources should
     better still be alive when they are accessed.

   * Fixed ownership in cctest/test-api/VisitExternalStrings.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImprove HConstant::ImmortalImmovable() to check for all immortal immovable roots.
bmeurer@chromium.org [Fri, 31 Jan 2014 07:28:46 +0000 (07:28 +0000)]
Improve HConstant::ImmortalImmovable() to check for all immortal immovable roots.

Move the list to IMMORTAL_IMMOVABLE_ROOT_LIST in heap.h, and
automatically include INTERNALIZED_STRING_LIST and STRING_TYPE_LIST.

R=hpayer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix compiler error on MacOS, remove unused ParameterCount member in CallInterceptorCo...
hpayer@chromium.org [Fri, 31 Jan 2014 07:02:33 +0000 (07:02 +0000)]
Fix compiler error on MacOS, remove unused ParameterCount member in CallInterceptorCompiler.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix the context check in LoadGlobalFunctionPrototype
palfia@homejinni.com [Fri, 31 Jan 2014 00:49:07 +0000 (00:49 +0000)]
MIPS: Fix the context check in LoadGlobalFunctionPrototype

Port r18958 (5cd635d0)

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: crankshaft support for api method calls
palfia@homejinni.com [Fri, 31 Jan 2014 00:36:19 +0000 (00:36 +0000)]
MIPS: crankshaft support for api method calls

Port r18946 (a152f5ae)

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix regression caused by supporting inlining accesses to non-JSObjects
verwaest@chromium.org [Fri, 31 Jan 2014 00:29:04 +0000 (00:29 +0000)]
Fix regression caused by supporting inlining accesses to non-JSObjects

TBR=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Specialize FixedTypedArray<> set and get functions to solve unaligned double...
plind44@gmail.com [Thu, 30 Jan 2014 20:05:11 +0000 (20:05 +0000)]
MIPS: Specialize FixedTypedArray<> set and get functions to solve unaligned double access.

BUG=
TEST=test-api/FixedFloat64Array
R=dslomov@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: stub api getters.
plind44@gmail.com [Thu, 30 Jan 2014 18:22:28 +0000 (18:22 +0000)]
MIPS: stub api getters.

Port r18941 (517adbf)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Optimize HWrapReceiver.
plind44@gmail.com [Thu, 30 Jan 2014 18:13:38 +0000 (18:13 +0000)]
MIPS: Optimize HWrapReceiver.

Port r18945 (699b03e)

BUG=
R=verwaest@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSkip webkit/function-apply-aliased.js when running on simulators.
plind44@gmail.com [Thu, 30 Jan 2014 18:04:33 +0000 (18:04 +0000)]
Skip webkit/function-apply-aliased.js when running on simulators.

The webkit/function-apply-aliased.js test fails on simulators (both MIPS
and ARM) as the printed output does not match to the expected. The
failing test forces a stack overflow exception and the ToString()
operation of the exception object fails because of an other stack
overflow and returns an empty string.

The problem is that on hardware a common JS and C stack is used so the
stack overflow can be caught in C functions also while on simulator
separated JS and C stacks are used.

This patch adds a "sim" condition to test .status files to skip tests
only on simulator.

LOG=N
BUG=v8:3124
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix the context check in LoadGlobalFunctionPrototype
verwaest@chromium.org [Thu, 30 Jan 2014 17:45:09 +0000 (17:45 +0000)]
Fix the context check in LoadGlobalFunctionPrototype

R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix polymorphic load handling.
verwaest@chromium.org [Thu, 30 Jan 2014 16:44:32 +0000 (16:44 +0000)]
Fix polymorphic load handling.

BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Use HType::NonPrimitive() for non primitive HConstants."
bmeurer@chromium.org [Thu, 30 Jan 2014 13:54:01 +0000 (13:54 +0000)]
Revert "Use HType::NonPrimitive() for non primitive HConstants."

This reverts commit r18947.

TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse HType::NonPrimitive() for non primitive HConstants.
bmeurer@chromium.org [Thu, 30 Jan 2014 13:32:05 +0000 (13:32 +0000)]
Use HType::NonPrimitive() for non primitive HConstants.

This allows us to use the faster write barrier, omitting the
smi check when storing constant heap objects.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agocrankshaft support for api method calls
dcarney@chromium.org [Thu, 30 Jan 2014 13:18:41 +0000 (13:18 +0000)]
crankshaft support for api method calls

R=verwaest@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOptimize HWrapReceiver
verwaest@chromium.org [Thu, 30 Jan 2014 12:52:49 +0000 (12:52 +0000)]
Optimize HWrapReceiver

R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable unsuitable tests in ASAN mode.
machenbach@chromium.org [Thu, 30 Jan 2014 12:52:22 +0000 (12:52 +0000)]
Disable unsuitable tests in ASAN mode.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd global_context field to GlobalObject in heap profiler.
alph@chromium.org [Thu, 30 Jan 2014 12:17:21 +0000 (12:17 +0000)]
Add global_context field to GlobalObject in heap profiler.

LOG=N
R=ulan@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agostub api getters
dcarney@chromium.org [Thu, 30 Jan 2014 12:15:51 +0000 (12:15 +0000)]
stub api getters

R=verwaest@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoThe uninitialized value is immortal immovable.
bmeurer@chromium.org [Thu, 30 Jan 2014 12:00:52 +0000 (12:00 +0000)]
The uninitialized value is immortal immovable.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSupport loads from primitive values.
verwaest@chromium.org [Thu, 30 Jan 2014 11:30:38 +0000 (11:30 +0000)]
Support loads from primitive values.
This also changes load computation to use HeapTypes rather than Maps.
TODO: move conversion between maps and heaptypes earlier in the process, already in the oracle.

BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake sure we delete[] what we got from new[], not one byte after it.
svenpanne@chromium.org [Thu, 30 Jan 2014 10:53:20 +0000 (10:53 +0000)]
Make sure we delete[] what we got from new[], not one byte after it.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoThe current
jarin@chromium.org [Thu, 30 Jan 2014 10:33:53 +0000 (10:33 +0000)]
The current
version is passing all the existing test + a bunch of new tests
(packaged in the change list, too).

The patch extends the SlotRef object to describe captured and duplicated
objects. Since the SlotRefs are not independent of each other anymore,
there is a new SlotRefValueBuilder class that stores the SlotRefs and
later materializes the objects from the SlotRefs.

Note that unlike the previous implementation of SlotRefs, we now build
the SlotRef entries for the entire frame, not just the particular
function.  This is because duplicate objects might refer to previous
captured objects (that might live inside other inlined function's part
of the frame).

We also need to store the materialized objects between other potential
invocations of the same arguments object so that we materialize each
captured object at most once.  The materialized objects of frames live
in the new MaterielizedObjectStore object (contained in Isolate),
indexed by the frame's FP address.  Each argument materialization (and
deoptimization) tries to lookup its captured objects in the store before
building new ones.  Deoptimization also removes the materialized objects
from the store. We also schedule a lazy deopt to be sure that we always
get rid of the materialized objects and that the optmized function
adopts the materialized objects (instead of happily computing with its
captured representations).

Concerns:

- Is the FP address the right key for a frame? (Note that deoptimizer's
representation of frame is different from the argument object
materializer's one - it is not easy to find common ground.)

- Performance is suboptimal in several places, but a quick local run of
benchmarks does not seem to show a perf hit. Examples of possible
improvements: smarter generation of SlotRefs (build other functions'
SlotRefs only for captured objects and only if necessary), smarter
lookup of stored materialized objects.

- Ideally, we would like to share the code for argument materialization
with deoptimizer's materializer.  However, the supporting data structures
(mainly the frame descriptor) are quite different in each case, so it
looks more like a separate project.

Thanks for any feedback.

R=danno@chromium.org, mstarzinger@chromium.org
LOG=N
BUG=

Committed: https://code.google.com/p/v8/source/detail?r=18918

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix test expectations for cctest/test-debug.
machenbach@chromium.org [Thu, 30 Jan 2014 10:16:54 +0000 (10:16 +0000)]
Fix test expectations for cctest/test-debug.

BUG=v8:3125
R=bmeurer@chromium.org
TBR=verwaest@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Turn RegExpConstructResultStub into a HydrogenCodeStub.
palfia@homejinni.com [Thu, 30 Jan 2014 01:42:03 +0000 (01:42 +0000)]
MIPS: Turn RegExpConstructResultStub into a HydrogenCodeStub.

Port r18902 (ba394fbc)

Original commit message:
This has the additional benefit that it is now possible to
inline the RegExpResult construction code into Hydrogen
builtins.

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.24.28.
machenbach@chromium.org [Thu, 30 Jan 2014 01:05:08 +0000 (01:05 +0000)]
Prepare push to trunk.  Now working on version 3.24.28.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Remove the HValueOf instruction.
palfia@homejinni.com [Wed, 29 Jan 2014 21:51:08 +0000 (21:51 +0000)]
MIPS: Remove the HValueOf instruction.

Port r18905 (88f14cd3)

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Mark profviz flaky on GC stress.
machenbach@chromium.org [Wed, 29 Jan 2014 20:50:51 +0000 (20:50 +0000)]
[Sheriff] Mark profviz flaky on GC stress.

BUG=
TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake eager allocation site pretenuring decisions.
hpayer@chromium.org [Wed, 29 Jan 2014 17:03:57 +0000 (17:03 +0000)]
Make eager allocation site pretenuring decisions.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDo not overwrite builtin code names in heap profiler
alph@chromium.org [Wed, 29 Jan 2014 17:03:13 +0000 (17:03 +0000)]
Do not overwrite builtin code names in heap profiler

Make sure builtin code objects get their builtin tags
first. Otherwise a particular JSFunction object could set
its custom name to a generic builtin.

LOG=N
R=ulan@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Mark test-debug/* as flaky on Mac.
machenbach@chromium.org [Wed, 29 Jan 2014 16:59:50 +0000 (16:59 +0000)]
[Sheriff] Mark test-debug/* as flaky on Mac.

Now including release mode.

BUG=v8:3125
LOG=n
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Captured arguments object materialization"
jarin@chromium.org [Wed, 29 Jan 2014 15:49:48 +0000 (15:49 +0000)]
Revert "Captured arguments object materialization"

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake 'ASAN' configurable in test status file.
machenbach@chromium.org [Wed, 29 Jan 2014 15:30:41 +0000 (15:30 +0000)]
Make 'ASAN' configurable in test status file.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDon't parallelize tests that register extensions.
machenbach@chromium.org [Wed, 29 Jan 2014 15:29:58 +0000 (15:29 +0000)]
Don't parallelize tests that register extensions.

These tests register extensions on the isolate and the configuration of the extensions runs out of scope. If run in parallel, other tests access the isolate's state and read the registered extensions.

BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Sheriff] Mark test-debug/* as flaky on Mac.
machenbach@chromium.org [Wed, 29 Jan 2014 15:15:37 +0000 (15:15 +0000)]
[Sheriff] Mark test-debug/* as flaky on Mac.

BUG=v8:3125
LOG=n
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoThis is a preview of the captured arguments object materialization,
jarin@chromium.org [Wed, 29 Jan 2014 15:14:15 +0000 (15:14 +0000)]
This is a preview of the captured arguments object materialization,
mostly to make sure that it is going in the right direction. The current
version is passing all the existing test + a bunch of new tests
(packaged in the change list, too).

The patch extends the SlotRef object to describe captured and duplicated
objects. Since the SlotRefs are not independent of each other anymore,
there is a new SlotRefValueBuilder class that stores the SlotRefs and
later materializes the objects from the SlotRefs.

Note that unlike the previous implementation of SlotRefs, we now build
the SlotRef entries for the entire frame, not just the particular
function.  This is because duplicate objects might refer to previous
captured objects (that might live inside other inlined function's part
of the frame).

We also need to store the materialized objects between other potential
invocations of the same arguments object so that we materialize each
captured object at most once.  The materialized objects of frames live
in the new MaterielizedObjectStore object (contained in Isolate),
indexed by the frame's FP address.  Each argument materialization (and
deoptimization) tries to lookup its captured objects in the store before
building new ones.  Deoptimization also removes the materialized objects
from the store. We also schedule a lazy deopt to be sure that we always
get rid of the materialized objects and that the optmized function
adopts the materialized objects (instead of happily computing with its
captured representations).

Concerns:

- Is there a simpler/more correct way to store the already-materialized
objects? (At the moment there is a custom root reference to JSArray
containing frames' FixedArrays with their captured objects.)

- Is the FP address the right key for a frame? (Note that deoptimizer's
representation of frame is different from the argument object
materializer's one - it is not easy to find common ground.)

- Performance is suboptimal in several places, but a quick local run of
benchmarks does not seem to show a perf hit. Examples of possible
improvements: smarter generation of SlotRefs (build other functions'
SlotRefs only for captured objects and only if necessary), smarter
lookup of stored materialized objects.

- Ideally, we would like to share the code for argument materialization
with deoptimizer's materializer.  However, the supporting data structures
(mainly the frame descriptor) are quite different in each case, so it
looks more like a separate project.

Thanks for any feedback.

R=mstarzinger@chromium.org, danno@chromium.org
LOG=N
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSkip Mozilla tests with timeouts.
machenbach@chromium.org [Wed, 29 Jan 2014 15:13:45 +0000 (15:13 +0000)]
Skip Mozilla tests with timeouts.

- Let Mozilla tests with timeouts always run in no-variants mode. Otherwise the stress-run causes a 16 minutes timeout in debug mode and 32 minutes on arm debug.
- Four test cases with exponentially long running regular expressions are skipped entirely.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGeneralize internalization of substrings.
ulan@chromium.org [Wed, 29 Jan 2014 14:31:34 +0000 (14:31 +0000)]
Generalize internalization of substrings.

Make a template version of SubStringKey, which allows internalization of substrings of sequential and external strings.

R=dcarney@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable tracking of double fields during snapshot creation.
ulan@chromium.org [Wed, 29 Jan 2014 14:18:55 +0000 (14:18 +0000)]
Disable tracking of double fields during snapshot creation.

Follow-up to r18298.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReplace HThrow with HCallRuntime.
bmeurer@chromium.org [Wed, 29 Jan 2014 14:03:32 +0000 (14:03 +0000)]
Replace HThrow with HCallRuntime.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMark next_code_link as weak in heap profiler.
alph@chromium.org [Wed, 29 Jan 2014 13:45:41 +0000 (13:45 +0000)]
Mark next_code_link as weak in heap profiler.

LOG=N
R=ulan@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove the unused HElementsKind instruction.
bmeurer@chromium.org [Wed, 29 Jan 2014 13:44:50 +0000 (13:44 +0000)]
Remove the unused HElementsKind instruction.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove the HValueOf instruction.
bmeurer@chromium.org [Wed, 29 Jan 2014 13:41:00 +0000 (13:41 +0000)]
Remove the HValueOf instruction.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExit mksnapshot cleanly, making LSAN happy.
svenpanne@chromium.org [Wed, 29 Jan 2014 13:30:38 +0000 (13:30 +0000)]
Exit mksnapshot cleanly, making LSAN happy.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTurn RegExpConstructResultStub into a HydrogenCodeStub.
bmeurer@chromium.org [Wed, 29 Jan 2014 13:10:35 +0000 (13:10 +0000)]
Turn RegExpConstructResultStub into a HydrogenCodeStub.

This has the additional benefit that it is now possible to
inline the RegExpResult construction code into Hydrogen
builtins.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExtend ArrayPop hydrogen support to COW arrays and popping from empty arrays.
verwaest@chromium.org [Wed, 29 Jan 2014 12:53:40 +0000 (12:53 +0000)]
Extend ArrayPop hydrogen support to COW arrays and popping from empty arrays.

R=mvstanton@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDon't create dummy uses for control dependencies.
bmeurer@chromium.org [Wed, 29 Jan 2014 12:48:32 +0000 (12:48 +0000)]
Don't create dummy uses for control dependencies.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse IfBuilder instead of handcrafted basic blocks in GenerateSetValueOf().
bmeurer@chromium.org [Wed, 29 Jan 2014 09:59:16 +0000 (09:59 +0000)]
Use IfBuilder instead of handcrafted basic blocks in GenerateSetValueOf().

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd dependency operand to HLoadNamedField.
bmeurer@chromium.org [Wed, 29 Jan 2014 09:48:35 +0000 (09:48 +0000)]
Add dependency operand to HLoadNamedField.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.24.27.
machenbach@chromium.org [Wed, 29 Jan 2014 08:13:05 +0000 (08:13 +0000)]
Prepare push to trunk.  Now working on version 3.24.27.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoKill obsolete HLoadExternalArrayPointer instruction.
bmeurer@chromium.org [Wed, 29 Jan 2014 07:27:35 +0000 (07:27 +0000)]
Kill obsolete HLoadExternalArrayPointer instruction.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoES6: Map and Set needs to normalize minus zero
svenpanne@chromium.org [Wed, 29 Jan 2014 07:27:05 +0000 (07:27 +0000)]
ES6: Map and Set needs to normalize minus zero

BUG=v8:3069
LOG=Y
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoBoth HGlobalObject and HGlobalReceiver can be replaced with HLoadNamedField.
bmeurer@chromium.org [Wed, 29 Jan 2014 07:26:52 +0000 (07:26 +0000)]
Both HGlobalObject and HGlobalReceiver can be replaced with HLoadNamedField.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix global object loading in DoWrapReceiver.
palfia@homejinni.com [Tue, 28 Jan 2014 20:26:53 +0000 (20:26 +0000)]
MIPS: Fix global object loading in DoWrapReceiver.

This commit fixes the global object loading to load the result into the "result" register instead of the "receiver" register.

TEST=mjsunit/compiler/regress-arguments
BUG=
R=plind44@gmail.com, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: Fix global object loading in DoWrapReceiver.
palfia@homejinni.com [Tue, 28 Jan 2014 20:25:38 +0000 (20:25 +0000)]
ARM: Fix global object loading in DoWrapReceiver.

This commit fixes the global object loading to load the result into the "result" register instead of the "receiver" register.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agov8config.h: introduce V8_LIBC_MSVCRT
bmeurer@chromium.org [Tue, 28 Jan 2014 19:11:13 +0000 (19:11 +0000)]
v8config.h: introduce V8_LIBC_MSVCRT

Use this for detecting MSVCRT library features instead of
V8_CC_MSVC.

One use case for this is when compiling with Clang together with the
MSVC library. In that case, V8_CC_MSVC will be false, but V8_LIBC_MSVCRT
will be true.

BUG=82385
LOG=n
R=bmeurer@chromium.org

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

Patch from Hans Wennborg <hans@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix for potential issue related to replacing CheckMaps with values.
ishell@chromium.org [Tue, 28 Jan 2014 17:49:13 +0000 (17:49 +0000)]
Fix for potential issue related to replacing CheckMaps with values.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFlow engine fixes: unreachable block processing, state merging.
ishell@chromium.org [Tue, 28 Jan 2014 16:57:39 +0000 (16:57 +0000)]
Flow engine fixes: unreachable block processing, state merging.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoLoad elimination fix with a test case.
ishell@chromium.org [Tue, 28 Jan 2014 16:45:04 +0000 (16:45 +0000)]
Load elimination fix with a test case.

R=titzer@chromium.org, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllocation site pretenuring for StringAdd on all platforms.
hpayer@chromium.org [Tue, 28 Jan 2014 15:43:28 +0000 (15:43 +0000)]
Allocation site pretenuring for StringAdd on all platforms.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDrop the native FastNewBlockContextStub.
bmeurer@chromium.org [Tue, 28 Jan 2014 13:43:04 +0000 (13:43 +0000)]
Drop the native FastNewBlockContextStub.

This code is almost never executed in real world and benchmarks,
and there's obviously absolutely no need to have this native code
hanging around for no benefit.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00