Only extend storage if FIELD

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Refactor turning polymorphic loads into monomorphic loads
- remove special code for polymorphic loading of array length
- use it in VisitCountOperation

BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Increase sanity of integer division handling.

Port r15057 (c82c777)

Original commit message:
- In the INT32 BinaryOpStub, fix type feedback collection for DIV,
bringing it in line with other platforms.
- In Lithium codegen, emit proper inlined code, don't call the stub.
- Drive-by fix: assert appropriate CpuFeaturesScope for SDIV.

BUG=

Review URL: https://codereview.chromium.org/16857004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Use keyed-call inline caches in delegating yield.

Port r15111 (7de1a19)

Original commit message:
Since we can't assume anything about the shape of the iterator in a
yield* (delegating yield), use an IC to do the next() and throw()
iterator method calls.

BUG=v8:2691
TEST=mjsunit/regress/regress-2691

Review URL: https://codereview.chromium.org/16923008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Allow allocations in spaces with constant allocation size use the
smallest possible size-class.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove manual representation annotations for constants.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Delegating yield does not re-box result objects.

Port r15113 (9d28761)

Delegating yield (yield*) should just pass on the iterator results it
receives instead of re-boxing them.

TEST=mjsunit/harmony/generators-iteration
BUG=

Review URL: https://codereview.chromium.org/16855009
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reduce usage of AssumeRepresentation

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Implement IC support for Constant Function transitions.

Port r15124 (6b02a945)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Only extend storage if FIELD

Port r15125 (0c202ff0)

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Notify CPU profiler when calling native getters

This change modifies code produced by BaseLoadStubCompiler::GenerateLoadCallback so that instead of calling AccessorGetter direcly it calls InvokeAccessorGetter which changes VM state and calls the actual callback. This way CPU profiler knows which external callback is being executed in this case. Indirect call happens only if CpuProfiler::is_profiling() is true.

This is exactly same change as r15116 with a build fix for test-api.cc

BUG=244580
TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reduce the amount of full code generated to fill out array literals.

This is achieved by tuning the calling convention of StoreArrayLiteralStub:

 * The map of the array literal can be loaded in the stub from the
   array literal itself, there is no need to pass it at all.

 * The array literal is already on the stack, so there is no need to
   pass it again via a register.

 * The literal index is unchanged while filling the literal, so we can
   push it on the stack once and avoid passing it every time. Note that
   we need to mirror this change in the stack layout in crankshaft, too.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Observe smi as input for HCompareIDAndBranch

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove bogus cast in LChunkBuilder::CreateEnvironment.

R=jkummerow@chromium.org
TEST=chromium:content_browsertests

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

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

R=svenpanne@chromium.org
BUG=

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

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

TBR=svenpanne@chromium.org
BUG=

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

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

TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Install a generic handler whenever we fail to update the IC.
Ignore select cases in StoreIC since we don't have premonomorphic.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
As a last resort try to allocate out of the smaller size size-class in
the free list allocator.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Inhibit OSR for big functions.

R=jkummerow@chromium.org
BUG=

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

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