yangguo@chromium.org [Mon, 30 Jun 2014 11:12:42 +0000 (11:12 +0000)]
Introduce debug events for promises.
R=aandrey@chromium.org, rossberg@chromium.org
BUG=v8:3093
LOG=Y
Review URL: https://codereview.chromium.org/
357603005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Mon, 30 Jun 2014 11:07:28 +0000 (11:07 +0000)]
[Arm]: Make Assembler::movw only emit a movw instruction.
Currently Assembler::movw is really the mov macro instruction, leading to raw
emit calls to generate the real movw instruction. Replace all calls of mow
with the mov macro instruction (which will emit a movw if appropriate) and
make movw always emit movw.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
329233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Mon, 30 Jun 2014 11:06:03 +0000 (11:06 +0000)]
[Arm]: Fix liveedit support if --enable_ool_constant_pool is true.
If the out of line constant pool is enabled, there is an extra value on the stack frame (the
constant pool pointer). This change fixes GenerateFrameDropperLiveEdit to pull the function
pointer and pop the stack frame correctly whether or not the constant pool pointer is on the
frame.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
338053003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 30 Jun 2014 10:19:31 +0000 (10:19 +0000)]
Revert "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
This reverts commit r22082 for breaking arm64 build.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
360023003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 30 Jun 2014 09:44:43 +0000 (09:44 +0000)]
Replace HeapNumber as doublebox with an explicit MutableHeapNumber.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
355793003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 30 Jun 2014 08:59:23 +0000 (08:59 +0000)]
Remove kDontInline and simplify compiler hints.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
359733004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 30 Jun 2014 08:39:04 +0000 (08:39 +0000)]
Use simple keyed store again in ArrayPush_JS_Builtin
This reverts the change of array.js in r20839 and recovers 38%
performance regression of DOM-Search case in Browsermark2.0. There is
no performance impact on JavaScript benchmarks (Octane, Kraken and
SunSpider).
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
353953002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 30 Jun 2014 08:02:38 +0000 (08:02 +0000)]
Set promotion queue limit before migrating object.
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
357263004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jun 2014 06:45:23 +0000 (06:45 +0000)]
Revert "Add mechanism to postpone interrupts selectively."
This reverts commit r22073.
TBR=yurys@chromium.org
Review URL: https://codereview.chromium.org/
362493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jun 2014 06:27:20 +0000 (06:27 +0000)]
Add mechanism to postpone interrupts selectively.
BUG=v8:3408
LOG=N
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
359723005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Sat, 28 Jun 2014 00:33:04 +0000 (00:33 +0000)]
Support non-internalized string key lookups in Hydrogen KeyedLoadIC
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
356213003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 27 Jun 2014 18:30:14 +0000 (18:30 +0000)]
Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
354203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Fri, 27 Jun 2014 16:47:25 +0000 (16:47 +0000)]
Build "snapshot_blob.bin" only for the host when using separate toolsets.
BUG=389310
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
353143002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jun 2014 15:34:18 +0000 (15:34 +0000)]
Cannot check the interceptor since it may not be ready yet.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
353143003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jun 2014 14:01:42 +0000 (14:01 +0000)]
Port the ic part
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
354173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jun 2014 13:50:37 +0000 (13:50 +0000)]
Don't leak the global object in the Function constructor.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
359713005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jun 2014 13:48:37 +0000 (13:48 +0000)]
Split SetProperty(...attributes, strictmode) into DefineProperty(...attributes) and SetProperty(...strictmode)
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
351853005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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