Test and fix for polymorphic named call deoptimization.

The fix removes wrong simulates from the number branch of polymorphic
call/field access handling.

The change also fixes the same thing for polymorphic named field
access even thourgh the field access is probably safe in practice
(because it cannot deoptimize). It is better to keep all our simulates
in sync with full codegen.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove Parser::scanner(). There is already ParserBase::scanner().

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
The sweeper thread should not write the page flags. Added a sweeping complete phase, where the main thread writes the given page flags.

BUG=
R=jarin@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Handle the uninitialized oddball in Type::LubBitset().

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix assignment of function name constant.

If it's shadowed by a variable of the same name and both are forcibly
context-allocated, the function is assigned to the wrong context slot.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
api accessor store ics should return passed value

R=verwaest@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
build fix for r19380

R=mstarzinger@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add flags for write barrier elimination and local allocation folding.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Pass in the handler kind to IC computation rather than extracting it from the handler.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't mix handler flags into regular flag computation.

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove HandlerKindField and just encode the handlerkind as the only extra-ic-state.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
(Pre)Parser: Simplify NewExpression handling.

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.
- It might have been a copy-paste artifact (ParseLeftHandSideExpression ->
  ParseMemberWithNewPrefixesExpression) that the logic was so complicated
  before.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix dictionary element load to pass correct elements kind.

Using FAST_SMI_ELEMENTS triggers optimization on 64-bit architectures that load
only the higher 32 bits of the element. If the element is a pointer to undefined
that has 0 in the higher half than it is erroneously treated as SMI 0.

BUG=v8:3158
LOG=N
TEST=mjsunit/sparse-array-reverse,mjsunit/regress/regress-3158.js
R=danno@chromium.org, ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "(Pre)Parser: Simplify NewExpression handling."

This reverts revision 19386.

Reason: Mozilla failures.

BUG=
TBR=ulan@chromium.org,marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Debug-mode check added: optimized keyed store of a smi on x64 is done to a entry containing a smi.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix assignment of function name constant.

Port r19379 (622d830)

Original commit message:
If it's shadowed by a variable of the same name and both are forcibly
context-allocated, the function is assigned to the wrong context slot.

BUG=v8:3138
LOG=Y
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: api accessor store ics should return passed value.

Port r19380 (114a9ca)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Don't mix handler flags into regular flag computation.

Port r19384 (4ba5d0d)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Remove HandlerKindField and just encode the handlerkind as the only extra-ic-state.

Port r19385 (27769f9)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: build fix for r19380

Port r19381 (5476e11b)

BUG=
R=plind44@gmail.com

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

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