Convert PatchCache (and related methods) to use types rather than objects/maps.

R=rossberg@chromium.org

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

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

Add static_cast<int> in HPositionInfo::position to please Win64 build.

Improvements in positions handling in optimizing compiler.

- When building binary arithmetic op and comparison restore source position of the operation itself before building operation itself after it was changed by building operands. This ensures that position recorded for operation points to the operation token instead of pointing to the rightmost operand;

- Add support for recording operands' positions and use these positions when inserting HChange instructions;

- When generating hydrogen.cfg emit H-instruction position as BCI (previously 0 was emitted), additionally on every lithium instruction emit annotation pointing to corresponding hydrogen-instruction. This allows to easily reach from deopt_id to lithium instruction and from it to hydrogen instruction and source position.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Match max property descriptor length to corresponding bit fields.

Port r17823 (b1b8ae0)

BUG=v8:3010
LOG=N
R=plind44@gmail.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Make HTypeofIsAndBranch accept any representation input

Port r17834 (cf97fcb6)

Original commit message:
Make HTypeofIsAndBranch accept any representation input
when the input is known unbox number value, eliminate the dynamic check

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Convert PatchCache (and related methods) to use types rather than objects/maps.

Port r17847 (67c371a4)

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: use vstm/vldm when possible.

R=bmeurer@chromium.org

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

Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Bugfix: dependent code field in AllocationSite was keeping code objects alive even after context death.

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

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

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

R=danno@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Constant-folding through HForceRepresentation fix.

Reverts changes in HValue::IsInteger32Constant() made in https://code.google.com/p/v8/source/detail?r=17787

R=bmeurer@chromium.org, mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Properly initialize desc->origin in the ARM assembler.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make number of available threads isolate-dependent and expose it to ResourceConstraints.

R=svenpanne@chromium.org
BUG=v8:2991
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove unused StubType's, freeing 2 bits in Code objects.

R=verwaest@chromium.org

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

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

R=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Deprecate v8::External::New without Isolate parameter

R=bmeurer@chromium.org, machenbach@chromium.org, svenpanne@chromium.org
LOG=y
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix register trashing in Emit*ByteSeqStringSetChar

This is currently not observable without --allow-natives-syntax because all internal usages are safe, but it deserves to be fixed nonetheless.

BUG=chromium:320922
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add a proper way to pass the number of processors to V8

BUG=321060
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix debugger wrt concurrent recompilation flag.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Move template instance check from Object to FunctionTemplateInfo::IsTemplateFor

BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Introduce a v8::Platform class that bundles embedder callbacks

Also provide a default implementation to use in cctests.

For now, there are just two thread releated callbacks. In future CLs, I will
move callbacks registered e.g. via V8::SetFooCallback over.

BUG=v8:3015
R=svenpanne@chromium.org, danno@chromium.org
LOG=no

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix push-to-trunk runtime call.

This broke after a recent refactoring.

BUG=
R=jkummerow@chromium.org

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

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