platform/upstream/v8.git
10 years agoAvoid copying flow-sensitive state when only a goto separates blocks.
titzer@chromium.org [Wed, 27 Nov 2013 07:13:00 +0000 (07:13 +0000)]
Avoid copying flow-sensitive state when only a goto separates blocks.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoMIPS: Optimize Integer32ToSmi.
palfia@homejinni.com [Tue, 26 Nov 2013 20:31:47 +0000 (20:31 +0000)]
MIPS: Optimize Integer32ToSmi.

Port r18084 (426bc19)

Original commit message:
Optimize register constraints and code generated for Integer32ToSmi Lithium
instruction.

TEST=none
BUG=
R=gergely@homejinni.com

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

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

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

10 years agoIncrease test runner speed.
machenbach@chromium.org [Tue, 26 Nov 2013 16:53:04 +0000 (16:53 +0000)]
Increase test runner speed.

Let the test runner preserve the order of test suites to let suites with long running tests run first.

Mark some tests as slow that can now be skipped via --slow-tests=skip.

BUG=
R=yangguo@chromium.org

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

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

10 years agoMake optimized debug builds compile with all optimizations.
machenbach@chromium.org [Tue, 26 Nov 2013 16:48:55 +0000 (16:48 +0000)]
Make optimized debug builds compile with all optimizations.

This results in a speed-up of around 30% on all architectures. For local developer builds only. The bots will continue to use level 1 for now.

BUG=
R=yangguo@chromium.org

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

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

10 years agoARM: Optimize Integer32ToSmi
m.m.capewell@googlemail.com [Tue, 26 Nov 2013 16:34:13 +0000 (16:34 +0000)]
ARM: Optimize Integer32ToSmi

Optimize register constraints and code generated for Integer32ToSmi Lithium
instruction.

TEST=none
BUG=
R=ulan@chromium.org

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

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

10 years agoIncrease precision for base conversion for large integers.
yangguo@chromium.org [Tue, 26 Nov 2013 15:48:13 +0000 (15:48 +0000)]
Increase precision for base conversion for large integers.

R=jkummerow@chromium.org
BUG=v8:3025
LOG=Y

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

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

10 years agoFlatten cons string for single character substrings.
yangguo@chromium.org [Tue, 26 Nov 2013 14:21:46 +0000 (14:21 +0000)]
Flatten cons string for single character substrings.

For substrings of non-flat cons strings, we bail out
to runtime. For single character substrings, we forget
to flatten it. This causes successive bailouts.

R=bmeurer@chromium.org
BUG=323041
LOG=Y

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

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

10 years agoRemoved dead ceiling function.
svenpanne@chromium.org [Tue, 26 Nov 2013 13:55:06 +0000 (13:55 +0000)]
Removed dead ceiling function.

R=bmeurer@chromium.org

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

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

10 years agoRange info propagation through HBoundsCheck.
ishell@chromium.org [Tue, 26 Nov 2013 13:52:44 +0000 (13:52 +0000)]
Range info propagation through HBoundsCheck.

R=titzer@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.13.
machenbach@chromium.org [Tue, 26 Nov 2013 13:50:16 +0000 (13:50 +0000)]
Prepare push to trunk.  Now working on version 3.23.13.

R=yangguo@chromium.org

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

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

10 years agoImplement Math.ceil via Math.floor.
svenpanne@chromium.org [Tue, 26 Nov 2013 12:29:47 +0000 (12:29 +0000)]
Implement Math.ceil via Math.floor.

This way we get all the Crankshaft goodness and avoid always going
through the runtime: Less code + even some small speedup in Kraken.

R=jkummerow@chromium.org

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

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

10 years agoDisable load elimination.
titzer@chromium.org [Tue, 26 Nov 2013 12:18:27 +0000 (12:18 +0000)]
Disable load elimination.

BUG=
R=yangguo@chromium.org

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

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

10 years agoSpeed up long-running test cases.
yangguo@chromium.org [Tue, 26 Nov 2013 11:32:39 +0000 (11:32 +0000)]
Speed up long-running test cases.

R=ishell@chromium.org

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

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

10 years agoMake some ARM test cases faster.
yangguo@chromium.org [Tue, 26 Nov 2013 10:43:44 +0000 (10:43 +0000)]
Make some ARM test cases faster.

R=ishell@chromium.org

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

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

10 years agoAdd Isolate* parameter to static API methods that don't take one.
jochen@chromium.org [Tue, 26 Nov 2013 09:45:17 +0000 (09:45 +0000)]
Add Isolate* parameter to static API methods that don't take one.

We cannot yet deprecate the versions that don't take one, because
there's too much test code in v8 using them. To keep this CL small and
managable, I'll first introduce the new APIs.

BUG=none
R=dcarney@chromium.org, svenpanne@chromium.org
LOG=n

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

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

10 years agoFix generate_trig_table build target.
yangguo@chromium.org [Tue, 26 Nov 2013 08:50:15 +0000 (08:50 +0000)]
Fix generate_trig_table build target.

It now closely resembles the js2c target, so that we only have
one platform to run it on (either 'host' or 'target'). This way
we do not run into warnings when compiling for e.g. ARM.

R=jkummerow@chromium.org

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

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

10 years agoMIPS: Generate TypedArrayInitialize builtin in hydrogen.
palfia@homejinni.com [Mon, 25 Nov 2013 21:25:15 +0000 (21:25 +0000)]
MIPS: Generate TypedArrayInitialize builtin in hydrogen.

Port r18059 (b2849c3)

BUG=
R=dslomov@chromium.org, gergely@homejinni.com

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

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

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

10 years agoMIPS: Minor cleanup in calling interceptors for loading properties.
palfia@homejinni.com [Mon, 25 Nov 2013 21:22:06 +0000 (21:22 +0000)]
MIPS: Minor cleanup in calling interceptors for loading properties.

Port r18054 (59d9d99)

BUG=

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

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

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

10 years agoMIPS: A performance regression in array literal creation was caused by refactoring.
palfia@homejinni.com [Mon, 25 Nov 2013 21:18:59 +0000 (21:18 +0000)]
MIPS: A performance regression in array literal creation was caused by refactoring.

Port r18046 (99c7352)

Original commit message:
A performance regression in array literal creation was caused by refactoring that eliminated a special fast case for shallow arrays. At the same time the general case got a bit slower. This CL restores most of the performance without coding the special fast case. The virtual dispatching is unnecessary because we know what we want to do at compile time. A flag was added to Runtime::CreateArrayLiteral. The flags delivers information about shallowness but also whether or not allocation mementos should be created. This is useful for crankshafted code.

BUG=v8:3008
LOG=Y
R=gergely@homejinni.com

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

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

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

10 years agoARM: Optimize TypeofIsAndBranch
m.m.capewell@googlemail.com [Mon, 25 Nov 2013 19:17:21 +0000 (19:17 +0000)]
ARM: Optimize TypeofIsAndBranch

Optimize register constraints and code generated for TypeofIsAndBranch Lithium
instruction.

TEST=none
BUG=
R=ulan@chromium.org

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

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

10 years agoMake test runner more flexible for running fast tests.
machenbach@chromium.org [Mon, 25 Nov 2013 17:34:52 +0000 (17:34 +0000)]
Make test runner more flexible for running fast tests.

Transformed variant flags into named variants. Now, all combinations of variants can be specified on the command line. The old command-line flags are kept for backwards compatibility on the bots.

Added two new test groups: slow and pass|fail. Both are implemented similar to the flaky test feature and allow to either skip or run tests marked as slow or as pass|fail.

R=yangguo@chromium.org

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

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

10 years agoGenerate TypedArrayInitialize builtin in hydrogen.
dslomov@chromium.org [Mon, 25 Nov 2013 14:41:46 +0000 (14:41 +0000)]
Generate TypedArrayInitialize builtin in hydrogen.

R=danno@chromium.org

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

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

10 years agoAdd versions with an Isolate parameter for inlined API methods that need one
jochen@chromium.org [Mon, 25 Nov 2013 14:30:59 +0000 (14:30 +0000)]
Add versions with an Isolate parameter for inlined API methods that need one

We shouldn't have APIs that call Isolate::GetCurrent() internally. This
change removes all remaining occurrences of inlined methods in v8.h

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

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

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

10 years agoImprove and refactor push-to-trunk script.
machenbach@chromium.org [Mon, 25 Nov 2013 14:20:39 +0000 (14:20 +0000)]
Improve and refactor push-to-trunk script.

Let change log formatter squash title and bug reference. Repair wrongly indented first line in change log. Add automatic rietveld reload of commit messages to enable late corrections.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoDrop unused Assembler::set_external_target_at() method.
bmeurer@chromium.org [Mon, 25 Nov 2013 14:07:05 +0000 (14:07 +0000)]
Drop unused Assembler::set_external_target_at() method.

R=mvstanton@chromium.org

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

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

10 years agoMinor cleanup in calling interceptors for loading properties.
verwaest@chromium.org [Mon, 25 Nov 2013 14:06:06 +0000 (14:06 +0000)]
Minor cleanup in calling interceptors for loading properties.

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/82743003

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

10 years agoFix failing test test-api/CheckCOWArraysCreatedRuntimeCounter
mvstanton@chromium.org [Mon, 25 Nov 2013 13:27:36 +0000 (13:27 +0000)]
Fix failing test test-api/CheckCOWArraysCreatedRuntimeCounter

R=bmeurer@chromium.org

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

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

10 years agoAdd -R option to merge-to-branch script to revert from bleeding_edge.
yangguo@chromium.org [Mon, 25 Nov 2013 12:55:02 +0000 (12:55 +0000)]
Add -R option to merge-to-branch script to revert from bleeding_edge.

Usage:
tools/merge-to-branch.sh -R 12345 12346

R=machenbach@chromium.org

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

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

10 years agoForce inline Math.random.
yangguo@chromium.org [Mon, 25 Nov 2013 12:50:52 +0000 (12:50 +0000)]
Force inline Math.random.

R=svenpanne@chromium.org

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

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

10 years agoA performance regression in array literal creation was caused by refactoring that...
mvstanton@chromium.org [Mon, 25 Nov 2013 12:41:27 +0000 (12:41 +0000)]
A performance regression in array literal creation was caused by refactoring that eliminated a special fast case for shallow arrays. At the same time the general case got a bit slower. This CL restores most of the performance without coding the special fast case. The virtual dispatching is unnecessary because we know what we want to do at compile time. A flag was added to Runtime::CreateArrayLiteral. The flags delivers information about shallowness but also whether or not allocation mementos should be created. This is useful for crankshafted code.

BUG=v8:3008
LOG=Y
R=mstarzinger@chromium.org

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

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

10 years agoEnable global load elimination.
titzer@chromium.org [Mon, 25 Nov 2013 12:21:00 +0000 (12:21 +0000)]
Enable global load elimination.

BUG=
R=hpayer@chromium.org

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

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

10 years agoFixed printer for JSFunction.
svenpanne@chromium.org [Mon, 25 Nov 2013 12:19:02 +0000 (12:19 +0000)]
Fixed printer for JSFunction.

R=verwaest@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.12.
machenbach@chromium.org [Mon, 25 Nov 2013 12:00:44 +0000 (12:00 +0000)]
Prepare push to trunk.  Now working on version 3.23.12.

R=yangguo@chromium.org

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

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

10 years agoUnbreak console=readline.
svenpanne@chromium.org [Mon, 25 Nov 2013 08:36:46 +0000 (08:36 +0000)]
Unbreak console=readline.

R=bmeurer@chromium.org

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

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

10 years agofreebsd: unbreak build after r16646
svenpanne@chromium.org [Mon, 25 Nov 2013 08:15:35 +0000 (08:15 +0000)]
freebsd: unbreak build after r16646

R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

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

10 years agoSupport for the Linux 'perf report' and 'perf annotate' tools.
jarin@chromium.org [Mon, 25 Nov 2013 06:44:23 +0000 (06:44 +0000)]
Support for the Linux 'perf report' and 'perf annotate' tools.

In this change, the support comes in two flavours:

--perf_jit_prof - outputs the files in a new perf format that only works with a
patched perf tool (patch obtained from Stephane Eranian). Both 'perf report' and
'perf annotate' are supported (the file format also contains the machine code).

--perf_basic_prof - outputs the files in a format that the existing perf tool
can consume. Only 'perf report' is supported.

In both cases, we have to disable code compaction because the perf tool does not
understand code relocation. (We are told that code relocation should be
supported soon.)

Usage:

perf record -g d8 --perf_jit_prof --no_compact_code_space my.js
perf report

The change itself is straightforward - we simply listen to code events and
write an entry to a log file for every new piece of code.

I am not yet sure whether we should keep both versions or just one (and which
one). My hope is the reviewers can help here.

R=danno@chromium.org
BUG=

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

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

10 years agoSafe HGraphBuilder::Add<> and New<>
dslomov@chromium.org [Fri, 22 Nov 2013 19:05:21 +0000 (19:05 +0000)]
Safe HGraphBuilder::Add<> and New<>

R=danno@chromium.org

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

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

10 years agoMIPS: Only use Type for compiling load handlers.
palfia@homejinni.com [Fri, 22 Nov 2013 18:55:13 +0000 (18:55 +0000)]
MIPS: Only use Type for compiling load handlers.

Port r18025 (74fc739)

BUG=

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

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

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

10 years agoMIPS: Use Type in CheckPrototypes.
palfia@homejinni.com [Fri, 22 Nov 2013 18:28:44 +0000 (18:28 +0000)]
MIPS: Use Type in CheckPrototypes.

Port r18024 (8956065)

BUG=

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

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

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

10 years agoMIPS: Fix and simplify code aging.
palfia@homejinni.com [Fri, 22 Nov 2013 18:13:52 +0000 (18:13 +0000)]
MIPS: Fix and simplify code aging.

This commit fixes a lot of test failures that we saw earlier in the buildbots (http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20mips%20-%20sim/builds/3034/steps/Check/logs/stdio).

In some very rare cases the code age stub address can be 0xXXXX0000 and in this case the li maco instruction emits only 1 instruction (instead of the expected 2). Thus the code age sequence will be 6 instructions long instead of 7, which breaks the code aging feature. This change makes sure that li always emits 2 instructions and it also simplifies the code aging sequence.

Also fixes a small mistake in the simulator at the jalr instruction.

BUG=
R=gergely@homejinni.com

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

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

10 years agoAdd counters for write barriers in generated code.
mstarzinger@chromium.org [Fri, 22 Nov 2013 17:37:34 +0000 (17:37 +0000)]
Add counters for write barriers in generated code.

R=hpayer@chromium.org

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

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

10 years agoMIPS: Add function declarations missing from r18000.
palfia@homejinni.com [Fri, 22 Nov 2013 16:05:48 +0000 (16:05 +0000)]
MIPS: Add function declarations missing from r18000.

BUG=
R=ulan@chromium.org

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

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

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

10 years agoOnly use Type for compiling load handlers.
verwaest@chromium.org [Fri, 22 Nov 2013 15:08:22 +0000 (15:08 +0000)]
Only use Type for compiling load handlers.

BUG=
R=ishell@chromium.org

Review URL: https://chromiumcodereview.appspot.com/80693002

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

10 years agoUse Type in CheckPrototypes.
verwaest@chromium.org [Fri, 22 Nov 2013 15:06:20 +0000 (15:06 +0000)]
Use Type in CheckPrototypes.

R=ishell@chromium.org

Review URL: https://chromiumcodereview.appspot.com/78023002

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

10 years agoDeprecate old versions of Isolate::SetData and GetData
jochen@chromium.org [Fri, 22 Nov 2013 14:23:32 +0000 (14:23 +0000)]
Deprecate old versions of Isolate::SetData and GetData

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

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

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

10 years agoMake sure files end with exactly one new line and police this in presubmit.
yangguo@chromium.org [Fri, 22 Nov 2013 13:50:39 +0000 (13:50 +0000)]
Make sure files end with exactly one new line and police this in presubmit.

The changes are (excluding presubmit.py) mechanical. I added the following
lines after the check and iterated the presubmit script until all errors
went away:

f = open(name, "w");
if contents.endswith('\n\n'):
  f.write(contents[0:-1])
else:
  f.write(contents + '\n')

R=jkummerow@chromium.org

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

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

10 years agoRepair ChangeLog.
machenbach@chromium.org [Fri, 22 Nov 2013 13:39:55 +0000 (13:39 +0000)]
Repair ChangeLog.

BUG=
R=danno@chromium.org, jkummerow@chromium.org

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

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

10 years agoIntroduce Type::IsCurrently
rossberg@chromium.org [Fri, 22 Nov 2013 13:16:40 +0000 (13:16 +0000)]
Introduce Type::IsCurrently

R=verwaest@chromium.org
BUG=

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

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

10 years agoInvalidate embedded objects in optimized code if it was marked for deoptimization.
ulan@chromium.org [Fri, 22 Nov 2013 13:10:31 +0000 (13:10 +0000)]
Invalidate embedded objects in optimized code if it was marked for deoptimization.

It avoids having dead pointers in code from the time it was marked for deoptimization until it is deoptimized.

BUG=320532,v8:2996
TEST=mjsunit/regress/regress-320532.js
LOG=Y
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/61213012

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

10 years agoRemove usage of deprecated APIs from cctests
jochen@chromium.org [Fri, 22 Nov 2013 12:43:17 +0000 (12:43 +0000)]
Remove usage of deprecated APIs from cctests

Also turn on deprecation warnings

BUG=v8:3023
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

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

10 years agoMinor clean-up of Type::Print
rossberg@chromium.org [Fri, 22 Nov 2013 12:38:49 +0000 (12:38 +0000)]
Minor clean-up of Type::Print

R=verwaest@chromium.org
BUG=

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

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

10 years agoRemove usage of deprecated APIs from d8
jochen@chromium.org [Fri, 22 Nov 2013 12:35:39 +0000 (12:35 +0000)]
Remove usage of deprecated APIs from d8

Also turn on deprecation warnings

BUG=v8:3023
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

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

10 years agoRemove usage of deprecated APIs from v8 itself
jochen@chromium.org [Fri, 22 Nov 2013 12:28:58 +0000 (12:28 +0000)]
Remove usage of deprecated APIs from v8 itself

Also turn on depreaction warnings

BUG=v8:3023
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

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

10 years agoRemove usage of deprecated APIs from samples
jochen@chromium.org [Fri, 22 Nov 2013 12:26:00 +0000 (12:26 +0000)]
Remove usage of deprecated APIs from samples

Also turn on deprecation warnings for samples

BUG=v8:3023
R=dcarney@chromium.org, svenpanne@chromium.org
LOG=n

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

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

10 years agoExclude benchmark tests from presubmit check in a non-git checkout.
yangguo@chromium.org [Fri, 22 Nov 2013 12:21:43 +0000 (12:21 +0000)]
Exclude benchmark tests from presubmit check in a non-git checkout.

R=jkummerow@chromium.org

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

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

10 years agoFix combined string length computation.
bmeurer@chromium.org [Fri, 22 Nov 2013 12:03:01 +0000 (12:03 +0000)]
Fix combined string length computation.

For 31-bit smis, we don't need to explicitly check whether the
combined string length exceeds the max supported string length,
since the value must be converted to a smi at some point (i.e.
when it is stored into the string length field of the resulting
string), which will emit an overflow check.

For 32-bit smis, we insert an explicit check that the combined
string length does not exceed String::kMaxLength.

This also enables to get rid of the JoinContinuation() usage in
BuildUncheckedStringAdd().

BUG=v8:2990
LOG=n
R=mvstanton@chromium.org

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

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

10 years agoGet rid of the binop_stub parameter to BuildBinaryOperation().
bmeurer@chromium.org [Fri, 22 Nov 2013 11:49:04 +0000 (11:49 +0000)]
Get rid of the binop_stub parameter to BuildBinaryOperation().

Just ask the graph builder whether we are compiling a stub.

R=svenpanne@chromium.org

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

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

10 years agoReland "Implement Math.random() purely in JavaScript" plus fixes.
svenpanne@chromium.org [Fri, 22 Nov 2013 11:35:39 +0000 (11:35 +0000)]
Reland "Implement Math.random() purely in JavaScript" plus fixes.

The main change is that a bit has been added to array buffers to
signal that the backing store has to be freed when the buffer dies.

BUG=316359
LOG=Y
R=yangguo@chromium.org

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

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

10 years agoClean up incorrect V8_DEPRECATION macro usage and enable deprecatitions
jochen@chromium.org [Fri, 22 Nov 2013 10:57:55 +0000 (10:57 +0000)]
Clean up incorrect V8_DEPRECATION macro usage and enable deprecatitions

We turn the default for standalone builds on, however, I added overrides
to all targets to turn it locally off again. In follow up CLs, I'll
clean up one target at a time.

BUG=v8:3023
R=dcarney@chromium.org, machenbach@chromium.org
LOG=n

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

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

10 years agoDispose external string resource on heap teardown.
yangguo@chromium.org [Fri, 22 Nov 2013 10:52:15 +0000 (10:52 +0000)]
Dispose external string resource on heap teardown.

R=bmeurer@chromium.org

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

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

10 years agoRestore saved caller FP registers on stub failure
ulan@chromium.org [Fri, 22 Nov 2013 10:21:47 +0000 (10:21 +0000)]
Restore saved caller FP registers on stub failure
and preserve FP registers on NotifyStubFailure.

In debug mode, clobber FP registers on each runtime call to increase
chances of catching such bugs.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/78283002

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

10 years agoPrepare push to trunk. Now working on version 3.23.11.
machenbach@chromium.org [Fri, 22 Nov 2013 10:04:04 +0000 (10:04 +0000)]
Prepare push to trunk.  Now working on version 3.23.11.

R=danno@chromium.org

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

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

10 years agoSync svn:ignore with .gitignore on trunk/test/* and bleeding_edge/test/*
jkummerow@chromium.org [Fri, 22 Nov 2013 09:56:59 +0000 (09:56 +0000)]
Sync svn:ignore with .gitignore on trunk/test/* and bleeding_edge/test/*

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

10 years agoPythonification and refactoring of push-to-trunk.
machenbach@chromium.org [Fri, 22 Nov 2013 09:48:43 +0000 (09:48 +0000)]
Pythonification and refactoring of push-to-trunk.

R=jkummerow@chromium.org

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

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

10 years agoCorrectly change test expectations.
yangguo@chromium.org [Fri, 22 Nov 2013 08:40:38 +0000 (08:40 +0000)]
Correctly change test expectations.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoReland: Embed trigonometric lookup table.
yangguo@chromium.org [Fri, 22 Nov 2013 08:25:50 +0000 (08:25 +0000)]
Reland: Embed trigonometric lookup table.

R=danno@chromium.org

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

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

10 years agoMake auto-roll testable.
machenbach@chromium.org [Fri, 22 Nov 2013 07:56:00 +0000 (07:56 +0000)]
Make auto-roll testable.

Refactor the mock code for easier reuse. Mock out web requests.

TEST=python -m unittest test_scripts
BUG=
R=ulan@chromium.org

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

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

10 years agoPretenuring calculation fields in AllocationSite.
mvstanton@chromium.org [Fri, 22 Nov 2013 07:34:21 +0000 (07:34 +0000)]
Pretenuring calculation fields in AllocationSite.

AllocationSite-based pretenuring needs additional fields to carry out
calculations.

R=hpayer@chromium.org

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

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

10 years agoRework BuildCheckString() to be compatible with the other BuildCheck*() methods.
bmeurer@chromium.org [Fri, 22 Nov 2013 07:27:26 +0000 (07:27 +0000)]
Rework BuildCheckString() to be compatible with the other BuildCheck*() methods.

R=svenpanne@chromium.org

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

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

10 years agoRevert "Use %_IsSmi instead of %MaxSmi."
yangguo@chromium.org [Thu, 21 Nov 2013 18:47:51 +0000 (18:47 +0000)]
Revert "Use %_IsSmi instead of %MaxSmi."

This reverts r17983.

TBR=danno@chromium.org

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

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

10 years agoUse %_IsSmi instead of %MaxSmi.
yangguo@chromium.org [Thu, 21 Nov 2013 17:55:03 +0000 (17:55 +0000)]
Use %_IsSmi instead of %MaxSmi.

ToPositiveInteger already makes sure that if l can be represented as a
smi, it will be represented as a smi.  This way we can avoid doing a
runtime call to retrieve a constant.

R=dslomov@chromium.org

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

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

10 years agoRevert 17963, 17962 and 17955: Random number generator in JS changes
danno@chromium.org [Thu, 21 Nov 2013 17:21:00 +0000 (17:21 +0000)]
Revert 17963, 17962 and 17955: Random number generator in JS changes

Revert 17966, 17965 also as collateral damage: Embed trigonometric lookup table.

Due to Heapcheck and valgrind failures that are not yet fixed.

TBR=svenpanne@chromium.org

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

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

10 years agoCode object now prints its major_key when applicable.
ishell@chromium.org [Thu, 21 Nov 2013 16:55:16 +0000 (16:55 +0000)]
Code object now prints its major_key when applicable.

R=jkummerow@chromium.org

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

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

10 years agoAdd clang-format configuration file and set coding style to "Google"
jochen@chromium.org [Thu, 21 Nov 2013 16:02:31 +0000 (16:02 +0000)]
Add clang-format configuration file and set coding style to "Google"

c.f. https://code.google.com/p/v8/wiki/Contributing

BUG=none
R=jkummerow@chromium.org, machenbach@chromium.org
LOG=n

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

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

10 years agoMIPS: Optimize AccessArgumentsAt.
plind44@gmail.com [Thu, 21 Nov 2013 15:15:50 +0000 (15:15 +0000)]
MIPS: Optimize AccessArgumentsAt.

Port r17923 (837f909)

Original commit message:
Optimize register constraints and code generated for AccessArgumentsAt Lithium instruction.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoReland r17877 - Introduce a v8::Platform class that bundles embedder callbacks
jochen@chromium.org [Thu, 21 Nov 2013 14:07:06 +0000 (14:07 +0000)]
Reland r17877 - Introduce a v8::Platform class that bundles embedder callbacks

Over the initial commit, this CL moves the lifetime management of the default
platform to v8.cc from api.cc

R=bmeurer@chromium.org, svenpanne@chromium.org
BUG=v8:3015
LOG=n

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

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

10 years agoRemove preemption thread and API
jochen@chromium.org [Thu, 21 Nov 2013 13:47:37 +0000 (13:47 +0000)]
Remove preemption thread and API

BUG=v8:3004
R=svenpanne@chromium.org, yangguo@chromium.org
LOG=y

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

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

10 years agoFix build.
yangguo@chromium.org [Thu, 21 Nov 2013 13:30:14 +0000 (13:30 +0000)]
Fix build.

R=jkummerow@chromium.org

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

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

10 years agoEmbed trigonometric lookup table.
yangguo@chromium.org [Thu, 21 Nov 2013 12:57:23 +0000 (12:57 +0000)]
Embed trigonometric lookup table.

R=svenpanne@chromium.org

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

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

10 years agoUse Marsaglia's original random number generator.
svenpanne@chromium.org [Thu, 21 Nov 2013 12:34:34 +0000 (12:34 +0000)]
Use Marsaglia's original random number generator.

BUG=316359
LOG=Y
R=bmeurer@chromium.org

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

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

10 years agoBuild fix.
svenpanne@chromium.org [Thu, 21 Nov 2013 12:07:17 +0000 (12:07 +0000)]
Build fix.

We should better initialize the random state even for non-snapshot
builds...

R=bmeurer@chromium.org

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

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

10 years agoImplement Math.random() purely in JavaScript.
svenpanne@chromium.org [Thu, 21 Nov 2013 09:55:15 +0000 (09:55 +0000)]
Implement Math.random() purely in JavaScript.

This removes tons of architecture-specific code and makes it easy to
experiment with other pseudo-RNG algorithms. The crankshafted code is
extremely good, keeping all things unboxed and doing only minimal
checks, so it is basically equivalent to the handwritten code.

When benchmarks are run without parallel recompilation, we get a few
percent regression on SunSpider's string-validate-input and
string-base64, but these benchmarks run so fast that the overall
SunSpider score is hardly affected and within the usual jitter. Note
that these benchmarks actually run even faster when we don't
crankshaft at all on the main thread (the regression is not caused by
bad code, it is caused by Crankshaft needing a few hundred microsecond
for compilation of a trivial function). Luckily, when parallel
recompilation is enabled, i.e. in the browser, we see no regression at
all!

R=mstarzinger@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.10.
machenbach@chromium.org [Thu, 21 Nov 2013 09:47:23 +0000 (09:47 +0000)]
Prepare push to trunk.  Now working on version 3.23.10.

R=jkummerow@chromium.org, danno@chromium.org

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

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

10 years agoLet ChangeLog get auto-generated in push-to-trunk script.
machenbach@chromium.org [Thu, 21 Nov 2013 09:35:25 +0000 (09:35 +0000)]
Let ChangeLog get auto-generated in push-to-trunk script.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoDo deferred migration of maps after deoptimizing once.
hpayer@chromium.org [Thu, 21 Nov 2013 09:16:34 +0000 (09:16 +0000)]
Do deferred migration of maps after deoptimizing once.

BUG=
R=verwaest@chromium.org

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

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

10 years agoFix Windows build for real
jkummerow@chromium.org [Thu, 21 Nov 2013 08:59:15 +0000 (08:59 +0000)]
Fix Windows build for real

R=svenpanne@chromium.org

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

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

10 years agoFix Windows build
jkummerow@chromium.org [Thu, 21 Nov 2013 08:38:51 +0000 (08:38 +0000)]
Fix Windows build

R=svenpanne@chromium.org

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

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

10 years agoAPI: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t instead
jkummerow@chromium.org [Thu, 21 Nov 2013 08:06:02 +0000 (08:06 +0000)]
API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t instead
of intptr_t

This prevents an overflow in FreeArrayBuffer, which in turn caused needless GCs
as well as crashes on isolate teardown.

LOG=Y
R=ulan@chromium.org

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

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

10 years agoRemoved dead stack printing code.
svenpanne@chromium.org [Thu, 21 Nov 2013 07:08:24 +0000 (07:08 +0000)]
Removed dead stack printing code.

R=verwaest@chromium.org

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

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

10 years agoMIPS: Improvement of “MIPS: Fixed crashes exposed though fuzzing.” (r17886).
plind44@gmail.com [Wed, 20 Nov 2013 19:33:50 +0000 (19:33 +0000)]
MIPS: Improvement of “MIPS: Fixed crashes exposed though fuzzing.” (r17886).

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Use SmiTst and TrySmiTag MacroAssembler instructions.
plind44@gmail.com [Wed, 20 Nov 2013 19:01:33 +0000 (19:01 +0000)]
MIPS: Use SmiTst and TrySmiTag MacroAssembler instructions.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Replace hard-coded stack frame size literals with StandardFrameConstants::kFixe...
plind44@gmail.com [Wed, 20 Nov 2013 18:22:18 +0000 (18:22 +0000)]
MIPS: Replace hard-coded stack frame size literals with StandardFrameConstants::kFixedFrameSizeFromFp.

Port r17925 (0b95731)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMark flaky debug test as failing.
yangguo@chromium.org [Wed, 20 Nov 2013 17:09:17 +0000 (17:09 +0000)]
Mark flaky debug test as failing.

The issues are known. For the time being, we mark it as failing.

R=machenbach@chromium.org
BUG=v8:2921, v8:3005
LOG=N

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

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

10 years agoMIPS: Remove the first_right_arg hack for HMod.
plind44@gmail.com [Wed, 20 Nov 2013 17:02:12 +0000 (17:02 +0000)]
MIPS: Remove the first_right_arg hack for HMod.

Port r17919 (23e9644)

Original commit message:
Generate a proper subgraph in BuildBinaryOperation instead.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoReland r17907 - Make it possible to add more than one piece of embedder data to isolates"
jochen@chromium.org [Wed, 20 Nov 2013 15:16:18 +0000 (15:16 +0000)]
Reland r17907 - Make it possible to add more than one piece of embedder data to isolates"

This will allow for using gin and blink bindings in the same
process.

Over r17907, I changed the order of fields in Isolate to be stable across different platforms, since the ABI defined packing is not the same on
all targets, and I initialize the embedder data field in Isolate.

BUG=317398
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

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

10 years agoUpdate benchmark test suite.
yangguo@chromium.org [Wed, 20 Nov 2013 15:05:52 +0000 (15:05 +0000)]
Update benchmark test suite.

R=jkummerow@chromium.org

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

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

10 years agoIncrease precision when finding the remainder after division by pi/2.
yangguo@chromium.org [Wed, 20 Nov 2013 15:04:37 +0000 (15:04 +0000)]
Increase precision when finding the remainder after division by pi/2.

R=jkummerow@chromium.org

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

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

10 years agoDo not recompile existing functions when enabling allocation tracking
yurys@chromium.org [Wed, 20 Nov 2013 14:57:39 +0000 (14:57 +0000)]
Do not recompile existing functions when enabling allocation tracking

Now that we don't have special hooks for the allocations in the generated code there is no need to recompile existing functions when enabling allocation tracking.

BUG=chromium:27798
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org

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

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

10 years agoRe-enable EnsureAllocationSiteDependentCodesProcessed.
mvstanton@chromium.org [Wed, 20 Nov 2013 14:20:07 +0000 (14:20 +0000)]
Re-enable EnsureAllocationSiteDependentCodesProcessed.

The problem was that we don't use crankshaft on non-sse2 builds.
(on ARM non-vfp3).

R=danno@chromium.org

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

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

10 years agoMaterializedLiteral expressions need to cache expression depth.
mvstanton@chromium.org [Wed, 20 Nov 2013 14:17:47 +0000 (14:17 +0000)]
MaterializedLiteral expressions need to cache expression depth.

A problem arises in recursive literal expressions due to recent
changes that defer allocation of constant literal properties
from parse time. We were calculating expression depth as a
side-effect of a lazy constant property build, but subsequent
calls for the depth always returned 1. Cache the correct depth
in the MaterializedLiteral instead.

(Related-to/very-partial-revert-of
https://codereview.chromium.org/61873003)

R=ulan@chromium.org

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

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