platform/upstream/v8.git
9 years agoLayoutDescriptor should inherit from JSTypedArray
jochen [Tue, 21 Apr 2015 13:07:32 +0000 (06:07 -0700)]
LayoutDescriptor should inherit from JSTypedArray

It can't just inherit from a FixedTypedArray-like type, as we soon
assume that a FixedTypedArray-like type is always held by an
ArrayBufferView-like type

BUG=v8:3996
R=ishell@chromium.org,verwaest@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27964}

9 years ago[turbofan] split all functions off of LinearScanAllocator which are unrelated to...
dcarney [Tue, 21 Apr 2015 13:05:05 +0000 (06:05 -0700)]
[turbofan] split all functions off of LinearScanAllocator which are unrelated to LinearScan

this is in preparation for landing the GreedyAllocator

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27963}

9 years ago[test] Initial import of an emscripten test suite.
Benedikt Meurer [Tue, 21 Apr 2015 12:24:01 +0000 (14:24 +0200)]
[test] Initial import of an emscripten test suite.

These tests are based on individual tests from the Emscripten benchmark
suite, which are used to test Emscripten itself. We adopt them to test
asm.js code paths in V8.

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27962}

9 years ago[turbofan] Split ConstraintBuilder off of LiveRangeBuilder.
dcarney [Tue, 21 Apr 2015 12:01:45 +0000 (05:01 -0700)]
[turbofan] Split ConstraintBuilder off of LiveRangeBuilder.

Plus some driveby cleanup.

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

Cr-Commit-Position: refs/heads/master@{#27961}

9 years agoFactor formal argument parsing into ParserBase
wingo [Tue, 21 Apr 2015 11:09:53 +0000 (04:09 -0700)]
Factor formal argument parsing into ParserBase

This commit is a precursor to making lazy arrow function parsing use
similar logic to function(){} argument parsing.

Originally landed in these three CLs:

  https://codereview.chromium.org/1078093002
  https://codereview.chromium.org/1083623002
  https://codereview.chromium.org/1083953002

These were rolled out due to a performance regression on CodeLoad.  This
patchset will fix that by avoiding creation of a DuplicateFinder in the
full parser.

R=marja@chromium.org
BUG=
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27960}

9 years agoChange hash table capacity heuristics when serializing.
yangguo [Tue, 21 Apr 2015 11:07:44 +0000 (04:07 -0700)]
Change hash table capacity heuristics when serializing.

Also extract non-templated parts of HashTable class into HashTableBase.

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

Cr-Commit-Position: refs/heads/master@{#27959}

9 years agoRemoved src/{isolate,property-details,utils}-inl.h
svenpanne [Tue, 21 Apr 2015 10:21:50 +0000 (03:21 -0700)]
Removed src/{isolate,property-details,utils}-inl.h

Baby steps towards saner #includes...

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

Cr-Commit-Position: refs/heads/master@{#27958}

9 years agoAdd myself to include/OWNERS
jochen [Tue, 21 Apr 2015 10:06:17 +0000 (03:06 -0700)]
Add myself to include/OWNERS

BUG=none
R=danno@chromium.org
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27957}

9 years agoDon't assert that no incremental marking happened during a non-incremental GC
jochen [Tue, 21 Apr 2015 10:05:12 +0000 (03:05 -0700)]
Don't assert that no incremental marking happened during a non-incremental GC

If a scavenge is triggered during the GC (via a weak callback or the GC
prologue/epilogue), and another mark-compact is triggered (via the same
unfortunate code path), we end up doing some incremental steps.

BUG=v8:4048
R=dcarney@chromium.org,hpayer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27956}

9 years agoWrap harmony implementations in functions.
yangguo [Tue, 21 Apr 2015 09:42:16 +0000 (02:42 -0700)]
Wrap harmony implementations in functions.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27955}

9 years ago[turbofan] Cleanup register allocator a little after split.
dcarney [Tue, 21 Apr 2015 09:06:45 +0000 (02:06 -0700)]
[turbofan] Cleanup register allocator a little after split.

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

Cr-Commit-Position: refs/heads/master@{#27954}

9 years agoMigrate error messages, part 4 (v8natives.js).
yangguo [Tue, 21 Apr 2015 09:03:24 +0000 (02:03 -0700)]
Migrate error messages, part 4 (v8natives.js).

Goal is to reduce native context size.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27953}

9 years ago[test-runner] Add dedicated test mode for tryserver.
machenbach [Tue, 21 Apr 2015 08:17:19 +0000 (01:17 -0700)]
[test-runner] Add dedicated test mode for tryserver.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27952}

9 years agomake Handle a synonym of Local
dcarney [Tue, 21 Apr 2015 08:16:12 +0000 (01:16 -0700)]
make Handle a synonym of Local

R=svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27951}

9 years agoAvoid having untyped slots for objects embedded into code because it breaks slots...
ishell [Mon, 20 Apr 2015 23:45:15 +0000 (16:45 -0700)]
Avoid having untyped slots for objects embedded into code because it breaks slots filtering.

BUG=chromium:478747,chromium:478811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27950}

9 years agoSmall polishing changes to the native js.
yangguo [Mon, 20 Apr 2015 19:18:56 +0000 (12:18 -0700)]
Small polishing changes to the native js.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27949}

9 years agoDisable mjsunit/es7/object-observe on gc-stress, due to flakiness.
Daniel Vogelheim [Mon, 20 Apr 2015 18:14:44 +0000 (20:14 +0200)]
Disable mjsunit/es7/object-observe on gc-stress, due to flakiness.

TBR=machenbach@chromium.org
CC=adamk@chromium.org
BUG=478788
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27948}

9 years agoImport Reversed adapter from Chromium and use it in v8.
svenpanne [Mon, 20 Apr 2015 16:24:52 +0000 (09:24 -0700)]
Import Reversed adapter from Chromium and use it in v8.

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

Cr-Commit-Position: refs/heads/master@{#27947}

9 years ago[turbofan] split register allocator into little pieces
dcarney [Mon, 20 Apr 2015 16:15:34 +0000 (09:15 -0700)]
[turbofan] split register allocator into little pieces

R=titzer@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27946}

9 years agoReland "Refactor compilation dependency handling."
titzer [Mon, 20 Apr 2015 15:22:02 +0000 (08:22 -0700)]
Reland "Refactor compilation dependency handling."

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27945}

9 years agoRevert of Fix logic for doing incremental marking steps on tenured allocation. (patch...
jkummerow [Mon, 20 Apr 2015 15:19:43 +0000 (08:19 -0700)]
Revert of Fix logic for doing incremental marking steps on tenured allocation. (patchset #4 id:60001 of https://codereview.chromium.org/1040233003/)

Reason for revert:
Suspected of triggering memory corruption issues, e.g. crbug.com/478401.

Original issue's description:
> Fix logic for doing incremental marking steps on tenured allocation.
>
> R=hpayer@chromium.org
> BUG=
>
> Committed: https://crrev.com/9716468ae63500adb74f5188c47de847e195d71b
> Cr-Commit-Position: refs/heads/master@{#27883}

TBR=hpayer@chromium.org,erikcorry@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27944}

9 years agoMake sure builtins preserve guarantees about empty element array prototypes.
mvstanton [Mon, 20 Apr 2015 15:16:50 +0000 (08:16 -0700)]
Make sure builtins preserve guarantees about empty element array prototypes.

We have a bottleneck around storing elements in the array and object prototypes,
but the Push() and Unshift() builtins don't respect them.

Fix this exactly to the level of existing support for stores.

BUG=v8:4043
LOG=N
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27943}

9 years agoAllow for accessing an ArrayBuffer contents without externalizing it
jochen [Mon, 20 Apr 2015 15:01:55 +0000 (08:01 -0700)]
Allow for accessing an ArrayBuffer contents without externalizing it

The embedder has to take appropriate steps to ensure that the
ArrayBuffer doesn't die while it's accessing the pointer, e.g. keep a
Local handle to it around

BUG=none
R=dslomov@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27942}

9 years agoThrow when attaching a stack trace to an object fails.
yangguo [Mon, 20 Apr 2015 14:41:00 +0000 (07:41 -0700)]
Throw when attaching a stack trace to an object fails.

R=jarin@chromium.org
BUG=chromium:478011
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27941}

9 years agoWrap array implementation in a function.
yangguo [Mon, 20 Apr 2015 14:12:39 +0000 (07:12 -0700)]
Wrap array implementation in a function.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27940}

9 years agoRemove support for externally backed elements from the API
jochen [Mon, 20 Apr 2015 13:31:38 +0000 (06:31 -0700)]
Remove support for externally backed elements from the API

Embedders should use ArrayBuffers instead

BUG=v8:3996
LOG=y
R=verwaest@chromium.org,dslomov@chromium.org,kbr@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27939}

9 years agoDeprecate 3-args ResourceConstraints::ConfigureDefaults
jochen [Mon, 20 Apr 2015 13:26:38 +0000 (06:26 -0700)]
Deprecate 3-args ResourceConstraints::ConfigureDefaults

Embedders should use the 2-args version. Number of cores is just
ignored.

BUG=none
R=dcarney@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27938}

9 years agoReplace OVERRIDE->override and FINAL->final since we now require C++11.
Ross McIlroy [Mon, 20 Apr 2015 13:08:11 +0000 (14:08 +0100)]
Replace OVERRIDE->override and FINAL->final since we now require C++11.

R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27937}

9 years agoTemporarily skip slow test.
machenbach [Mon, 20 Apr 2015 12:23:29 +0000 (05:23 -0700)]
Temporarily skip slow test.

TBR=bmeurer@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27936}

9 years agoAlways wrap AllocationSiteContext::current() in a new handle in Crankshaft.
Ben L. Titzer [Mon, 20 Apr 2015 11:46:39 +0000 (13:46 +0200)]
Always wrap AllocationSiteContext::current() in a new handle in Crankshaft.

R=mvstanton@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27935}

9 years agoIndicate that low-memory-notificatin triggered GCs are "forced"
jochen [Mon, 20 Apr 2015 10:23:57 +0000 (03:23 -0700)]
Indicate that low-memory-notificatin triggered GCs are "forced"

BUG=none
R=hpayer@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27934}

9 years agoCorrectly name header macros for src/snapshot/*.h.
yangguo [Mon, 20 Apr 2015 10:22:21 +0000 (03:22 -0700)]
Correctly name header macros for src/snapshot/*.h.

R=mvstanton@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27933}

9 years agoSerializer: assert that we deserialize only one native context.
yangguo [Mon, 20 Apr 2015 09:57:15 +0000 (02:57 -0700)]
Serializer: assert that we deserialize only one native context.

R=mvstanton@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27932}

9 years agoFix serialization statistics for external strings.
yangguo [Mon, 20 Apr 2015 08:55:17 +0000 (01:55 -0700)]
Fix serialization statistics for external strings.

External strings are serialized as internal strings. The current way
of collecting stats is slightly wrong. We ought to use the map and
size passed to SerializePrologue.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27931}

9 years ago[mjsunit] Import test case based on the Massive/SQLite benchmark.
Benedikt Meurer [Mon, 20 Apr 2015 07:58:30 +0000 (09:58 +0200)]
[mjsunit] Import test case based on the Massive/SQLite benchmark.

This adds a stripped down version of the SQLite benchmark (running with
--size 1) to the mjsunit suite. We might want to move that to a
dedicated slow/stress/whatever test suite once an appropriate decision
is made.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27930}

9 years agoClean up output of heap object tracing
ulan [Sat, 18 Apr 2015 09:21:15 +0000 (02:21 -0700)]
Clean up output of heap object tracing

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27929}

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 18 Apr 2015 03:48:39 +0000 (20:48 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to d3e6123fdadc4bf98b8c676173f77f8f8eed363f

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27928}

9 years ago[modules] Parsing: add ModuleRequests where missing
adamk [Fri, 17 Apr 2015 22:45:15 +0000 (15:45 -0700)]
[modules] Parsing: add ModuleRequests where missing

Two last forms supported in this patch:
  - 'import' ModuleSpecifier
  - 'export' '*' 'from' ModuleSpecifier.

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27927}

9 years agoAdding missing V8_EXPORT flag in SpaceStatistics class in v8.h
ssid [Fri, 17 Apr 2015 19:33:18 +0000 (12:33 -0700)]
Adding missing V8_EXPORT flag in SpaceStatistics class in v8.h

This class was added in crrev.com/1058253003 and missed V8_EXPORT in
definition.

BUG=466141, 476013
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27926}

9 years agoTurn off SupportsFlexibleFloorAndRound for Arm64 due to a bug.
rmcilroy [Fri, 17 Apr 2015 18:00:24 +0000 (11:00 -0700)]
Turn off SupportsFlexibleFloorAndRound for Arm64 due to a bug.

There is a bug with SupportsFlexibleFloorAndRound on Arm64. Turn it off for
now until we figure out a proper solution.

BUG=chromium:476477
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27925}

9 years agoInitialize idle old generation allocation limit in constructor.
hpayer [Fri, 17 Apr 2015 16:57:34 +0000 (09:57 -0700)]
Initialize idle old generation allocation limit in constructor.

BUG=478082
NOTRY=true
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27924}

9 years agoPPC: Reland "Add basic crankshaft support for slow-mode for-in to avoid disabling...
mbrandy [Fri, 17 Apr 2015 15:56:22 +0000 (08:56 -0700)]
PPC: Reland "Add basic crankshaft support for slow-mode for-in to avoid disabling optimizations"

Port 8098253562c7585405f435145e7acf74ff0123f8

R=verwaest@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27923}

9 years ago[visualizer]: Add types to visualizer output
danno [Fri, 17 Apr 2015 15:46:23 +0000 (08:46 -0700)]
[visualizer]: Add types to visualizer output

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

Cr-Commit-Position: refs/heads/master@{#27922}

9 years agoFix GC-induced DCHECK failure in Runtime_GetWeakMapEntries
jkummerow [Fri, 17 Apr 2015 14:21:32 +0000 (07:21 -0700)]
Fix GC-induced DCHECK failure in Runtime_GetWeakMapEntries

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27921}

9 years agoWrap object observe implementation in a function.
yangguo [Fri, 17 Apr 2015 14:10:05 +0000 (07:10 -0700)]
Wrap object observe implementation in a function.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27920}

9 years agoAdding V8 api to get memory statistics of spaces in V8::Heap.
ssid [Fri, 17 Apr 2015 14:04:32 +0000 (07:04 -0700)]
Adding V8 api to get memory statistics of spaces in V8::Heap.

This is first step towards adding V8 heap statistics to the memory
tracing infrastructure. For being able to get useful memory number into
the memory dump, v8 needs to provide an external api needs to obtain
more information about the heap. So, this Cl extends the api to give
information about the memory allocated and used in the spaces.

BUG=466141, 476013
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27919}

9 years agoWrap JSON and generator implementation in functions.
yangguo [Fri, 17 Apr 2015 13:53:15 +0000 (06:53 -0700)]
Wrap JSON and generator implementation in functions.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27918}

9 years agoMigrate error messages, part 3 (runtime.js).
yangguo [Fri, 17 Apr 2015 13:27:41 +0000 (06:27 -0700)]
Migrate error messages, part 3 (runtime.js).

Motivation for this is reducing the size of the native context.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27917}

9 years agoDon't use normalized map cache for prototype maps
jkummerow [Fri, 17 Apr 2015 12:16:12 +0000 (05:16 -0700)]
Don't use normalized map cache for prototype maps

BUG=chromium:477924
LOG=n
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27916}

9 years agoBump limit in PushStackTraceAndDie
jkummerow [Fri, 17 Apr 2015 11:46:02 +0000 (04:46 -0700)]
Bump limit in PushStackTraceAndDie

To increase the chances of minidumps containing enough useful information

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27915}

9 years agoRename some things around incremental marking triggers
erikcorry [Fri, 17 Apr 2015 11:17:33 +0000 (04:17 -0700)]
Rename some things around incremental marking triggers

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27914}

9 years agoWhitespace commit to trigger bots.
Michael Achenbach [Fri, 17 Apr 2015 11:01:53 +0000 (13:01 +0200)]
Whitespace commit to trigger bots.

Cr-Commit-Position: refs/heads/master@{#27913}

9 years agoRevert "Factor formal argument parsing into ParserBase"
wingo [Fri, 17 Apr 2015 09:51:22 +0000 (02:51 -0700)]
Revert "Factor formal argument parsing into ParserBase"

Revert https://codereview.chromium.org/1078093002/ and follow-on parser
patches due to a perf regression.

This reverts commit 53ddccfc33f7052429e3261e15a2bbabb05760b3.
This reverts commit 71d3213a3f9da3f2ade37fe22ad02d8a658172c2.
This reverts commit 0f432ebb76350a69d59edc303c181c8ba1719c96.
This reverts commit 1dbc43272954e8cfdf7be9a57c953a74b2a4d9da.

R=marja@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27912}

9 years ago[crankshaft] Fix property access with proxies in prototype chain
verwaest [Fri, 17 Apr 2015 09:25:27 +0000 (02:25 -0700)]
[crankshaft] Fix property access with proxies in prototype chain

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27911}

9 years agoDisable always-opt for locker tests.
yangguo [Fri, 17 Apr 2015 09:13:37 +0000 (02:13 -0700)]
Disable always-opt for locker tests.

In no-snap mode, creating 100 contexts can take a while.
This becomes even worse with always-opt.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27910}

9 years agoFix DCHECK with unsigned int in zone.cc.
yangguo [Fri, 17 Apr 2015 09:06:56 +0000 (02:06 -0700)]
Fix DCHECK with unsigned int in zone.cc.

R=svenpanne@chromium.org
BUG=v8:4037
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27909}

9 years agoRe-enable an UNREACHABLE in JSObject::GetHeaderSize()
jkummerow [Fri, 17 Apr 2015 08:47:20 +0000 (01:47 -0700)]
Re-enable an UNREACHABLE in JSObject::GetHeaderSize()

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

Cr-Commit-Position: refs/heads/master@{#27908}

9 years agoReland "Migrate error messages, part 2."
yangguo [Fri, 17 Apr 2015 08:35:59 +0000 (01:35 -0700)]
Reland "Migrate error messages, part 2."

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

Cr-Commit-Position: refs/heads/master@{#27907}

9 years agoX87: Reland "Add basic crankshaft support for slow-mode for-in to avoid disabling...
chunyang.dai [Fri, 17 Apr 2015 08:18:14 +0000 (01:18 -0700)]
X87: Reland "Add basic crankshaft support for slow-mode for-in to avoid disabling optimizations"

port 8098253562c7585405f435145e7acf74ff0123f8 (r27898)

original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27906}

9 years agoLet asan imply clang and use_allocator=none.
machenbach [Fri, 17 Apr 2015 08:13:20 +0000 (01:13 -0700)]
Let asan imply clang and use_allocator=none.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27905}

9 years agoRevert of Refactor compilation dependency handling. (patchset #4 id:60001 of https...
machenbach [Fri, 17 Apr 2015 07:47:16 +0000 (00:47 -0700)]
Revert of Refactor compilation dependency handling. (patchset #4 id:60001 of https://codereview.chromium.org/1095433002/)

Reason for revert:
[Sheriff] Causes crashes in laout tests:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2543

Extra bisect run:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2548

Original issue's description:
> Refactor compilation dependency handling.
>
> Extract a new data structure CompilationDependencies and move (most) logic there.
>
> R=mstarzinger@chromium.org,verwaest@chromium.org
> BUG=
>
> Committed: https://crrev.com/b882479f1c84a48961b8aec81fa1bb1225034784
> Cr-Commit-Position: refs/heads/master@{#27892}

TBR=mstarzinger@chromium.org,verwaest@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27904}

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 17 Apr 2015 03:44:45 +0000 (20:44 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to 2afd19d64f7c67c73e2052e87fbe4e1bc2a671c9

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27903}

9 years agoRevert of Revert "Remove early bail-out in VisitWeakList to investigate chrasher...
jochen [Thu, 16 Apr 2015 21:00:12 +0000 (14:00 -0700)]
Revert of Revert "Remove early bail-out in VisitWeakList to investigate chrasher." (patchset #1 id:1 of https://codereview.chromium.org/1080303002/)

Reason for revert:
Still doesn't work

Original issue's description:
> Revert "Remove early bail-out in VisitWeakList to investigate chrasher."
>
> >  BUG=468601
> >  LOG=n
> >
> >  Review URL: https://codereview.chromium.org/1016353002
> >
> >  Cr-Commit-Position: refs/heads/master@{#27317}
>
> R=hpayer@chromium.org
> BUG=v8:3996,chromium:468601
> LOG=n
>
> Committed: https://crrev.com/835eeafe32f442d7b43fe175237de2c70ed7ceef
> Cr-Commit-Position: refs/heads/master@{#27814}

TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996,chromium:468601

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

Cr-Commit-Position: refs/heads/master@{#27902}

9 years agoSerializer: share executable accessor infos between native contexts.
yangguo [Thu, 16 Apr 2015 18:07:57 +0000 (11:07 -0700)]
Serializer: share executable accessor infos between native contexts.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27901}

9 years agoProperly report OOM when deoptimizer allocation fails
erikcorry [Thu, 16 Apr 2015 18:05:32 +0000 (11:05 -0700)]
Properly report OOM when deoptimizer allocation fails

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27900}

9 years agoDon't crash when reporting an access check failure for a detached global proxy
jkummerow [Thu, 16 Apr 2015 17:46:45 +0000 (10:46 -0700)]
Don't crash when reporting an access check failure for a detached global proxy

BUG=chromium:475884
LOG=y
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27899}

9 years agoReland "Add basic crankshaft support for slow-mode for-in to avoid disabling optimiza...
verwaest [Thu, 16 Apr 2015 17:32:05 +0000 (10:32 -0700)]
Reland "Add basic crankshaft support for slow-mode for-in to avoid disabling optimizations"

BUG=chromium:476592
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27898}

9 years agoUse smaller heap growing factor in idle notification to start incremental marking...
hpayer [Thu, 16 Apr 2015 16:31:41 +0000 (09:31 -0700)]
Use smaller heap growing factor in idle notification to start incremental marking when there is idle time >16ms.

BUG=chromium:477323
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27897}

9 years ago[turbofan] Add single --turbo flag.
mstarzinger [Thu, 16 Apr 2015 16:28:45 +0000 (09:28 -0700)]
[turbofan] Add single --turbo flag.

This flag is intended as a staging flag for TurboFan. It serves as a
single flag that always enables a most recent configuration of TurboFan
for test suites and benchmarks, without needing to update test drivers.

R=titzer@chromium.org,machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27896}

9 years agoPPC: Array() in optimized code can create with wrong ElementsKind in corner cases.
mbrandy [Thu, 16 Apr 2015 16:13:23 +0000 (09:13 -0700)]
PPC: Array() in optimized code can create with wrong ElementsKind in corner cases.

Port 13459c1ae3caa4cc546c522177bac5450a3252bf

Original commit message:
Calling new Array(JSObject::kInitialMaxFastElementArray) in optimized code
makes a stub call that bails out due to the length. Currently, the bailout
code a) doesn't have the allocation site, and b) wouldn't use it if it did
because the length is perceived to be too high.

This CL passes the allocation site to the stub call (rather than undefined),
and alters the bailout code to utilize the feedback.

R=mvstanton@chromium.org, michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27895}

9 years agoMIPS: Fix for StringCharCodeAtGenerator for vector-ics.
paul.lind [Thu, 16 Apr 2015 16:06:56 +0000 (09:06 -0700)]
MIPS: Fix for StringCharCodeAtGenerator for vector-ics.

Register pop order bug only surfaced after vector-ic optimization
in https://codereview.chromium.org/1053843003 was landed.

TEST=mjsunit/string-index.js
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27894}

9 years agoReland MIPS: Vector-ICs - speed towards the monomorphic exit as quickly as possible.
paul.lind [Thu, 16 Apr 2015 16:05:49 +0000 (09:05 -0700)]
Reland MIPS: Vector-ICs - speed towards the monomorphic exit as quickly as possible.

Port 35a67b745d862c5b1f584c2786ebf1369dc4f1ff

Original commit message:
Thanks to some careful assumptions, we can examine the object found at
vector[slot] and trust it's a heap object where the second field is
either a map if it's a WeakCell, or definitely not a map if it's a
Symbol, String or FixedArray. Use this to save a memory read.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27757}

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

Cr-Commit-Position: refs/heads/master@{#27893}

9 years agoRefactor compilation dependency handling.
titzer [Thu, 16 Apr 2015 16:04:43 +0000 (09:04 -0700)]
Refactor compilation dependency handling.

Extract a new data structure CompilationDependencies and move (most) logic there.

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

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

Cr-Commit-Position: refs/heads/master@{#27892}

9 years agoMove GetRootListIndex into Heap.
titzer [Thu, 16 Apr 2015 15:08:17 +0000 (08:08 -0700)]
Move GetRootListIndex into Heap.

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27891}

9 years agoMake test unthreaded so other tests don't interfere with heap size
erikcorry [Thu, 16 Apr 2015 14:44:31 +0000 (07:44 -0700)]
Make test unthreaded so other tests don't interfere with heap size

R=hpayer@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27890}

9 years agoRevert of Migrate error messages, part 2. (patchset #1 id:1 of https://codereview...
machenbach [Thu, 16 Apr 2015 14:33:34 +0000 (07:33 -0700)]
Revert of Migrate error messages, part 2. (patchset #1 id:1 of https://codereview.chromium.org/1086313003/)

Reason for revert:
[Sheriff]: This changes layout test expectations e.g.
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Win/builds/2964

Original issue's description:
> Migrate error messages, part 2.
>
> Motivation for this is reducing the size of the native context.
>
> Committed: https://crrev.com/d3b788df0a4ccfedbe6e1df5e214cb6ba2792a65
> Cr-Commit-Position: refs/heads/master@{#27878}

TBR=mvstanton@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27889}

9 years ago[strong] Allow mutually recursive classes.
marja [Thu, 16 Apr 2015 14:13:03 +0000 (07:13 -0700)]
[strong] Allow mutually recursive classes.

The previous restrictions were overshooting (didn't allow a class to refer to a
later class under any circumstances); after this CL we're undershooting (allow
referring to any class from inside a method).

Implementing the correct checks (allow referring only if the class declarations
are in a consecutive block and if there's no dependency cycle) will be
implemented as a follow up.

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27888}

9 years agoSerializer: collect and output memory statistics.
yangguo [Thu, 16 Apr 2015 13:39:21 +0000 (06:39 -0700)]
Serializer: collect and output memory statistics.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27887}

9 years agoAdd a flag to trace heap object stats on GC.
ulan [Thu, 16 Apr 2015 13:30:37 +0000 (06:30 -0700)]
Add a flag to trace heap object stats on GC.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27886}

9 years ago[strong] Implement static restrictions on switch statement
conradw [Thu, 16 Apr 2015 13:29:29 +0000 (06:29 -0700)]
[strong] Implement static restrictions on switch statement

Implements the strong mode proposal's restrictions on the syntax of the
switch statement. Also fixes a minor bug with empty statements in strong
mode and improves StrongUndefinedArrow parser synch tests.

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27885}

9 years agoIf a code space commit partially succeeds, free the memory
erikcorry [Thu, 16 Apr 2015 13:28:20 +0000 (06:28 -0700)]
If a code space commit partially succeeds, free the memory

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27884}

9 years agoFix logic for doing incremental marking steps on tenured allocation.
erikcorry [Thu, 16 Apr 2015 13:20:47 +0000 (06:20 -0700)]
Fix logic for doing incremental marking steps on tenured allocation.

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27883}

9 years agoStore hashes of current and previous shipped V8 version
hablich [Thu, 16 Apr 2015 12:51:51 +0000 (05:51 -0700)]
Store hashes of current and previous shipped V8 version

Will be used for calculating changes between versions

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27882}

9 years agoDisable more failing tests after f3338dd3b01c.
mstarzinger [Thu, 16 Apr 2015 12:46:36 +0000 (05:46 -0700)]
Disable more failing tests after f3338dd3b01c.

TBR=jkummerow@chromium.org
TEST=mjsunit/debug-ignore-breakpoints
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27881}

9 years agoSimplify DoParseProgram
wingo [Thu, 16 Apr 2015 12:42:43 +0000 (05:42 -0700)]
Simplify DoParseProgram

DoParseProgram doesn't appear to need to receive toplevel scopes as
arguments; it can properly set the end_position of the scopes to the
scanner's position after parsing is complete.

R=marja@chromium.org
BUG=
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27880}

9 years agoWrap map and set implementation in functions.
yangguo [Thu, 16 Apr 2015 12:17:46 +0000 (05:17 -0700)]
Wrap map and set implementation in functions.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27879}

9 years agoMigrate error messages, part 2.
yangguo [Thu, 16 Apr 2015 11:34:57 +0000 (04:34 -0700)]
Migrate error messages, part 2.

Motivation for this is reducing the size of the native context.

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

Cr-Commit-Position: refs/heads/master@{#27878}

9 years agoX87: Use Cells to check prototype chain validity (disabled by default).
chunyang.dai [Thu, 16 Apr 2015 10:40:54 +0000 (03:40 -0700)]
X87: Use Cells to check prototype chain validity (disabled by default).

port 0179ec57975c5063bbecd98e11cdda77ddad8996 (r27846).

original commit message:

 The cells are stored on prototypes (in their map's PrototypeInfo). When a
 prototype object changes its map, then both its own validity cell and those
 of all "downsstream" prototypes are invalidated; handlers for a given receiver
 embed the currently valid cell for that receiver's prototype during their
 compilation and check it on execution.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27877}

9 years agoMake store buffer more robust to OOM.
erikcorry [Thu, 16 Apr 2015 10:39:48 +0000 (03:39 -0700)]
Make store buffer more robust to OOM.

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27876}

9 years agoX87: Array() in optimized code can create with wrong ElementsKind in corner cases
chunyang.dai [Thu, 16 Apr 2015 10:38:43 +0000 (03:38 -0700)]
X87: Array() in optimized code can create with wrong ElementsKind in corner cases

port 13459c1ae3caa4cc546c522177bac5450a3252bf (r27857)

original commit message:

    Array() in optimized code can create with wrong ElementsKind in corner cases.

    Calling new Array(JSObject::kInitialMaxFastElementArray) in optimized code
    makes a stub call that bails out due to the length. Currently, the bailout
    code a) doesn't have the allocation site, and b) wouldn't use it if it did
    because the length is perceived to be too high.

    This CL passes the allocation site to the stub call (rather than undefined),
    and alters the bailout code to utilize the feedback.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27875}

9 years agoAdd missing Handle to GetOrCreatePrototypeChainValidityCell
jkummerow [Thu, 16 Apr 2015 10:37:34 +0000 (03:37 -0700)]
Add missing Handle to GetOrCreatePrototypeChainValidityCell

Follow-up to 333219a745ca.

NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#27874}

9 years agoX87: VectorICs: megamorphic keyed loads in crankshaft don't need a vector.
chunyang.dai [Thu, 16 Apr 2015 10:02:48 +0000 (03:02 -0700)]
X87: VectorICs: megamorphic keyed loads in crankshaft don't need a vector.

port 776770c0e4e9cffad408581962ca90f247ac66f0 (r27827).

original commit message:

  This needs "Pass load ic state through the Oracle"
  (https://codereview.chromium.org/1083933002/) to land first.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27873}

9 years agoEnable Cell-based prototype chain checks
jkummerow [Thu, 16 Apr 2015 09:32:00 +0000 (02:32 -0700)]
Enable Cell-based prototype chain checks

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

Cr-Commit-Position: refs/heads/master@{#27872}

9 years agoRevert of Experiment: reduce heap growing factor to investigate OOM impact. (patchset...
hpayer [Thu, 16 Apr 2015 09:06:49 +0000 (02:06 -0700)]
Revert of Experiment: reduce heap growing factor to investigate OOM impact. (patchset #4 id:60001 of https://codereview.chromium.org/1060533003/)

Reason for revert:
Experiment done.

Original issue's description:
> Experiment: reduce heap growing factor to investigate OOM impact.
>
> This CL will be reverted after getting sufficient data.
> BUG=
>
> Committed: https://crrev.com/8b737395c8fcde35cbfbed6607f767ed48eefc5b
> Cr-Commit-Position: refs/heads/master@{#27804}

TBR=ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27871}

9 years ago[turbofan] Clean up cached nodes in JSGraph.
titzer [Thu, 16 Apr 2015 08:41:44 +0000 (01:41 -0700)]
[turbofan] Clean up cached nodes in JSGraph.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27870}

9 years agoUse atomic operation to read the length of a fixed array.
ulan [Thu, 16 Apr 2015 08:39:19 +0000 (01:39 -0700)]
Use atomic operation to read the length of a fixed array.

This fixes a race where
- mutator changes the fixed array length by trimming it,
- sweeper thread reads the length of the fixed array.

Also rename FROM_GC and FROM_MUTATOR to be more precise.

BUG=chromium:462908
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#27869}

9 years agoAvoid evacuation of popular pages.
ulan [Thu, 16 Apr 2015 08:34:09 +0000 (01:34 -0700)]
Avoid evacuation of popular pages.

This breaks the (evacuation -> slots buffer overflow -> abort -> new GC -> evacuation) cycle for popular pages.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27868}

9 years agoRevert of [x64] Use xorl to materialize smi zero. (patchset #1 id:1 of https://codere...
bmeurer [Thu, 16 Apr 2015 08:31:26 +0000 (01:31 -0700)]
Revert of [x64] Use xorl to materialize smi zero. (patchset #1 id:1 of https://codereview.chromium.org/1085153002/)

Reason for revert:
Seems to cause performance regressions.

Original issue's description:
> [x64] Use xorl to materialize smi zero.
>
> Before we always loaded smi zero via a movabs with a 64-bit immediate,
> which is pretty expensive compared to the xorl.
>
> R=jarin@chromium.org
>
> Committed: https://crrev.com/f236777bfe6e080ff1ead6baf847cc9b6bb4f9cb
> Cr-Commit-Position: refs/heads/master@{#27829}

TBR=jarin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:477592
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27867}

9 years agofix visiting of phantom handles that should be retained
dcarney [Thu, 16 Apr 2015 08:30:28 +0000 (01:30 -0700)]
fix visiting of phantom handles that should be retained

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27866}

9 years agoFix signed/unsigned compare in messages.cc
yangguo [Thu, 16 Apr 2015 07:59:39 +0000 (00:59 -0700)]
Fix signed/unsigned compare in messages.cc

R=machenbach@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27865}