platform/upstream/v8.git
10 years agoRemove script collected debug event.
yangguo@chromium.org [Fri, 27 Jun 2014 12:10:43 +0000 (12:10 +0000)]
Remove script collected debug event.

R=yurys@chromium.org

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

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

10 years agoRemove remaining dependencies on allocation.h from a few platform files
jochen@chromium.org [Fri, 27 Jun 2014 11:37:09 +0000 (11:37 +0000)]
Remove remaining dependencies on allocation.h from a few platform files

I could move parts of allocation to base/ instead, but I see little to
no value in the allocation base classes, soo..

BUG=none
R=bmeurer@chromium.org
LOG=n

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

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

10 years agoRemove the duplicated file include.
mstarzinger@chromium.org [Fri, 27 Jun 2014 11:07:44 +0000 (11:07 +0000)]
Remove the duplicated file include.

BUG=
R=mstarzinger@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

10 years agoAllow inlining of functions containing %_Arguments.
mstarzinger@chromium.org [Fri, 27 Jun 2014 11:04:35 +0000 (11:04 +0000)]
Allow inlining of functions containing %_Arguments.

R=svenpanne@chromium.org
TEST=mjsunit/compiler/inline-arguments

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

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

10 years agoUnbreak Mac build.
svenpanne@chromium.org [Fri, 27 Jun 2014 11:02:18 +0000 (11:02 +0000)]
Unbreak Mac build.

TBR=marja@chromium.org

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

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

10 years agoUnbreak "os" stuff in shared d8 builds.
svenpanne@chromium.org [Fri, 27 Jun 2014 10:37:42 +0000 (10:37 +0000)]
Unbreak "os" stuff in shared d8 builds.

Note that "os" still has no properties on Windows, but at least it's there.

BUG=v8:3407
LOG=y
R=jkummerow@chromium.org

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

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

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Fri, 27 Jun 2014 10:28:44 +0000 (10:28 +0000)]
Whitespace change to trigger bots.

TBR=jkummerow@chromium.org
BUG=

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

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

10 years agoUnbreak Win64 build (hopefully).
svenpanne@chromium.org [Fri, 27 Jun 2014 10:01:44 +0000 (10:01 +0000)]
Unbreak Win64 build (hopefully).

cpplint, our fragile overloading of CheckEqualsHelper and Win64 don't
really play together very well...

TBR=marja@chromium.org

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

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

10 years agoLet test driver nuke test perf data on errors.
machenbach@chromium.org [Fri, 27 Jun 2014 09:51:08 +0000 (09:51 +0000)]
Let test driver nuke test perf data on errors.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoARM64: avoid duplicate load of double constants
Jacob.Bramley@arm.com [Fri, 27 Jun 2014 09:00:31 +0000 (09:00 +0000)]
ARM64: avoid duplicate load of double constants

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

BUG=

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

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

10 years agoRevert "ARM: Use the shifter operand to merge in previous shift instructions."
marja@chromium.org [Fri, 27 Jun 2014 08:55:41 +0000 (08:55 +0000)]
Revert "ARM: Use the shifter operand to merge in previous shift instructions."

This reverts r 22017

Reason: broke Nexus 7 GPU bots (see crbug.com/389198)

BUG=389198
LOG=n
TBR=machenbach@chromium.org, ulan@chromium.org

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

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

10 years agoAdded slim versions of output streams.
svenpanne@chromium.org [Fri, 27 Jun 2014 08:42:17 +0000 (08:42 +0000)]
Added slim versions of output streams.

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

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

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

10 years agoRemove dependency from platform files on v8.h
jochen@chromium.org [Fri, 27 Jun 2014 08:38:56 +0000 (08:38 +0000)]
Remove dependency from platform files on v8.h

Pass flag values in through a central initialize call.

We still depend on utils.h for RoundUp and IsAligned.

BUG=none
R=bmeurer@chromium.org
LOG=n

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

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

10 years agoX87: Use IC register definitions in platform files.
weiliang.lin@intel.com [Fri, 27 Jun 2014 03:23:31 +0000 (03:23 +0000)]
X87: Use IC register definitions in platform files.

port r22035

original commit message:
  Use IC register definitions in platform files.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

10 years agoMIPS: Use IC register definitions in platform files.
palfia@homejinni.com [Thu, 26 Jun 2014 21:03:09 +0000 (21:03 +0000)]
MIPS: Use IC register definitions in platform files.

Port r22035 (0eac506)

BUG=
R=palfia@homejinni.com

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

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

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

10 years agoAdd OnCompileError handler and v8::CompileError debug event.
yurys@chromium.org [Thu, 26 Jun 2014 16:03:52 +0000 (16:03 +0000)]
Add OnCompileError handler and v8::CompileError debug event.
This event is generated when the parser can not generate code.

R=vsevik@chromium.org, yangguo@chromium.org, yurys@chromium.org

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

Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.

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

10 years agoRemove unused Debug::AfterCompileFlags flags.
yurys@chromium.org [Thu, 26 Jun 2014 15:12:04 +0000 (15:12 +0000)]
Remove unused Debug::AfterCompileFlags flags.

R=yangguo@chromium.org

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

Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.

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

10 years agoFix regexp=interpreted build.
yangguo@chromium.org [Thu, 26 Jun 2014 13:48:22 +0000 (13:48 +0000)]
Fix regexp=interpreted build.

R=jkummerow@chromium.org

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

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

10 years agoAdded more detailed sweeping timing counters.
hpayer@chromium.org [Thu, 26 Jun 2014 12:56:14 +0000 (12:56 +0000)]
Added more detailed sweeping timing counters.

BUG=
R=ulan@chromium.org

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

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

10 years agoInfer whether a variable is assigned in inner functions
rossberg@chromium.org [Thu, 26 Jun 2014 11:59:42 +0000 (11:59 +0000)]
Infer whether a variable is assigned in inner functions

R=titzer@chromium.org
BUG=

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

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

10 years agoReland "Allow inlining of functions containing %_ArgumentsLength."
mstarzinger@chromium.org [Thu, 26 Jun 2014 11:55:31 +0000 (11:55 +0000)]
Reland "Allow inlining of functions containing %_ArgumentsLength."

The layout test failures were unrelated to this change.

R=svenpanne@chromium.org
TBR=svenpanne@chromium.org

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

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

10 years agoKeep CodeRange::current_allocation_block_index_ in range after r21869.
ulan@chromium.org [Thu, 26 Jun 2014 11:49:39 +0000 (11:49 +0000)]
Keep CodeRange::current_allocation_block_index_ in range after r21869.

BUG=305878,388328
LOG=N
R=hpayer@chromium.org

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

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

10 years agoRoll buildtools to fb782d4369d5ae04f17a2fceef7de5a63e50f07b
jochen@chromium.org [Thu, 26 Jun 2014 10:49:27 +0000 (10:49 +0000)]
Roll buildtools to fb782d4369d5ae04f17a2fceef7de5a63e50f07b

Also add hooks to download clang-format binaries.

BUG=none
R=machenbach@chromium.org
LOG=n

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

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

10 years agoUse IC register definitions in platform files.
mvstanton@chromium.org [Thu, 26 Jun 2014 10:00:36 +0000 (10:00 +0000)]
Use IC register definitions in platform files.

R=jkummerow@chromium.org

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

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

10 years agoSuppress GC stress failure for a test that asserts code being optimized.
yangguo@chromium.org [Thu, 26 Jun 2014 09:49:17 +0000 (09:49 +0000)]
Suppress GC stress failure for a test that asserts code being optimized.

The reason is that GC stress causes additional deopts that the test
originally did not foresee.

R=marja@chromium.org

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

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

10 years agoAvoid adjusting live bytes in JSObject::MigrateFastToFast() if the size delta is...
ishell@chromium.org [Thu, 26 Jun 2014 08:34:34 +0000 (08:34 +0000)]
Avoid adjusting live bytes in JSObject::MigrateFastToFast() if the size delta is zero.

BUG=chromium:388880
LOG=N
R=hpayer@chromium.org

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

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

10 years agoX87: Cleanup CallInterfaceDescriptor
weiliang.lin@intel.com [Thu, 26 Jun 2014 07:32:17 +0000 (07:32 +0000)]
X87: Cleanup CallInterfaceDescriptor

port r22014

original commit message:
 Make CallInterfaceDescriptor work like CodeStubInterfaceDescriptor, owning it's
 register and representation arrays. This also eliminates a host of TSAN warnings
 xfor static arrays

 This CL depends on https://codereview.chromium.org/352583002 landing first
 (a conceptual dependency at least).

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

10 years agoCompile optimized code with active debugger but no break points.
yangguo@chromium.org [Thu, 26 Jun 2014 06:32:51 +0000 (06:32 +0000)]
Compile optimized code with active debugger but no break points.

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

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

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

10 years agoX87: The IC exposes a register definition.
weiliang.lin@intel.com [Thu, 26 Jun 2014 05:43:16 +0000 (05:43 +0000)]
X87: The IC exposes a register definition.

port r22011

original commit message:
  Centralize a register definition in an IC that provides:
  1) symbolic names for the register (like, edx == receiver)
  2) defines ordering when passed on the stack

  Code that implements or uses the IC should use this definition instead of "knowing" what the registers are. Or at least have the definition to validate it's assumptions.

  As a side effect of avoiding runtime static initializers (enforced by tools/check-static-initializers.sh, neat), I gave ownership of the registers array to CodeStubInterfaceDescriptor. This prompted a cleanup of that struct

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

10 years agoOptimize Map/Set.prototype.forEach
danno@chromium.org [Thu, 26 Jun 2014 00:40:45 +0000 (00:40 +0000)]
Optimize Map/Set.prototype.forEach

Instead of using an iterator result object and an entries array
(for Map) we introduce a new runtime function that uses an array
as an out param.

On the Map ForEach perf test this leads to a 2.5x performance
improvement. On the overall Map and Set tests this leads to a 18%
and 13% improvement respectively.

BUG=None
LOG=Y
R=danno@chromium.org

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

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

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

10 years agoMIPS: Fix r22021 “The IC exposes a register definition.” after r22018.
kilvadyb@homejinni.com [Wed, 25 Jun 2014 19:30:48 +0000 (19:30 +0000)]
MIPS: Fix r22021 “The IC exposes a register definition.” after r22018.

BUG=
R=palfia@homejinni.com

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

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

10 years agoMIPS: Cleanup CallInterfaceDescriptor.
kilvadyb@homejinni.com [Wed, 25 Jun 2014 18:43:06 +0000 (18:43 +0000)]
MIPS: Cleanup CallInterfaceDescriptor.

Port r22014 (234866c)

Original commit message:
Make CallInterfaceDescriptor work like CodeStubInterfaceDescriptor, owning it's
register and representation arrays. This also eliminates a host of TSAN warnings
for static arrays.

This CL depends on https://codereview.chromium.org/352583002 landing first
(a conceptual dependency at least).

BUG=
R=palfia@homejinni.com

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

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

10 years agoRevert "Allow inlining of functions containing %_ArgumentsLength."
mstarzinger@chromium.org [Wed, 25 Jun 2014 17:21:44 +0000 (17:21 +0000)]
Revert "Allow inlining of functions containing %_ArgumentsLength."

This cuased layout test failures.

TBR=svenpanne@chromium.org

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

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

10 years agoMIPS: The IC exposes a register definition.
kilvadyb@homejinni.com [Wed, 25 Jun 2014 16:17:31 +0000 (16:17 +0000)]
MIPS: The IC exposes a register definition.

Port r22011 (be22370)

Original commit message:
Centralize a register definition in an IC that provides:
1) symbolic names for the register (like, edx == receiver)
2) defines ordering when passed on the stack

Code that implements or uses the IC should use this definition instead of "knowing" what the registers are. Or at least have the definition to validate it's assumptions.

As a side effect of avoiding runtime static initializers (enforced by tools/check-static-initializers.sh, neat), I gave ownership of the registers array to CodeStubInterfaceDescriptor. This prompted a cleanup of that struct.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoAllow inlining of functions containing %_ArgumentsLength.
mstarzinger@chromium.org [Wed, 25 Jun 2014 16:02:49 +0000 (16:02 +0000)]
Allow inlining of functions containing %_ArgumentsLength.

R=svenpanne@chromium.org

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

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

10 years agoCollect garbage with kReduceMemoryFootprintMask in IdleNotification.
ulan@chromium.org [Wed, 25 Jun 2014 15:29:58 +0000 (15:29 +0000)]
Collect garbage with kReduceMemoryFootprintMask in IdleNotification.

BUG=350720
LOG=Y
TBR=hpayer@chromium.org

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

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

10 years agoRemove distinction between hidden and normal runtime functions
danno@chromium.org [Wed, 25 Jun 2014 15:26:10 +0000 (15:26 +0000)]
Remove distinction between hidden and normal runtime functions

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

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

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

10 years agoARM: Use the shifter operand to merge in previous shift instructions.
alexandre.rames@arm.com [Wed, 25 Jun 2014 15:11:00 +0000 (15:11 +0000)]
ARM: Use the shifter operand to merge in previous shift instructions.

When possible, we transform sequences of code of the form
    lsl r1, r2, #imm
    add r0, r5, r1
into
    add r0, r5, r2 LSL #imm

This is an adaptation of r21161.

R=ulan@chromium.org

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

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

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Wed, 25 Jun 2014 14:24:15 +0000 (14:24 +0000)]
Whitespace change to trigger bots.

TBR=jkummerow@chromium.org

BUG=

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

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

10 years agoFix tools/whitespace.txt. Huge perf improvements.
machenbach@chromium.org [Wed, 25 Jun 2014 14:14:54 +0000 (14:14 +0000)]
Fix tools/whitespace.txt. Huge perf improvements.

R=mstarzinger@chromium.org

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

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

10 years agoCleanup CallInterfaceDescriptor
mvstanton@chromium.org [Wed, 25 Jun 2014 12:52:58 +0000 (12:52 +0000)]
Cleanup CallInterfaceDescriptor

Make CallInterfaceDescriptor work like CodeStubInterfaceDescriptor, owning it's
register and representation arrays. This also eliminates a host of TSAN warnings
for static arrays.

This CL depends on https://codereview.chromium.org/352583002 landing first
(a conceptual dependency at least).

R=svenpanne@chromium.org

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

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

10 years agoReorder full code for while loops to better reflect statement positions.
yangguo@chromium.org [Wed, 25 Jun 2014 12:42:28 +0000 (12:42 +0000)]
Reorder full code for while loops to better reflect statement positions.

R=jkummerow@chromium.org
BUG=v8:2047
LOG=N

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

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

10 years agoBetter fix for --trace-ic source positions: Use HOptimizedGraphBuilderWithPositions
jkummerow@chromium.org [Wed, 25 Jun 2014 12:37:06 +0000 (12:37 +0000)]
Better fix for --trace-ic source positions: Use HOptimizedGraphBuilderWithPositions

This reverts the changes made in r22008.

R=yangguo@chromium.org

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

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

10 years agoThe IC exposes a register definition.
mvstanton@chromium.org [Wed, 25 Jun 2014 12:32:12 +0000 (12:32 +0000)]
The IC exposes a register definition.

Centralize a register definition in an IC that provides:
1) symbolic names for the register (like, edx == receiver)
2) defines ordering when passed on the stack

Code that implements or uses the IC should use this definition instead of "knowing" what the registers are. Or at least have the definition to validate it's assumptions.

As a side effect of avoiding runtime static initializers (enforced by tools/check-static-initializers.sh, neat), I gave ownership of the registers array to CodeStubInterfaceDescriptor. This prompted a cleanup of that struct.

R=jkummerow@chromium.org

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

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

10 years agoBlacklist failing test from GC stress runs.
yangguo@chromium.org [Wed, 25 Jun 2014 12:18:19 +0000 (12:18 +0000)]
Blacklist failing test from GC stress runs.

The test expects a function not to deopt. However GC stress causes
the code to be marked for deopt for a reason we are not testing against.

R=marja@chromium.org

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

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

10 years agoDrop obsolete dont_optimize compiler hint.
mstarzinger@chromium.org [Wed, 25 Jun 2014 12:12:21 +0000 (12:12 +0000)]
Drop obsolete dont_optimize compiler hint.

R=svenpanne@chromium.org

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

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

10 years agoFix --trace-ic position information for LoadICs and StoreICs in optimized code
jkummerow@chromium.org [Wed, 25 Jun 2014 12:06:03 +0000 (12:06 +0000)]
Fix --trace-ic position information for LoadICs and StoreICs in optimized code

R=yangguo@chromium.org

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

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

10 years agoWait for sweeper threads when expansion of old generation fails.
hpayer@chromium.org [Wed, 25 Jun 2014 10:53:00 +0000 (10:53 +0000)]
Wait for sweeper threads when expansion of old generation fails.

BUG=
R=ulan@chromium.org

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

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

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Wed, 25 Jun 2014 10:36:02 +0000 (10:36 +0000)]
Whitespace change to trigger bots.

TBR=jkummerow@chromium.org
BUG=

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

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

10 years agoTest that trailing commas in object literals are allowed
wingo@igalia.com [Wed, 25 Jun 2014 10:13:10 +0000 (10:13 +0000)]
Test that trailing commas in object literals are allowed

ES6 will allow trailing commas in object literals.  It turns out that V8
already allowed it, too, as does JSC and SpiderMonkey.

R=marja@chromium.org
BUG=

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

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

10 years agoSet OS=android via GYP_DEFINES
jochen@chromium.org [Wed, 25 Jun 2014 09:48:49 +0000 (09:48 +0000)]
Set OS=android via GYP_DEFINES

Otherwise, the variable isn't available in all scopes. Instead of playing around
with nested scopes, we just set it in GYP_DEFINES (same as chromium does)

BUG=v8:3405
R=ulan@chromium.org
LOG=n

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

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

10 years agoGrow heap slower if GC freed many global handles.
ulan@chromium.org [Wed, 25 Jun 2014 09:36:45 +0000 (09:36 +0000)]
Grow heap slower if GC freed many global handles.

BUG=263503
LOG=Y
R=hpayer@chromium.org

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

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

10 years agoPromotion is the backup strategy when semi-space copy fails and vice versa.
hpayer@chromium.org [Wed, 25 Jun 2014 09:31:25 +0000 (09:31 +0000)]
Promotion is the backup strategy when semi-space copy fails and vice versa.

BUG=
R=ishell@chromium.org

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

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

10 years agoDo not unnecessarily expose execution state in debug event data.
yangguo@chromium.org [Wed, 25 Jun 2014 09:13:09 +0000 (09:13 +0000)]
Do not unnecessarily expose execution state in debug event data.

When we fire a debug event, we create duplicate execution state objects,
one as argument for the debug event listener, one as property on the
debug event data object. The latter is never used by chrome.

R=yurys@chromium.org

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

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

10 years agoSuppress ASAN for non-compatible test case.
yangguo@chromium.org [Wed, 25 Jun 2014 09:05:28 +0000 (09:05 +0000)]
Suppress ASAN for non-compatible test case.

This test calls quit() to exit d8 without proper tear down.

R=machenbach@chromium.org

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

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

10 years agoAdd @@iterator, .entries(), .values(), .keys() support to typed arrays
wingo@igalia.com [Wed, 25 Jun 2014 08:46:53 +0000 (08:46 +0000)]
Add @@iterator, .entries(), .values(), .keys() support to typed arrays

R=arv@chromium.org, rossberg@chromium.org
BUG=

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

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

10 years agoFix clusterfuzz check in auto-roll.
machenbach@chromium.org [Wed, 25 Jun 2014 08:44:59 +0000 (08:44 +0000)]
Fix clusterfuzz check in auto-roll.

Minor fixes: Strip new lines from api key. Missing import. Use string query parameters.

BUG=
TBR=jarin@chromium.org

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

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

10 years agoRemove dependency from platform.h implementations on isolate
jochen@chromium.org [Wed, 25 Jun 2014 08:20:42 +0000 (08:20 +0000)]
Remove dependency from platform.h implementations on isolate

BUG=none
R=bmeurer@chromium.org
LOG=n

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

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

10 years agoAdd clusterfuzz check to v8 auto-roll script and use CQ.
machenbach@chromium.org [Wed, 25 Jun 2014 08:17:45 +0000 (08:17 +0000)]
Add clusterfuzz check to v8 auto-roll script and use CQ.

This adds a check step that makes sure there are no new issues when rolling into chromium.

It also checks the cq bit on roll upload.

BUG=
R=jarin@chromium.org

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

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

10 years agoFix mjsunit's assertOptimized and assertUnoptimized.
yangguo@chromium.org [Wed, 25 Jun 2014 08:01:13 +0000 (08:01 +0000)]
Fix mjsunit's assertOptimized and assertUnoptimized.

This was broken some time ago by a refactor.

R=ulan@chromium.org

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

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

10 years agoAdd @@iterator support for strings
wingo@igalia.com [Wed, 25 Jun 2014 07:43:14 +0000 (07:43 +0000)]
Add @@iterator support for strings

R=rossberg@chromium.org
BUG=

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

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

10 years agoAdd @@iterator to Array.prototype
wingo@igalia.com [Wed, 25 Jun 2014 07:32:57 +0000 (07:32 +0000)]
Add @@iterator to Array.prototype

R=rossberg@chromium.org
BUG=

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

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

10 years agoRevert "Update survival statistics correctly in the Scavenger."
marja@chromium.org [Wed, 25 Jun 2014 07:20:13 +0000 (07:20 +0000)]
Revert "Update survival statistics correctly in the Scavenger."

This reverts r21991.

Reason: lots of test failures.

BUG=
TBR=hpayer@chromium.org

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

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

10 years agoUpdate survival statistics correctly in the Scavenger.
hpayer@chromium.org [Wed, 25 Jun 2014 06:29:36 +0000 (06:29 +0000)]
Update survival statistics correctly in the Scavenger.

BUG=
R=ishell@chromium.org

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

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

10 years agoMIPS: optimize Lithium Allocate.
kilvadyb@homejinni.com [Tue, 24 Jun 2014 16:53:25 +0000 (16:53 +0000)]
MIPS: optimize Lithium Allocate.

Port r21968 (f6c757c)

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

10 years agoARM64: fix operator precedence issue.
rodolph.perfetta@arm.com [Tue, 24 Jun 2014 16:20:44 +0000 (16:20 +0000)]
ARM64: fix operator precedence issue.

As a result the constant pool marker was always 0.

BUG=
R=ulan@chromium.org

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

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

10 years agoCPU profiler: increase the max number of captured frames.
alph@chromium.org [Tue, 24 Jun 2014 16:00:51 +0000 (16:00 +0000)]
CPU profiler: increase the max number of captured frames.

LOG=N
R=jkummerow@chromium.org, loislo@chromium.org, yurys@chromium.org

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

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

10 years agoMore Map methods moved to private part.
ishell@chromium.org [Tue, 24 Jun 2014 15:56:36 +0000 (15:56 +0000)]
More Map methods moved to private part.

R=verwaest@chromium.org

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

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

10 years agoMaking MigrateToMap() a single bottleneck for all migrations except slow-to-fast...
ishell@chromium.org [Tue, 24 Jun 2014 15:28:29 +0000 (15:28 +0000)]
Making MigrateToMap() a single bottleneck for all migrations except slow-to-fast case.

R=verwaest@chromium.org

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

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

10 years agoMore set_map() calls replaced with MigrateToMap().
ishell@chromium.org [Tue, 24 Jun 2014 14:53:48 +0000 (14:53 +0000)]
More set_map() calls replaced with MigrateToMap().

R=verwaest@chromium.org

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

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

10 years agoPromote objects if semi-space copy fails while scavenging.
hpayer@chromium.org [Tue, 24 Jun 2014 14:30:22 +0000 (14:30 +0000)]
Promote objects if semi-space copy fails while scavenging.

BUG=388188
LOG=N
R=jarin@chromium.org

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

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

10 years agoInitialize the Isolate's use_counter_callback_ member
jochen@chromium.org [Tue, 24 Jun 2014 14:13:15 +0000 (14:13 +0000)]
Initialize the Isolate's use_counter_callback_ member

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

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

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

10 years agoNew try: Parser: Delay internalizing strings and values
marja@chromium.org [Tue, 24 Jun 2014 14:03:24 +0000 (14:03 +0000)]
New try: Parser: Delay internalizing strings and values

This is a reincarnation of r21841.

The previous try was https://codereview.chromium.org/314603004/ but it regressed
JSBench and morejs.

BUG=
R=rossberg@chromium.org

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

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

10 years agoRevert assertion change from r21933 in Isolate::RunMicrotasks().
yangguo@chromium.org [Tue, 24 Jun 2014 13:58:56 +0000 (13:58 +0000)]
Revert assertion change from r21933 in Isolate::RunMicrotasks().

R=marja@chromium.org

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

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

10 years agoSync 'git cl presubmit' and 'tools/presubmit.py'
jkummerow@chromium.org [Tue, 24 Jun 2014 13:56:54 +0000 (13:56 +0000)]
Sync 'git cl presubmit' and 'tools/presubmit.py'

More precisely, add CheckGeneratedRuntimeTests to checks performed by
'git cl presubmit'.

R=machenbach@chromium.org

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

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

10 years agoWhitespace change to trigger bots.
machenbach@chromium.org [Tue, 24 Jun 2014 13:55:26 +0000 (13:55 +0000)]
Whitespace change to trigger bots.

BUG=
TBR=jkummerow@chromium.org

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

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

10 years agoARM: optimize Lithium Allocate
Jacob.Bramley@arm.com [Tue, 24 Jun 2014 12:54:59 +0000 (12:54 +0000)]
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

10 years agoDon't list platform-posix.cc twice on android
jochen@chromium.org [Tue, 24 Jun 2014 12:41:17 +0000 (12:41 +0000)]
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

10 years agoARM64: Enable low level profiling.
baptiste.afsa@arm.com [Tue, 24 Jun 2014 12:40:20 +0000 (12:40 +0000)]
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

10 years agoRemove unused variables from assembler-arm.cc.
marja@chromium.org [Tue, 24 Jun 2014 12:20:12 +0000 (12:20 +0000)]
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

10 years agoARM: Fix inline assembly (r21949) for Clang.
Jacob.Bramley@arm.com [Tue, 24 Jun 2014 11:26:48 +0000 (11:26 +0000)]
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

10 years agoMake Object::IsFoo const.
svenpanne@chromium.org [Tue, 24 Jun 2014 09:47:25 +0000 (09:47 +0000)]
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

10 years agoFix a potential overflow in SortedListBSearch
yangguo@chromium.org [Tue, 24 Jun 2014 09:37:51 +0000 (09:37 +0000)]
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

10 years agoRemove bogus assertions in HCompareObjectEqAndBranch.
yangguo@chromium.org [Tue, 24 Jun 2014 09:33:05 +0000 (09:33 +0000)]
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

10 years agoDo not eagerly update allow_osr_at_loop_nesting_level.
yangguo@chromium.org [Tue, 24 Jun 2014 09:31:30 +0000 (09:31 +0000)]
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

10 years agoARM64: Clean up LiveEdit.
Jacob.Bramley@arm.com [Tue, 24 Jun 2014 08:16:33 +0000 (08:16 +0000)]
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

10 years agoSet host_arch to ia32 on machines with a 32bit userland but a 64bit kernel.
jochen@chromium.org [Tue, 24 Jun 2014 07:12:48 +0000 (07:12 +0000)]
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

10 years agoAdd X32 port into V8
haitao.feng@intel.com [Tue, 24 Jun 2014 05:27:44 +0000 (05:27 +0000)]
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

10 years agoUpdate GetNextSpillIndex to support x32 port.
haitao.feng@intel.com [Tue, 24 Jun 2014 03:41:45 +0000 (03:41 +0000)]
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

10 years agoChange some cmpq to cmpp, times_8 to times_pointer_size for x32 port.
haitao.feng@intel.com [Tue, 24 Jun 2014 03:39:54 +0000 (03:39 +0000)]
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

10 years agoMap/Set: Implement constructor parameter handling
adamk@chromium.org [Mon, 23 Jun 2014 18:05:57 +0000 (18:05 +0000)]
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

10 years agoARM: Clean up FlushICache.
Jacob.Bramley@arm.com [Mon, 23 Jun 2014 17:30:00 +0000 (17:30 +0000)]
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

10 years agoMIPS: Fix comment in r21905: "Support LiveEdit."
kilvadyb@homejinni.com [Mon, 23 Jun 2014 17:17:01 +0000 (17:17 +0000)]
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

10 years agoFix #include order in snapshot-external.cc
Jacob.Bramley@arm.com [Mon, 23 Jun 2014 17:16:07 +0000 (17:16 +0000)]
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

10 years agoMIPS: Introduce intrinsic to expose debug state to generated code.
kilvadyb@homejinni.com [Mon, 23 Jun 2014 16:49:52 +0000 (16:49 +0000)]
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

10 years agoARM64: Optimize generated code for gaps
Jacob.Bramley@arm.com [Mon, 23 Jun 2014 16:00:53 +0000 (16:00 +0000)]
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

10 years agoAdd PROJECT to v8
machenbach@chromium.org [Mon, 23 Jun 2014 15:33:19 +0000 (15:33 +0000)]
Add PROJECT to v8

BUG=374398
R=machenbach@chromium.org

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

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

10 years agoRevert "Create a RegisterSpec class inside of the IC that provides:"
mvstanton@chromium.org [Mon, 23 Jun 2014 14:28:38 +0000 (14:28 +0000)]
Revert "Create a RegisterSpec class inside of the IC that provides:"

This reverts commit r21939 due to a static initializer issue.

TBR=marja@chromium.org

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

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

10 years agoMap::MigrateToMap() now supports fast case (transition from a map that has run out...
ishell@chromium.org [Mon, 23 Jun 2014 14:23:25 +0000 (14:23 +0000)]
Map::MigrateToMap() now supports fast case (transition from a map that has run out of property space).

R=verwaest@chromium.org

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

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

10 years agoSupport external startup data in V8.
vogelheim@chromium.org [Mon, 23 Jun 2014 13:52:17 +0000 (13:52 +0000)]
Support external startup data in V8.

[Re-retry of r21696 and r21739]

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=jochen@chromium.org

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

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