Refactor and improve inlined double-aligned allocations

Change is performance neutral but generates smaller code and encapsulates double alignment in the macro-assembler rather than at the allocation site.

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

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

Right now it's impossible to figure out from headers that smis are left shifted
by 31 bit on x64, and only then tagged.

R=erik.corry@gmail.com

Review URL: https://codereview.chromium.org/11676005
Patch from Fedor Indutny <fedor@indutny.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use VLDR instead of VMOVs from GPR when a 64-bit double can't be encoded as a VMOV immediate.

This requires constant blinding before it can be enabled. There are other interesting optimizations that can be added later, detailed in a TODO.

BUG=optimization
R=ulan@chromium.org,mstarzinger@chromium.org, hwennborg@google.com

Review URL: https://chromiumcodereview.appspot.com/11191029
Patch from JF Bastien <jfb@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use EXTERNAL_REFERENCE instead of RUNTIME_ENTRY for Runtime::PerformGC and
CallApiFunctionAndReturn in X64

Review URL: https://codereview.chromium.org/11694008
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Enable type feedback for branch statement and function call

This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.

Review URL: https://chromiumcodereview.appspot.com/11635046
Patch from Jay Conrod <dconrod@codeaurora.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Handle non-constant divisor in MathFloorOfDiv, on ia32/x64

Zheng Liu
zheng.z.liu@intel.com

Review URL: https://chromiumcodereview.appspot.com/11624022
Patch from Zheng Liu <zheng.z.liu@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Elide unnecessary context reload in generated stubs.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reland r13275 and 13276 (Remove most uses of StringInputBuffer).

R=dcarney@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11727003
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Move CopyElements to the accessor of the target.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Relax test expectations in BootUpMemoryUse.

R=dcarney@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fixed printing of LInstructions in the presence of optional arguments

TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add Makefile options to build for the Raspberry Pi (armv7=0, arm_fpu=vfp2).

With these Makefile changes, it is possible to build V8 on the Raspberry Pi with the following make invocation:

make native armv7=false vfp3=off hardfp=on disassembler=on console=readline snapshot=on gdbjit=on strictaliasing=off

R=danno@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11722003
Patch from Luis Reis <luis.m.reis@gmail.com>.

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

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11727004
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Improved printing of HForceRepresentation.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Refactor out assumption that one byte strings are ascii in utf8 processing.

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11725006
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Synched postmortem script with not-so-recent changes.

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

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

R=dcarney@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Cleanup RelocInfo::NONE usage.

There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
  https://chromiumcodereview.appspot.com/11191029/

I'll rename NONE to NONE32 in a later CL.

This CL cleans up the RelocInfo::NONE usage by:
 - Using RelocInfo::IsNone when testing for NONE-ness.
 - Using NONE on 32-bit platforms (MIPS and IA32), and NONE64 on 64-bit
   platforms (x64).

This cleans up the code and prevents it from evolving bugs in the future
because NONE32 and NONE64 are used in misleading ways.

R= ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11695006
Patch from JF Bastien <jfb@chromium.org>.

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

R=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Rename RelocInfo::NONE to RelocInfo::NONE32.

This CL only does renaming, nothing else.

Followup to:
https://chromiumcodereview.appspot.com/11695006/

There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
https://chromiumcodereview.appspot.com/11191029/

R= ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11744020
Patch from JF Bastien <jfb@chromium.org>.

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