Support LiveEdit on ARM

BUG=368580
LOG=Y
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Parser: Refactor strict mode checks for functions

Moves the strict mode checks and error reporting for the function and
parameter names into a separate CheckStrictFunctionNameAndParameters()
function in ParserBase. Parsing of arrow functions will then use this
new function instead of duplicating the error code.

BUG=
R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make object accessors more const-correct.

Getting closer to making our IsFOO and FOO::cast methods const-correct...

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove obsolete --harmony-promises flag from tests.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: Avoid duplicate vmla when merging vmul and vadd

Avoid generating duplicate vmla instructions for vmul/vadd sequences where the
vmul has more than one use.

For example: function f(a, b, c) { return (a * b) + c + (a * b); }

Previously, this would produce a vmul for the subexpression (a * b), then vmla
for (a * b) + c, then vmla for (a * b) + [(a * b) + c].

Now it produces vmul, vadd, vadd, as expected.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
test-parsing: Add functionality to specify "always true flags".

Many parsing tests need to pin a certain flag, and apart from the pinned flag,
we want to keep the "test with all combinations" behavior for the non-pinned
flags.

R=ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Clean up unused stuff in atomicops_internals_{tsan,x86_gcc}.h

This ports crrev.com/278081 and crrev.com/271506 to V8.

R=glider@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix stack capture on overflow for Error.stackTraceLimit == Infinity

Bug found by Andrew Paprocki <andrew@ishiboo.com>.

R=mstarzinger@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Array.concat: properly go to dictionary mode when required

BUG=chromium:387031
LOG=y
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Make object accessors more const-correct.

Port r21897 (1b152ae)

Fix MIPS implementation of READ_DOUBLE_FIELD() to use const parameter.

Original commit message:
Getting closer to making our IsFOO and FOO::cast methods
const-correct...

BUG=
R=gergely@homejinni.com, jkummerow@chromium.org

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

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

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

Port r21895 (210f7aa)

BUG=368580
LOG=Y
R=jkummerow@chromium.org, palfia@homejinni.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix big-endian after r21774/r21803.

Fix big-endian ordering of InstanceType and BitField by always loading
the pair as a 16-bit value, even in the API accessor. Clean up some
assertions.

R=danno@chromium.org, mtbrandy@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add missing map check to optimized f.apply(...)

This is a cutdown version of https://codereview.chromium.org/346473002/, which aimed to fix f.call and f.apply. Optimized f.call was removed by r21887, this is what was left.

BUG=386034
LOG=N
R=bmeurer@chromium.org

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

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

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21908 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.

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

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

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

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

This reverts r21909.

Reason: breaks NaCL build.

BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
An object should only be promoted to the old generation if it survived a scavenge operation.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make our FOO::cast methods const.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Simplify access checks performed by GetOwnProperty

BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove AccessControl from AccessorPairs, as it's an invalid usecase of AllCan*

BUG=
R=dcarney@chromium.org

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

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