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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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