platform/upstream/v8.git
10 years agoA64: Remove a couple of already addressed TODOs.
baptiste.afsa@arm.com [Fri, 21 Feb 2014 15:34:39 +0000 (15:34 +0000)]
A64: Remove a couple of already addressed TODOs.

R=jochen@chromium.org

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

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

10 years agoA64: Tidy up register use in TaggedToI
m.m.capewell@googlemail.com [Fri, 21 Feb 2014 11:36:04 +0000 (11:36 +0000)]
A64: Tidy up register use in TaggedToI

Fix bug where input register was potentially corrupted, tidy up register use in
TruncateDoubleToI and rename TryInlineTruncateDoubleToI.

BUG=
R=ulan@chromium.org

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

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

10 years agoInitialize interface descriptor for ToNumberStub.
mstarzinger@chromium.org [Fri, 21 Feb 2014 11:19:32 +0000 (11:19 +0000)]
Initialize interface descriptor for ToNumberStub.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoA64: Increase the margin for veneer checks.
alexandre.rames@arm.com [Fri, 21 Feb 2014 09:32:57 +0000 (09:32 +0000)]
A64: Increase the margin for veneer checks.

BUG=v8:3168
LOG=N
R=ulan@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.2.
machenbach@chromium.org [Fri, 21 Feb 2014 08:10:06 +0000 (08:10 +0000)]
Prepare push to trunk.  Now working on version 3.25.2.

R=yangguo@chromium.org
TBR=yangguo@chromium.org

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

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

10 years agoRemove bogus ASSERTs
danno@chromium.org [Thu, 20 Feb 2014 21:55:45 +0000 (21:55 +0000)]
Remove bogus ASSERTs

R=verwaest@chromium.org

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

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

10 years agoMIPS: Add flag for testing long branch mode.
plind44@gmail.com [Thu, 20 Feb 2014 21:03:26 +0000 (21:03 +0000)]
MIPS: Add flag for testing long branch mode.

TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

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

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

10 years agoEnsure that the worker pool is running if we intend to use it
jochen@chromium.org [Thu, 20 Feb 2014 19:32:27 +0000 (19:32 +0000)]
Ensure that the worker pool is running if we intend to use it

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

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

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

10 years agoUse holder dictionary-mode to detect FAST or NORMAL
verwaest@chromium.org [Thu, 20 Feb 2014 17:57:22 +0000 (17:57 +0000)]
Use holder dictionary-mode to detect FAST or NORMAL

BUG=
R=ishell@chromium.org

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

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

10 years agoMIPS: Fix clz implementation of the simulator.
plind44@gmail.com [Thu, 20 Feb 2014 17:18:57 +0000 (17:18 +0000)]
MIPS: Fix clz implementation of the simulator.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoA64: Improve the deoptimization helpers to generate fewer instructions.
alexandre.rames@arm.com [Thu, 20 Feb 2014 16:40:53 +0000 (16:40 +0000)]
A64: Improve the deoptimization helpers to generate fewer instructions.

R=jochen@chromium.org

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

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

10 years agoRefactoring: Extract low-level git from push and merge scripts.
machenbach@chromium.org [Thu, 20 Feb 2014 16:39:41 +0000 (16:39 +0000)]
Refactoring: Extract low-level git from push and merge scripts.

- This adds a python layer on top of the low-level git calls to control parameter passing and return values.
- This also fixes a bug in FindLastTrunkPush that only shows up in manual mode when the last push versions are iterated.
- The order of some parameters changed in some git calls in the tests to be uniform.

BUG=
R=ulan@chromium.org

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

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

10 years agoFix tools/cross_build_gcc.sh.
jacob.bramley@arm.com [Thu, 20 Feb 2014 16:37:40 +0000 (16:37 +0000)]
Fix tools/cross_build_gcc.sh.

The cross_build_gcc.sh script didn't set LINK, so cross builds would
fail at the last step.

BUG=
R=ulan@chromium.org

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

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

10 years agoRemove the unused LoadInitialArrayMap.
jacob.bramley@arm.com [Thu, 20 Feb 2014 16:36:53 +0000 (16:36 +0000)]
Remove the unused LoadInitialArrayMap.

BUG=
R=ulan@chromium.org

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

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

10 years agoRemove ASSERT related to major-key, it's not given that they match.
verwaest@chromium.org [Thu, 20 Feb 2014 16:35:25 +0000 (16:35 +0000)]
Remove ASSERT related to major-key, it's not given that they match.

BUG=
R=ishell@chromium.org

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

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

10 years agoDon't turn objects with empty-string properties into fast-mode.
verwaest@chromium.org [Thu, 20 Feb 2014 16:11:48 +0000 (16:11 +0000)]
Don't turn objects with empty-string properties into fast-mode.

R=ishell@chromium.org

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

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

10 years agoUse ComputeHandlerFlags to find handlers, rather than manually encoding.
verwaest@chromium.org [Thu, 20 Feb 2014 12:40:34 +0000 (12:40 +0000)]
Use ComputeHandlerFlags to find handlers, rather than manually encoding.

BUG=
R=ishell@chromium.org

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

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

10 years agoRe-enable Parser::symbol_cache_ (after a long time!)
marja@chromium.org [Thu, 20 Feb 2014 11:35:37 +0000 (11:35 +0000)]
Re-enable Parser::symbol_cache_ (after a long time!)

The Parser never used the symbol stream produced by the PreParser for anything
useful, due to a bug introduced 3.5 years ago by
https://codereview.chromium.org/3356010/diff/7001/src/parser.cc.

The bug is that calling Initialize on symbol_cache_ doesn't change its
length. So the length remains 0, and the "if" in Parser::LookupSymbol is always
true, and Parser::LookupCachedSymbol is never called and symbol_cache_ never
filled.

This bug also masked a bug that the symbol stream produced by PreParser doesn't
match what Parser wants to consume. The repro case is the following:

var myo = {if: 4}; print(myo.if);

PreParser doesn't log a symbol for the first "if", but in the corresponding
place, Parser consumes one symbol from the symbol stream. Since the consumed
symbols were never really used, this mismatch went unnoticed.

This CL also fixes that bug.

BUG=
R=ulan@chromium.org

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

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

10 years agoA64: Port recent ARM optimizations in LCodeGen::DoAccessArgumentsAt.
baptiste.afsa@arm.com [Thu, 20 Feb 2014 11:22:33 +0000 (11:22 +0000)]
A64: Port recent ARM optimizations in LCodeGen::DoAccessArgumentsAt.

R=jochen@chromium.org

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

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

10 years agoA64: Fix int32 use in Lithium string functions
m.m.capewell@googlemail.com [Thu, 20 Feb 2014 10:08:04 +0000 (10:08 +0000)]
A64: Fix int32 use in Lithium string functions

Assert register sizes in StringCharLoadGenerator, and fix char_code comparison
in DoStringCharFromCode.

BUG=
R=jochen@chromium.org

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

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

10 years agoFix options in push-to-trunk script.
machenbach@chromium.org [Thu, 20 Feb 2014 08:06:11 +0000 (08:06 +0000)]
Fix options in push-to-trunk script.

BUG=
TBR=ulan@chromium.org

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

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

10 years agoMIPS: Fix performance regression on sunspider string-unpack-code.
plind44@gmail.com [Wed, 19 Feb 2014 18:30:22 +0000 (18:30 +0000)]
MIPS: Fix performance regression on sunspider string-unpack-code.

Regression surfaced with r19009, but latent error was present since
r17767.

BUG=
R=dusan.milosavljevic@rt-rk.com

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

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

10 years agoMIPS: Harmony: optimize Math.clz32.
plind44@gmail.com [Wed, 19 Feb 2014 18:16:06 +0000 (18:16 +0000)]
MIPS: Harmony: optimize Math.clz32.

Port r19487 (bd8c70f)

BUG=v8:2938
LOG=N
R=plind44@gmail.com

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

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

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

10 years agoFix template copy constructor in zone_allocator
danno@chromium.org [Wed, 19 Feb 2014 16:35:19 +0000 (16:35 +0000)]
Fix template copy constructor in zone_allocator

R=rossberg@chromium.org

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

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

10 years agoA64: Introduce 'branch types' that extend the architectural conditions.
alexandre.rames@arm.com [Wed, 19 Feb 2014 16:13:09 +0000 (16:13 +0000)]
A64: Introduce 'branch types' that extend the architectural conditions.

The branch types include 'always' and 'never', and types like reg_zero (CBZ) and
reg_bit_clear (TBZ).
This will be used by incoming improvements to the code generated for
deoptimization exit points.

R=ulan@chromium.org

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

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

10 years agoA64: Fix compilation with clang
jochen@chromium.org [Wed, 19 Feb 2014 15:20:15 +0000 (15:20 +0000)]
A64: Fix compilation with clang

The size_ member is only used in debug mode, so we should only define
it in debug mode.

BUG=none
R=rodolph.perfetta@arm.com, ulan@chromium.org
LOG=n

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

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

10 years agoRefactoring: Extract git checks in push and merge scripts.
machenbach@chromium.org [Wed, 19 Feb 2014 14:56:19 +0000 (14:56 +0000)]
Refactoring: Extract git checks in push and merge scripts.

This extracts the pattern "if call git fails: raise exception", which is spread all over the place. Now all calls to git are required to return gracefully and give a uniform exception message if they don't.

BUG=
R=ulan@chromium.org

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

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

10 years agoRe-enable fast/js/reserved-words-as-property.html.
marja@chromium.org [Wed, 19 Feb 2014 14:53:14 +0000 (14:53 +0000)]
Re-enable fast/js/reserved-words-as-property.html.

Error message migration is done and Blink has updated the expected result.

R=yangguo@chromium.org, ulan@chromium.org
BUG=v8:3126
LOG=N

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

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

10 years agoAdd comments about lazy parsing and lazy compilation.
marja@chromium.org [Wed, 19 Feb 2014 14:50:33 +0000 (14:50 +0000)]
Add comments about lazy parsing and lazy compilation.

Also rename is_lazily_compiled in (Pre)Parser; it really means "is lazily
parsed" and doesn't correspond to the lazy compilation decision.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoA64: Fix r19474: Tidy up Push and Pop TODOs.
jacob.bramley@arm.com [Wed, 19 Feb 2014 14:37:18 +0000 (14:37 +0000)]
A64: Fix r19474: Tidy up Push and Pop TODOs.

This fixes some snapshot=off, debug-mode regressions.

  - Call CheckConstPool when entering InsturctionAccurateScopes. This
    fixes a problem in PushMultipleTimes where 'count' is very high.
    Each call to PushHelper starts an InstructionAccurateScope
    immediately after the last one finishes, with no opportunity for the
    constant pool to be generated.

  - Temporarily disable AssertStackConsistency in PrepareForPush. This
    assertion seems to push the code size too far, and several cctests
    (intermittently) fail due to buffer size limitations. I would like
    to renable this assertion later.

BUG=
R=ulan@chromium.org

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

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

10 years agoUpgrade Symbol implementation to match current ES6 behavior.
rossberg@chromium.org [Wed, 19 Feb 2014 14:19:42 +0000 (14:19 +0000)]
Upgrade Symbol implementation to match current ES6 behavior.

Refresh the implementation of Symbols to catch up with what the
specification now mandates:

* The global Symbol() function manufactures new Symbol values,
  optionally with a string description attached.

* Invoking Symbol() as a constructor will now throw.

* ToString() over Symbol values still throws, and
  Object.prototype.toString() stringifies like before.

* A Symbol value is wrapped in a Symbol object either implicitly if
  it is the receiver, or explicitly done via Object(symbolValue) or
  (new Object(symbolValue).)

* The Symbol.prototype.toString() method no longer throws on Symbol
  wrapper objects (nor Symbol values.) Ditto for Symbol.prototype.valueOf().

* Symbol.prototype.toString() stringifies as "Symbol("<description>"),
  valueOf() returns the wrapper's Symbol value.

* ToPrimitive() over Symbol wrapper objects now throws.

Overall, this provides a stricter separation between Symbol values and
wrapper objects than before, and the explicit fetching out of the
description (nee name) via the "name" property is no longer supported
(by the spec nor the implementation.)

Adjusted existing Symbol test files to fit current, adding some extra
tests for new/changed behavior.

LOG=N
R=arv@chromium.org, rossberg@chromium.org, arv, rossberg
BUG=v8:3053

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

Patch from Sigbjorn Finne <sigbjornf@opera.com>.

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

10 years agoClean up weak objects in optimized code.
ulan@chromium.org [Wed, 19 Feb 2014 14:03:48 +0000 (14:03 +0000)]
Clean up weak objects in optimized code.
This prepares for weak objects in IC stubs.

R=svenpanne@chromium.org

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

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

10 years agoRevert "Second attempt at introducing a premonomorphic state in the call"
mvstanton@chromium.org [Wed, 19 Feb 2014 13:55:25 +0000 (13:55 +0000)]
Revert "Second attempt at introducing a premonomorphic state in the call"

This reverts commits r19463 and r19457 (includes MIPS port), there was a
Sunspider perf issue and on reflection we can achieve the necessary
result in a new way.

TBR=verwaest@chromium.org

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

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

10 years agoHarmony: optimize Math.clz32.
yangguo@chromium.org [Wed, 19 Feb 2014 13:51:49 +0000 (13:51 +0000)]
Harmony: optimize Math.clz32.

R=svenpanne@chromium.org
BUG=v8:2938
LOG=N

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

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

10 years agoHarmony: implement Math.cbrt, Math.expm1 and Math.log1p.
yangguo@chromium.org [Wed, 19 Feb 2014 13:49:59 +0000 (13:49 +0000)]
Harmony: implement Math.cbrt, Math.expm1 and Math.log1p.

BUG=v8:2938
LOG=N
R=jarin@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.1.
machenbach@chromium.org [Wed, 19 Feb 2014 13:44:17 +0000 (13:44 +0000)]
Prepare push to trunk.  Now working on version 3.25.1.

R=danno@chromium.org
TBR=danno@chromium.org

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

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

10 years agoRetrieve bleeding edge push revision from trunk commit message.
machenbach@chromium.org [Wed, 19 Feb 2014 13:40:30 +0000 (13:40 +0000)]
Retrieve bleeding edge push revision from trunk commit message.

This is part of moving towards an lkgr-push script and prepares the deprecation of the prepare push commit.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoBugfix in check elimination with a regression test.
ishell@chromium.org [Wed, 19 Feb 2014 12:34:50 +0000 (12:34 +0000)]
Bugfix in check elimination with a regression test.

R=verwaest@chromium.org

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

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

10 years agoFix cornercase in r19475
jkummerow@chromium.org [Wed, 19 Feb 2014 12:30:10 +0000 (12:30 +0000)]
Fix cornercase in r19475

R=svenpanne@chromium.org

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

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

10 years agoES6: Tighten up Object.prototype.__proto__
rossberg@chromium.org [Wed, 19 Feb 2014 11:59:05 +0000 (11:59 +0000)]
ES6: Tighten up Object.prototype.__proto__

The spec requires that we throw under certain conditions.

BUG=v8:3064
LOG=y
R=rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

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

10 years agoRefactor persisting state in push and merge scripts.
machenbach@chromium.org [Wed, 19 Feb 2014 11:56:48 +0000 (11:56 +0000)]
Refactor persisting state in push and merge scripts.

- The backed state dict is now persisted and restored in the step template as a json file
- All explicit persist/restore calls are removed
- Added testing an unexpected script failure + restart with state recovery to the merge-to-branch test
- This CL is not changing external behavior of the scripts

BUG=
R=ulan@chromium.org

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

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

10 years agoNarrows predicate for type bounds
rossberg@chromium.org [Wed, 19 Feb 2014 10:52:06 +0000 (10:52 +0000)]
Narrows predicate for type bounds

R=danno@chromium.org
BUG=

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

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

10 years agoFix Hydrogen bounds check elimination
jkummerow@chromium.org [Wed, 19 Feb 2014 10:30:39 +0000 (10:30 +0000)]
Fix Hydrogen bounds check elimination

When combining bounds checks, they must all be moved before the first load/store
that they are guarding.

BUG=chromium:344186
LOG=y
R=svenpanne@chromium.org

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

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

10 years agoA64: Tidy up Push and Pop TODOs.
jacob.bramley@arm.com [Wed, 19 Feb 2014 09:43:45 +0000 (09:43 +0000)]
A64: Tidy up Push and Pop TODOs.

This addresses several TODOs:
  - Push and Pop requests can be queued up so that arrays of Registers
    can be pushed efficiently, with just one PrepareForPush/Pop.
  - PushMultipleTimes now takes an Operand. This allows variable-length
    arguments arrays to be initialized, for example.
  - A NoUseRealAbortsScope has been added to Abort so that
    AssertStackConsistency can be called from PrepareForPush without
    introducing infinite recursion.

BUG=
R=rmcilroy@chromium.org, ulan@chromium.org

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

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

10 years agoA64: Remove early_exit unused mechanism in CompareMap.
baptiste.afsa@arm.com [Wed, 19 Feb 2014 09:38:45 +0000 (09:38 +0000)]
A64: Remove early_exit unused mechanism in CompareMap.

R=jochen@chromium.org, ulan@chromium.org

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

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

10 years agoA64: Replace a Cmp/Branch sequence by a conditional compare.
baptiste.afsa@arm.com [Wed, 19 Feb 2014 09:37:07 +0000 (09:37 +0000)]
A64: Replace a Cmp/Branch sequence by a conditional compare.

R=jochen@chromium.org, ulan@chromium.org

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

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

10 years agoDo not emit receiver map in CheckPrototypes.
ulan@chromium.org [Wed, 19 Feb 2014 09:24:44 +0000 (09:24 +0000)]
Do not emit receiver map in CheckPrototypes.

BUG=
R=verwaest@chromium.org

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

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

10 years agoMakefile: don't force -Dv8_optimized_debug=0 unnecessarily
jkummerow@chromium.org [Wed, 19 Feb 2014 08:56:16 +0000 (08:56 +0000)]
Makefile: don't force -Dv8_optimized_debug=0 unnecessarily

R=machenbach@chromium.org

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

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

10 years ago(Pre)Parser: Move ParseExpression and ParseArrayLiteral to ParserBase.
marja@chromium.org [Wed, 19 Feb 2014 08:56:11 +0000 (08:56 +0000)]
(Pre)Parser: Move ParseExpression and ParseArrayLiteral to ParserBase.

Notes:
- The functions already did the same thing -> no changes in logic.
- One less glue function needed now.

R=ulan@chromium.org
BUG=v8:3126
LOG=N

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

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

10 years agoFix zone_allocator to support comparison
jkummerow@chromium.org [Wed, 19 Feb 2014 08:28:14 +0000 (08:28 +0000)]
Fix zone_allocator to support comparison

R=danno@chromium.org

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

Patch from Daniel Clifford <danno@chromium.org>.

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

10 years agoFast-forward version number on bleeding_edge to 3.25.0
machenbach@chromium.org [Wed, 19 Feb 2014 08:25:30 +0000 (08:25 +0000)]
Fast-forward version number on bleeding_edge to 3.25.0

BUG=
R=danno@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.41.
machenbach@chromium.org [Wed, 19 Feb 2014 01:05:18 +0000 (01:05 +0000)]
Prepare push to trunk.  Now working on version 3.24.41.

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

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

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

10 years agoMIPS: Second attempt at introducing a premonomorphic state in the call target caches.
plind44@gmail.com [Tue, 18 Feb 2014 19:29:56 +0000 (19:29 +0000)]
MIPS: Second attempt at introducing a premonomorphic state in the call target caches.

Port: r19457 (9d8d5f3)

Original commit message:
This time we don't go through the premonomorphic state for
the Array call target caches to avoid losing information from
allocation sites that aren't only used once, but where the
resulting array is used heavily.

Patch from Kasper Lund <kasperl@chromium.org>.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoA64: Fix WrapReceiver corrupting receiver register
m.m.capewell@googlemail.com [Tue, 18 Feb 2014 17:42:49 +0000 (17:42 +0000)]
A64: Fix WrapReceiver corrupting receiver register

BUG=
R=ulan@chromium.org

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

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

10 years agoA64: Let the Simulator trap BLR XZR instructions.
alexandre.rames@arm.com [Tue, 18 Feb 2014 17:10:04 +0000 (17:10 +0000)]
A64: Let the Simulator trap BLR XZR instructions.

This instruction is used as a guard for the constant pool.

R=ulan@chromium.org

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

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

10 years agoAdd filler at the new space top when forcing scavenge.
jarin@chromium.org [Tue, 18 Feb 2014 16:34:52 +0000 (16:34 +0000)]
Add filler at the new space top when forcing scavenge.

We only seem to force scavenge in our cctest test suite, so this is
expected to fix some flakiness in our tests, but it will not
improve stability of v8 itself.

R=hpayer@chromium.org
BUG=

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

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

10 years agoMIPS: Reland "Allow ICs to be generated for own global proxy."
plind44@gmail.com [Tue, 18 Feb 2014 16:14:14 +0000 (16:14 +0000)]
MIPS: Reland "Allow ICs to be generated for own global proxy."

Port r19430 (70bb668)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoDevTools: Drop kSinTable dependency off the heap profiler ArrayBuffer backing_store...
alph@chromium.org [Tue, 18 Feb 2014 15:57:44 +0000 (15:57 +0000)]
DevTools: Drop kSinTable dependency off the heap profiler ArrayBuffer backing_store test

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

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

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

10 years agoSecond attempt at introducing a premonomorphic state in the call
mvstanton@chromium.org [Tue, 18 Feb 2014 15:33:34 +0000 (15:33 +0000)]
Second attempt at introducing a premonomorphic state in the call
target caches.

This time we don't go through the premonomorphic state for
the Array call target caches to avoid losing information from
allocation sites that aren't only used once, but where the
resulting array is used heavily.

R=mvstanton@chromium.org

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

Patch from Kasper Lund <kasperl@chromium.org>.

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

10 years agoA64: Minor code generation improvement: only load the object map if needed.
alexandre.rames@arm.com [Tue, 18 Feb 2014 15:14:23 +0000 (15:14 +0000)]
A64: Minor code generation improvement: only load the object map if needed.

R=ulan@chromium.org

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

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

10 years agoLoad target types and handlers before IC computation.
ulan@chromium.org [Tue, 18 Feb 2014 15:12:58 +0000 (15:12 +0000)]
Load target types and handlers before IC computation.

BUG=
R=verwaest@chromium.org

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

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

10 years agoFix compile on Windows
alph@chromium.org [Tue, 18 Feb 2014 14:21:09 +0000 (14:21 +0000)]
Fix compile on Windows

TBR=yurys@chromium.org,dslomov@chromium.org
LOG=N

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

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

10 years agoFix merge-to-branch options.
machenbach@chromium.org [Tue, 18 Feb 2014 14:17:08 +0000 (14:17 +0000)]
Fix merge-to-branch options.

BUG=
TBR=ulan@chromium.org

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

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

10 years agoFix merge-to-branch python port.
machenbach@chromium.org [Tue, 18 Feb 2014 14:05:59 +0000 (14:05 +0000)]
Fix merge-to-branch python port.

This fixes a forgotten parameter when calling the script's toplevel method and adds the same usage message as in the bash script.

BUG=
TBR=ulan@chromium.org

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

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

10 years agoFix compile error.
alph@chromium.org [Tue, 18 Feb 2014 13:56:07 +0000 (13:56 +0000)]
Fix compile error.

LOG=N
TBR=yurys@chromium.org,dslomov@chromium.org

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

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

10 years agoFix merge-to-branch imports.
machenbach@chromium.org [Tue, 18 Feb 2014 13:51:46 +0000 (13:51 +0000)]
Fix merge-to-branch imports.

BUG=
TBR=ulan@chromium.org

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

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

10 years agoA64: Fix compiler warning in r19444.
jacob.bramley@arm.com [Tue, 18 Feb 2014 13:51:24 +0000 (13:51 +0000)]
A64: Fix compiler warning in r19444.

BUG=
R=jochen@chromium.org

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

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

10 years agoMake merge-to-branch python port executable
machenbach@chromium.org [Tue, 18 Feb 2014 13:47:56 +0000 (13:47 +0000)]
Make merge-to-branch python port executable

BUG=
TBR=ulan@chromium.org

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

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

10 years agoAllow self_size to be larger than 2GB in heap snapshots.
alph@chromium.org [Tue, 18 Feb 2014 13:22:07 +0000 (13:22 +0000)]
Allow self_size to be larger than 2GB in heap snapshots.

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

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

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

10 years agoA64: Let the MacroAssembler resolve branches to distant targets.
alexandre.rames@arm.com [Tue, 18 Feb 2014 13:15:32 +0000 (13:15 +0000)]
A64: Let the MacroAssembler resolve branches to distant targets.

Code generation would fail when assembling a branch to a label that is bound
outside the immediate range of the instruction. A64 is sensitive to this, as the
various branching instructions have different ranges, going down to +-32KB for
TBZ/TBNZ.  The MacroAssembler is augmented to handle branches to targets that
may exceed the immediate range of instructions.

When branching backward to a label exceeding the instruction range, the
MacroAssembler can simply tweak the generated code to use an unconditional
branch with a longer range. For example instead of
    B(cond, &label);
the MacroAssembler can generate:
    b(InvertCondition(cond), &done);
    b(&label);
    bind(&done);

Since the target is not known when the branch is emitted, forward branches uses
a different mechanism. The MacroAssembler keeps track of forward branches to
unbound labels. When the code generation approaches the end of the range of a
branch, a veneer is generated for the branch.

BUG=v8:3148
LOG=Y
R=ulan@chromium.org

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

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

10 years agoAdd merge-to-branch python port.
machenbach@chromium.org [Tue, 18 Feb 2014 13:09:14 +0000 (13:09 +0000)]
Add merge-to-branch python port.

- To ease a line-by-line review, the script is intentionally close to the former bash version
- Disambiguate the existing "-r" option for reviewer in the other scripts
- The options design will be refactored in a follow up CL

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

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

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

10 years agoPass a BailoutReason to Runtime::kAbort.
jacob.bramley@arm.com [Tue, 18 Feb 2014 13:03:24 +0000 (13:03 +0000)]
Pass a BailoutReason to Runtime::kAbort.

BUG=
R=rmcilroy@chromium.org, ulan@chromium.org

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

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

10 years agotemplatize operand constructors
dcarney@chromium.org [Tue, 18 Feb 2014 12:38:12 +0000 (12:38 +0000)]
templatize operand constructors

R=jochen@chromium.org

BUG=

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

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

10 years agoDirectly store the transition target on LookupResult in TransitionResult.
verwaest@chromium.org [Tue, 18 Feb 2014 12:19:32 +0000 (12:19 +0000)]
Directly store the transition target on LookupResult in TransitionResult.
BUG=chromium:343964
LOG=N
R=jkummerow@chromium.org

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

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

10 years agoA64: Fix register usage in LCodeGen::ArgumentsLength
jochen@chromium.org [Tue, 18 Feb 2014 11:56:55 +0000 (11:56 +0000)]
A64: Fix register usage in LCodeGen::ArgumentsLength

The result should be just stored in a W register

BUG=none
R=m.m.capewell@googlemail.com, ulan@chromium.org
LOG=n

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

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

10 years agoConsistent use of const for LookupResult.
bmeurer@chromium.org [Tue, 18 Feb 2014 11:30:51 +0000 (11:30 +0000)]
Consistent use of const for LookupResult.

R=svenpanne@chromium.org

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

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

10 years agoCreate HandleScope before calling GetScriptLineNumber
yurys@chromium.org [Tue, 18 Feb 2014 11:30:38 +0000 (11:30 +0000)]
Create HandleScope before calling GetScriptLineNumber

Otherwise we may crash.

BUG=None
LOG=N
R=alph@chromium.org, hpayer@chromium.org

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

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

10 years agoUpdate LICENSE date.
yangguo@chromium.org [Tue, 18 Feb 2014 10:50:22 +0000 (10:50 +0000)]
Update LICENSE date.

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

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

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

10 years agoHarmony: implement Math.clz32
yangguo@chromium.org [Tue, 18 Feb 2014 10:49:35 +0000 (10:49 +0000)]
Harmony: implement Math.clz32

R=dslomov@chromium.org, svenpanne@chromium.org
BUG=v8:2938
LOG=N

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

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

10 years agoFixed and improved code for integral division. Fixed and extended tests.
svenpanne@chromium.org [Tue, 18 Feb 2014 10:45:27 +0000 (10:45 +0000)]
Fixed and improved code for integral division. Fixed and extended tests.

Arithmetic right shifting is *not* division in two's complement
representation, only in one's complement. So we convert to one's
complement, shift, and go back to two's complement. By permutating the
last steps, one can get efficient branch-free code. This insight comes
from the paleozoic era of computer science, see the paper from 1976:

   Guy Lewis Steele Jr.: "Arithmetic Shifting Considered Harmful"
   ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-378.pdf

This results in better and more correct code than our previous
"neg/shift/neg" dance.

LOG=y
BUG=v8:3151
R=bmeurer@chromium.org

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

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

10 years agoHarmony: implement Math.fround.
yangguo@chromium.org [Tue, 18 Feb 2014 10:43:06 +0000 (10:43 +0000)]
Harmony: implement Math.fround.

R=jarin@chromium.org
BUG=v8:2938
LOG=N

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

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

10 years agoRevert "Handlify DescriptorArray::Merge()."
bmeurer@chromium.org [Tue, 18 Feb 2014 10:38:25 +0000 (10:38 +0000)]
Revert "Handlify DescriptorArray::Merge()."

This reverts commit r19410.

TBR=verwaest@chromium.org

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

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

10 years agoRemove unnecessary checks in CompileStoreInterceptor on a64.
verwaest@chromium.org [Tue, 18 Feb 2014 10:14:11 +0000 (10:14 +0000)]
Remove unnecessary checks in CompileStoreInterceptor on a64.

BUG=
R=dcarney@chromium.org

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

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

10 years agoReland "Allow ICs to be generated for own global proxy."
verwaest@chromium.org [Tue, 18 Feb 2014 10:10:06 +0000 (10:10 +0000)]
Reland "Allow ICs to be generated for own global proxy."

BUG=
R=dcarney@chromium.org

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

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

10 years agoA64: Optimize a loop by using post-indexing.
alexandre.rames@arm.com [Tue, 18 Feb 2014 09:59:02 +0000 (09:59 +0000)]
A64: Optimize a loop by using post-indexing.

R=ulan@chromium.org

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

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

10 years agoA64: Cleaning of Builtins::Generate_FunctionCall.
alexandre.rames@arm.com [Tue, 18 Feb 2014 09:44:43 +0000 (09:44 +0000)]
A64: Cleaning of Builtins::Generate_FunctionCall.

This is mostly register renaming, and a minor optimization merging two TBZ into
one TST and BNE.

R=jochen@chromium.org

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

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

10 years agoMake tools/bash-completion.sh robust against arbitrary CWD
jkummerow@chromium.org [Tue, 18 Feb 2014 09:12:11 +0000 (09:12 +0000)]
Make tools/bash-completion.sh robust against arbitrary CWD

R=yangguo@chromium.org

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

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

10 years agoA64: Update DoAllocate() to use a W register for the size
jochen@chromium.org [Tue, 18 Feb 2014 08:59:06 +0000 (08:59 +0000)]
A64: Update DoAllocate() to use a W register for the size

Inputs should always be 32bit

BUG=none
R=m.m.capewell@googlemail.com, ulan@chromium.org
LOG=n

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

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

10 years agoAlso compile A64 for quickcheck target
jochen@chromium.org [Tue, 18 Feb 2014 08:53:51 +0000 (08:53 +0000)]
Also compile A64 for quickcheck target

We don't run tests yet because even in release mode, this will take a
considerable amount of time.

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

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

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

10 years agoUpdate v8heapconst.py
jkummerow@chromium.org [Tue, 18 Feb 2014 08:50:19 +0000 (08:50 +0000)]
Update v8heapconst.py

R=mstarzinger@chromium.org

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

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

10 years agoRevert r19409: "Allow ICs to be generated for own global proxy."
danno@chromium.org [Tue, 18 Feb 2014 08:34:56 +0000 (08:34 +0000)]
Revert r19409: "Allow ICs to be generated for own global proxy."

Causing Layout test crashes

TBR=verwaest@chromium.org

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

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

10 years agoMIPS: Remove arch specific api callback generate functions.
palfia@homejinni.com [Mon, 17 Feb 2014 20:37:29 +0000 (20:37 +0000)]
MIPS: Remove arch specific api callback generate functions.

Port r19406 (4eab88a)

BUG=
R=gergely@homejinni.com

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

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

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

10 years agoA64: fix cctest/test-code-stubs-a64/ConvertDToI.
danno@chromium.org [Mon, 17 Feb 2014 17:37:55 +0000 (17:37 +0000)]
A64: fix cctest/test-code-stubs-a64/ConvertDToI.

R=danno@google.com

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

Patch from Ulan Degenbaev <ulan@chromium.org>.

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

10 years agoRevert r19403: "A64: Tidy up Push and Pop TODOs."
danno@chromium.org [Mon, 17 Feb 2014 16:08:44 +0000 (16:08 +0000)]
Revert r19403: "A64: Tidy up Push and Pop TODOs."

Causes a64 debug asserts

TBR=jacob.bramley@arm.com,ulan@chromium.org

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

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

10 years agobuild fix for 19415
dcarney@chromium.org [Mon, 17 Feb 2014 15:46:29 +0000 (15:46 +0000)]
build fix for 19415

TBR=jochen@chromium.org

BUG=

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

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

10 years ago(Pre)Parser: Simplify NewExpression handling (fixed).
marja@chromium.org [Mon, 17 Feb 2014 15:40:51 +0000 (15:40 +0000)]
(Pre)Parser: Simplify NewExpression handling (fixed).

Notes:
- We use simple recursion to keep track of how many "new" operators we have seen
  and where.
- This makes the self-baked stack class PositionStack in parser.cc unnecessary.
- Now the logic is also unified between Parser and PreParser.
- This is a fixed version of r19386.

R=ulan@chromium.org
BUG=v8:3126
LOG=N

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

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

10 years agoMake a single HeapEntry per single JSArrayBuffer data in heap snapshot.
alph@chromium.org [Mon, 17 Feb 2014 15:24:39 +0000 (15:24 +0000)]
Make a single HeapEntry per single JSArrayBuffer data in heap snapshot.

It turned out that JSArrayBuffer's may share their backing_store so
the backing_store should go through hash map registration just like
other heap objects, so they won't be reported twice.

BUG=341741
LOG=N
R=dslomov@chromium.org, yurys@chromium.org

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

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

10 years agomake a64 compile on mavericks - part 1
dcarney@chromium.org [Mon, 17 Feb 2014 15:20:54 +0000 (15:20 +0000)]
make a64 compile on mavericks - part 1

R=jochen@chromium.org

BUG=

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

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

10 years agoA64 support for DoubleToIStub (truncating).
rmcilroy@chromium.org [Mon, 17 Feb 2014 15:09:46 +0000 (15:09 +0000)]
A64 support for DoubleToIStub (truncating).

Added support for truncating DoubleToIStub and reorganize the macro-assembler
dToI operations to do the fast-path inline and the slow path by calling the
stub.

This a port essentially a port of https://codereview.chromium.org/23129003/.

R=jacob.bramley@arm.com, ulan@chromium.org

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

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

10 years agoSupport elements transitions in load elimination
verwaest@chromium.org [Mon, 17 Feb 2014 14:43:15 +0000 (14:43 +0000)]
Support elements transitions in load elimination

BUG=
R=titzer@chromium.org

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

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