Commit Graph

14957 Commits

Author SHA1 Message Date
ishell@chromium.org
6c1659becf Fix for a smi stores optimization on x64 with a regression test.
BUG=345715
LOG=N
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 09:55:02 +00:00
jochen@chromium.org
6eb2d35870 Check that after a weak callback, the handle is either dead or strong
BUG=346061
R=dcarney@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 09:27:05 +00:00
dcarney@chromium.org
cb05cff594 negative bounds checking on realm calls
R=rossberg@chromium.org

LOG=N

BUG=344285

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 09:15:05 +00:00
marja@chromium.org
3d85b86e23 Lazy preparsing vs. lazy parsing fix.
Preparsing is always maximally lazy (every function that can be lazy is preparsed
lazily), but Parser has more complicated laziness logic.

If we're going to parse eagerly, and we have preparse data from lazy preparsing,
we're gonna have a bad time. The symbol stream won't contain symbols inside lazy
functions, and when the Parser parses them eagerly, it will consume symbols from
the symbol stream, and everything will go wrong.

This bug was hidden because the symbol cache was not used for real (see
https://codereview.chromium.org/172753002/ ).

R=ulan@chromium.org
BUG=346207
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-24 17:48:09 +00:00
jkummerow@chromium.org
37b6fd07c1 Fix optimistic BCE to back off after deopt
BUG=v8:3176
LOG=n
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-24 13:15:31 +00:00
baptiste.afsa@arm.com
3ffc6b5d75 A64: Replace a Subs by a Sub where flags don't need to be updated.
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-21 15:36:16 +00:00
baptiste.afsa@arm.com
5576fd5fe3 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
2014-02-21 15:34:39 +00:00
m.m.capewell@googlemail.com
0468660b13 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
2014-02-21 11:36:04 +00:00
mstarzinger@chromium.org
fa63cfaf6d 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
2014-02-21 11:19:32 +00:00
alexandre.rames@arm.com
609af84e2b 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
2014-02-21 09:32:57 +00:00
machenbach@chromium.org
3fbe663b05 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
2014-02-21 08:10:06 +00:00
danno@chromium.org
baaccb96a7 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
2014-02-20 21:55:45 +00:00
plind44@gmail.com
b83da9f5c3 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
2014-02-20 21:03:26 +00:00
jochen@chromium.org
5275240eba 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
2014-02-20 19:32:27 +00:00
verwaest@chromium.org
1d8997dba7 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
2014-02-20 17:57:22 +00:00
plind44@gmail.com
2fe15278eb 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
2014-02-20 17:18:57 +00:00
alexandre.rames@arm.com
a4f0658227 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
2014-02-20 16:40:53 +00:00
machenbach@chromium.org
01cf2f8eda 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
2014-02-20 16:39:41 +00:00
jacob.bramley@arm.com
3196b9fb6c 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
2014-02-20 16:37:40 +00:00
jacob.bramley@arm.com
baf2614853 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
2014-02-20 16:36:53 +00:00
verwaest@chromium.org
508123cbe1 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
2014-02-20 16:35:25 +00:00
verwaest@chromium.org
84b366516e 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
2014-02-20 16:11:48 +00:00
verwaest@chromium.org
bb27633433 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
2014-02-20 12:40:34 +00:00
marja@chromium.org
0a01afda76 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
2014-02-20 11:35:37 +00:00
baptiste.afsa@arm.com
4db29c52b2 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
2014-02-20 11:22:33 +00:00
m.m.capewell@googlemail.com
6a043c1d33 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
2014-02-20 10:08:04 +00:00
machenbach@chromium.org
672bc20af8 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
2014-02-20 08:06:11 +00:00
plind44@gmail.com
a94a5661ac 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
2014-02-19 18:30:22 +00:00
plind44@gmail.com
adfed0a1e7 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
2014-02-19 18:16:06 +00:00
danno@chromium.org
5202249e65 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
2014-02-19 16:35:19 +00:00
alexandre.rames@arm.com
7d64aab1a1 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
2014-02-19 16:13:09 +00:00
jochen@chromium.org
bbd233fc4a 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
2014-02-19 15:20:15 +00:00
machenbach@chromium.org
7a4f18caa6 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
2014-02-19 14:56:19 +00:00
marja@chromium.org
7a948d325c 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
2014-02-19 14:53:14 +00:00
marja@chromium.org
ec18b79fac 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
2014-02-19 14:50:33 +00:00
jacob.bramley@arm.com
d9b31caab3 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
2014-02-19 14:37:18 +00:00
rossberg@chromium.org
0d34254f8d 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
2014-02-19 14:19:42 +00:00
ulan@chromium.org
db60894687 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
2014-02-19 14:03:48 +00:00
mvstanton@chromium.org
73b679cbee 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
2014-02-19 13:55:25 +00:00
yangguo@chromium.org
139134acc2 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
2014-02-19 13:51:49 +00:00
yangguo@chromium.org
84cf85598d 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
2014-02-19 13:49:59 +00:00
machenbach@chromium.org
76bdb032ac 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
2014-02-19 13:44:17 +00:00
machenbach@chromium.org
fb0fb8e0cc 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
2014-02-19 13:40:30 +00:00
ishell@chromium.org
1342cb8b00 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
2014-02-19 12:34:50 +00:00
jkummerow@chromium.org
70d0da7677 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
2014-02-19 12:30:10 +00:00
rossberg@chromium.org
13d99fe778 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
2014-02-19 11:59:05 +00:00
machenbach@chromium.org
a56d0da623 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
2014-02-19 11:56:48 +00:00
rossberg@chromium.org
ae76ce8f71 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
2014-02-19 10:52:06 +00:00
jkummerow@chromium.org
6e3b81a7b2 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
2014-02-19 10:30:39 +00:00
jacob.bramley@arm.com
6d9fcf1198 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
2014-02-19 09:43:45 +00:00