Added Crankshaft support for setters.

Refactored ComputeLoadStoreField a bit on the way to clarify a bit what it
actually does.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fixed mistake in condition for Nan fixups from snapshot.

The commit r11871 caused quiet NaN related errors to
appear on Loongson and Sigma platforms when snapshot
is used. This commit fixes those issues.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10735080
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't miss error message in 'restart frame' debug action

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Swap bitfield3 and backpointer.

Port r12034 (f17b84c0)

Original commit message:
Bitfield3 now has its own field, while the backpointer shares the field with the descriptor array; which will become the transition array.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10692192
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Ensure that all descriptors have a valid enumeration index, and replace NextEnumIndex with LastAdded.

Port r12042 (ce65764e)

Original commit message:
The LastAdded points to the descriptor that was last added to the array. From the descriptor we can deduce the NextEnumerationIndex. This allows us to quickly find the property that we are transitioning to, which is necessary for transition-intensive code, eg JSON parsing.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10690178
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix Mac build warning (very rightful)

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Incorporate constness into inferred interfaces
(in preparation for handling imports).

R=svenpanne@chromium.org
BUG=v8:1569
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Handle setters on the prototype chain efficiently by default.

Note that changes on the prototype chain should already be handled by
StubCompiler::CheckPrototypes, if not, it is a bug there and not in
LookupForWrite. Furthermore, neither test262 nor WebKit layout tests hint at a
compability issue, so it should be safe to remove a redundant check.

The good point about this CL: It improves Box2D's performance by 22%.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Defer creating Handles for HConstants to the code generation phase.

Port r12048 (b4b20305)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10692193
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Factor out a Histogram class from HistogramTimer, and use it to measure external fragmentation

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/10695056
Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add counters that automatically track object sizes and counts.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implements a new API to set a function entry hook for profiling.

Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.

Committed: https://code.google.com/p/v8/source/detail?r=12069

Review URL: https://chromiumcodereview.appspot.com/10706002
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert 12083: Implements a new API to set a function entry hook for profiling.

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix Win64 build breakage in r12082.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix transcendental cache on ARM in optimized code.

R=jkummerow@chromium.org
BUG=v8:2234
TEST=regress-2234.js

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make it clear that HInstruction's position is a write-once variable.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix ICs for slow objects with native accessor.

This prevents creation of LoadICs or StoreICs for native callbacks on
objects in dictionary mode. Those ICs fail if the accessor is installed
on the receiver itself and also lead to bogus type feedback.

R=danno@chromium.org
BUG=chromium:137002
TEST=test/test-api/Regress137002[a,b]

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add an option to the tickprocessor to specify the directory for lib lookup

This is usefull when generating a profile on one architecture and analyzing it
on another architecture or system version.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prepare push to trunk.  Now working on version 3.12.13.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Maintain the invariant that all HGraphBuilder::VisitFoo methods return void.

Additionally, this enables the use of a CHECK_ALIVE macro instead of
copy-n-paste code at one place.

This CL is part of a series of several yak-shaving CLs to prepare the inlining
of JavaScript accessors.

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

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