ARM64: Optimize generated code for gaps

R=ulan@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Introduce intrinsic to expose debug state to generated code.

Port r21908 (527abba)

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix #include order in snapshot-external.cc

This corrects a linter complaint.

BUG=
R=mstarzinger@chromium.org, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix comment in r21905: "Support LiveEdit."

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: Clean up FlushICache.

In theory, the Thumb version of FlushICache doesn't have to be any
different from the ARM version: There is no need to switch to ARM mode
for the svc, and r7 can be used just like any other register.

In practice, GCC uses r7 as a frame pointer in Thumb code, and it
refuses to allow it be used in inline assembly. To avoid complicated
checks to determine whether or not it is possible to use it directly,
the FlushICache function explicitly preserves r7.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Map/Set: Implement constructor parameter handling

When an iterable object is passed in as the argument to the Map and Set
constructor the elements of the iterable object are used to populate the
Map and Set.

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-iterable
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-iterable

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

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Change some cmpq to cmpp, times_8 to times_pointer_size for x32 port.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Update GetNextSpillIndex to support x32 port.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add X32 port into V8

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel.

I don't know if there are any v8 bots with that configuration, but it seems
like a good idea to have v8 be consistent with chromium and nacl here, so that
this works fine if such a bot is ever set up.

This is similar to https://codereview.chromium.org/342493002/ , but with a
detect_v8_host_arch.py script that handles the additional machine types that
standalone.gypi used to handle.

Originally reviewed at https://codereview.chromium.org/346643002/

BUG=368384
LOG=Y
R=jochen@chromium.org

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

Patch from Nico Weber <thakis@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM64: Clean up LiveEdit.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Do not eagerly update allow_osr_at_loop_nesting_level.

Having debug break points prevents OSR. That causes
allow_osr_at_loop_nesting_level and the actually patched state
to go out of sync.

R=jkummerow@chromium.org
BUG=387599
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove bogus assertions in HCompareObjectEqAndBranch.

R=jkummerow@chromium.org, danno@chromium.org
BUG=387636
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix a potential overflow in SortedListBSearch

R=yangguo@chromium.org

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

Patch from Jianghua Yang <jianghua.jhy@alibaba-inc.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make Object::IsFoo const.

Removed a few useless const_casts on the way.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: Fix inline assembly (r21949) for Clang.

Add a 'c' predicate to the immediate syscall number. This tells the
compiler to omit the leading '#' that immediates usually have in ARM.
The GNU assembler tolerates "ldr r7, =#1234" but Clang does not.

BUG=V8:3403
LOG=N
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove unused variables from assembler-arm.cc.

Local arm.debug build with make fails - not sure why arm build doesn't fail on
the waterfall.

R=rmcilroy@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM64: Enable low level profiling.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't list platform-posix.cc twice on android

BUG=387326
R=marja@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: optimize Lithium Allocate

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

BUG=

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

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