platform/upstream/v8.git
8 years ago[test] Return variant and random seed on failures.
machenbach [Fri, 7 Aug 2015 08:36:09 +0000 (01:36 -0700)]
[test] Return variant and random seed on failures.

BUG=chromium:511215
LOG=n

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

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

8 years agoUpdate binutils version.
machenbach [Fri, 7 Aug 2015 08:09:39 +0000 (01:09 -0700)]
Update binutils version.

BUG=chromium:515782
LOG=n

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

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

8 years agoRevert of Test262 roll (patchset #9 id:160001 of https://codereview.chromium.org...
machenbach [Fri, 7 Aug 2015 06:41:30 +0000 (23:41 -0700)]
Revert of Test262 roll (patchset #9 id:160001 of https://codereview.chromium.org/1268553003/ )

Reason for revert:
[Sheriff] Lacks one test expectation for
http://build.chromium.org/p/client.v8/builders/V8%20Linux64/builds/4573
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim/builds/4516

64 bits only?

Original issue's description:
> Update to latest test262 from 2015-07-31
>
> Committed: https://crrev.com/722ad6923887d367f14588f5ccd6697b8684bd28
> Cr-Commit-Position: refs/heads/master@{#30052}

TBR=adamk@chromium.org,littledan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

8 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 7 Aug 2015 03:26:22 +0000 (20:26 -0700)]
Update V8 DEPS.

Rolling v8/third_party/icu to bbb24c53b4f46025e87a5973c39fa722c8757595

TBR=machenbach@chromium.org

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

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

8 years agoRename "extras exports" to "extras binding"
domenic [Thu, 6 Aug 2015 23:52:47 +0000 (16:52 -0700)]
Rename "extras exports" to "extras binding"

R=yangguo@chromium.org, jochen@chromium.org
BUG=507133
LOG=Y

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

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

8 years agoUpdate to latest test262 from 2015-07-31
littledan [Thu, 6 Aug 2015 22:46:34 +0000 (15:46 -0700)]
Update to latest test262 from 2015-07-31

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

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

8 years agoV8: Add SIMD functions for Phase 1.
bbudge [Thu, 6 Aug 2015 20:24:45 +0000 (13:24 -0700)]
V8: Add SIMD functions for Phase 1.

Float32x4:
  abs, neg, sqrt, reciprocalApproximation, reciprocalSqrtApproximation, add, sub, mul, div,
  min, max, minNum, maxNum, lessThan, lessThanOrEqual, greaterThan, greaterThanOrEqual,
  equal, notEqual, select, swizzle, shuffle, fromInt32x4, fromInt32x4Bits, fromInt16x8Bits,
  fromInt8x16Bits.

Int32x4:
  neg, add, sub, mul, min, max, and, or, xor, not, shiftLeftByScalar, shiftRightLogicalByScalar,
  shiftRightArithmeticByScalar, lessThan, lessThanOrEqual, greaterThan, greaterThanOrEqual,
  equal, notEqual, select, swizzle, shuffle, fromFloat32x4, fromFloat32x4Bits, fromInt16x8Bits,
  fromInt8x16Bits.

Int16x8:
  neg, add, sub, mul, min, max, and, or, xor, not, shiftLeftByScalar, shiftRightLogicalByScalar,
  shiftRightArithmeticByScalar, lessThan, lessThanOrEqual, greaterThan, greaterThanOrEqual,
  equal, notEqual, select, swizzle, shuffle, fromFloat32x4Bits, fromInt32x4Bits, fromInt8x16Bits.

Int8x16:
  neg, add, sub, mul, min, max, and, or, xor, not, shiftLeftByScalar, shiftRightLogicalByScalar,
  shiftRightArithmeticByScalar, lessThan, lessThanOrEqual, greaterThan, greaterThanOrEqual,
  equal, notEqual, select, swizzle, shuffle, fromFloat32x4Bits, fromInt32x4Bits, fromInt16x8Bitss.

Bool32x4, Bool16x8, Bool8x16:
  and, or, not, anyTrue, allTrue, select, swizzle, shuffle.

I might have forgotten a few.

LOG=N
BUG=v8:4124

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

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

8 years agoStand-alone deferred block splitting. This continues 1256313003.
mtrofin [Thu, 6 Aug 2015 16:21:23 +0000 (09:21 -0700)]
Stand-alone deferred block splitting. This continues 1256313003.

BUG=

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

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

8 years agoPartially revert https://crrev.com/7e53749df0a10f475404e86ef0ca8df02bb79e7a
ulan [Thu, 6 Aug 2015 16:05:14 +0000 (09:05 -0700)]
Partially revert https://crrev.com/7e53749df0a10f475404e86ef0ca8df02bb79e7a

This fixes memory regression caused by not reducing new-space size.

BUG=chromium:517468
LOG=NO

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

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

8 years agoWhitespace change to test infra-runner change.
Michael Achenbach [Thu, 6 Aug 2015 15:18:43 +0000 (17:18 +0200)]
Whitespace change to test infra-runner change.

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

8 years agoFix stale entries in optimized code map.
mstarzinger [Thu, 6 Aug 2015 14:22:01 +0000 (07:22 -0700)]
Fix stale entries in optimized code map.

This fixes a corner-case where extending an optimized code map left
stale entries in the abandoned copy. This can cause havoc not only in
the heap verifier but also in the GC, because stale entries have not
been recorded when being trated weakly.

Note that this also pre-tenures all optimized code maps into old-space
because their lifetime is coupled to the SharedFunctionInfo anyways.

R=hpayer@chromium.org
TEST=cctest/test-heap/Regress514122
BUG=chromium:514122
LOG=N

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

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

8 years agoHelpful checks.cc file is being helpful.
mstarzinger [Thu, 6 Aug 2015 13:33:37 +0000 (06:33 -0700)]
Helpful checks.cc file is being helpful.

R=titzer@chromium.org

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

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

8 years ago[test] Make test filters platform-independent.
machenbach [Thu, 6 Aug 2015 12:36:49 +0000 (05:36 -0700)]
[test] Make test filters platform-independent.

Use the same path separator for test cases on the cmd-line
on all platforms as in testcase.GetLabel, which is used to
report failures.

BUG=chromium:511215
LOG=n
NOTRY=true

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

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

8 years agoWhen allocation rate is low and we are close to the new space limit, we should perfor...
hpayer [Thu, 6 Aug 2015 12:10:25 +0000 (05:10 -0700)]
When allocation rate is low and we are close to the new space limit, we should perform a scavenge during idle time.

BUG=chromium:517395
LOG=n

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

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

8 years ago[GC] Check for incremental marking when a GC is triggered on reaching the external...
mlippautz [Thu, 6 Aug 2015 11:49:47 +0000 (04:49 -0700)]
[GC] Check for incremental marking when a GC is triggered on reaching the external allocation limit

We missed a check whether we can actually do incremental marking when starting
it on reaching the external allocation limit.

BUG=chromium:517195
LOG=N

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

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

8 years agoFix Array.prototype.concat for arguments object with getter.
yangguo [Thu, 6 Aug 2015 10:28:29 +0000 (03:28 -0700)]
Fix Array.prototype.concat for arguments object with getter.

R=adamk@chromium.org
BUG=chromium:516775
LOG=N

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

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

8 years agoFix idle step marking after 9d7ebc.
ulan [Thu, 6 Aug 2015 10:14:52 +0000 (03:14 -0700)]
Fix idle step marking after 9d7ebc.

Idle notification should force marking to make progress.

BUG=

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

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

8 years agoFix off-by-one in Array.concat's max index check
jkummerow [Thu, 6 Aug 2015 09:57:11 +0000 (02:57 -0700)]
Fix off-by-one in Array.concat's max index check

The maximum valid index is strictly smaller than the maximum valid length.

BUG=chromium:516592
LOG=y
R=yangguo@chromium.org

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

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

8 years agoWhen working on the register allocator, I often need to introspect the various compon...
mtrofin [Thu, 6 Aug 2015 06:15:18 +0000 (23:15 -0700)]
When working on the register allocator, I often need to introspect the various components of the model - e.g. InstructionSequence, Instruction, LiveRange, etc. A pretty printer would help. While we have a suite of operator<< defined for these types, turns out that using them at debug time is close to impossible - gdb has poor (or convoluted) support for instantiating structures (e.g. OFStream, PrintableInstructionSequence, etc), and calling operator<< with pass-by-reference semantics.

I explored gdb macros, but hit an issue quite early with instantiating and initializing an OFStream - "virtual baseclass botch".

Currently, I have a side-file that I include (and then remove before publishing CLs), which defines wrappers to the above operator<< APIs, but this is becoming quite awkward, and I believe the functionality to be quite useful to anyone working in this (regalloc) area, so it's worth having something better than local side-files. The gdb path seems overly-twisted for the problem at hand, and I've noticed elsewhere (e.g. Object) the presence of Print APIs - hence this change.

BUG=

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

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

8 years agoDelete --harmony-computed-property-names flag
adamk [Wed, 5 Aug 2015 21:32:25 +0000 (14:32 -0700)]
Delete --harmony-computed-property-names flag

It was shipped in V8 4.4.

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

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

8 years agoTry turning object-observe test back on in gc-stress
Adam Klein [Wed, 5 Aug 2015 21:24:48 +0000 (14:24 -0700)]
Try turning object-observe test back on in gc-stress

Also remove obsolete reference to harmony/object-observe in deopt fuzzer
skip section.

BUG=chromium:478788
LOG=n
TBR=vogelheim@chromium.org

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

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

8 years ago[futex] Avoid accumulation errors in futex wait timeout
binji [Wed, 5 Aug 2015 20:58:06 +0000 (13:58 -0700)]
[futex] Avoid accumulation errors in futex wait timeout

The code previously used a relative timeout and accumulated wait times to see
if the timeout was exceeded. Now we convert the timeout into an absolute time,
and always compare the current time against that.

BUG=v8:4357
R=machenbach@chromium.org
LOG=n

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

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

8 years agoDelete --harmony-unicode flag
adamk [Wed, 5 Aug 2015 19:08:22 +0000 (12:08 -0700)]
Delete --harmony-unicode flag

It was shipped in V8 4.4.

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

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

8 years ago[es6] Remove Scanner and Parser flags for harmony_modules
adamk [Wed, 5 Aug 2015 17:59:39 +0000 (10:59 -0700)]
[es6] Remove Scanner and Parser flags for harmony_modules

These flags weren't doing any real work, since the decision of whether some
source code is a script or module is made outside the parser (currently,
by the V8 API).

The only behavior change in this patch is to always parse 'import' and
'export' as their Token values, which changes the error message from
"Unexpected reserved word" to "Unexpected token import" (which doesn't
seem particularly harmful).

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

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

8 years ago[strong] Refactor out separate strong runtime call for class objects
conradw [Wed, 5 Aug 2015 16:03:57 +0000 (09:03 -0700)]
[strong] Refactor out separate strong runtime call for class objects

BUG=v8:3956
LOG=N

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

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

8 years ago[strong] dot prototypes of strong class literals should be strong objects
conradw [Wed, 5 Aug 2015 15:36:56 +0000 (08:36 -0700)]
[strong] dot prototypes of strong class literals should be strong objects

BUG=v8:3956
LOG=N

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

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

8 years agoRetire StringTracker.
hpayer [Wed, 5 Aug 2015 15:12:35 +0000 (08:12 -0700)]
Retire StringTracker.

BUG=

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

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

8 years agoEnsure `String.prototype.normalize.length` is `0`
mathias [Wed, 5 Aug 2015 15:11:10 +0000 (08:11 -0700)]
Ensure `String.prototype.normalize.length` is `0`

TEST=test/intl/string/normalization
BUG=v8:4303
LOG=N

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

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

8 years agoIntroduce object visitor to estimate the size of a native context.
yangguo [Wed, 5 Aug 2015 14:06:43 +0000 (07:06 -0700)]
Introduce object visitor to estimate the size of a native context.

This is only an estimate since it counts objects that could be shared,
for example strings, cow arrays, heap numbers, etc.

It however ignores objects that could be shared, but may only be used
by the context to be measured, for example shared function infos,
script objects, scope infos, etc.

R=jochen@chromium.org

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

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

8 years ago[GC] Change behavior when reaching external allocation limit
mlippautz [Wed, 5 Aug 2015 13:29:01 +0000 (06:29 -0700)]
[GC] Change behavior when reaching external allocation limit

With the recent changes to the incremental marking API we can now kick off
incremental marking while respecting callback flags.

Performance neutral for smoothness.image_decoding_cases on N9 (read: does not
crash) as long as we synchronously process phantom callbacks
(kGCCallbackFlagForced).

OORT single run:
  "marksweep": {
    "count": 5,
    "pause_min": 7.5,
    "pause_max": 158.8,
    "pause_avg": 97.52000000000001,
    "pause_gt_10ms": 4
  }
  --- vs ---
  "marksweep": {
    "count": 5,
    "pause_min": 16.2,
    "pause_max": 22.1,
    "pause_avg": 19.32,
    "pause_gt_10ms": 5
  }

The number of actual full GCs varies. The improvement manifests in reduced
maximum and average pauses.

BUG=chromium:515795
LOG=N

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

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

8 years agoSweep map space concurrently.
hpayer [Wed, 5 Aug 2015 13:11:29 +0000 (06:11 -0700)]
Sweep map space concurrently.

BUG=chromium:507211
LOG=n

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

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

8 years agoRemove serializer-specific hash table size heuristic.
yangguo [Wed, 5 Aug 2015 12:50:46 +0000 (05:50 -0700)]
Remove serializer-specific hash table size heuristic.

The heuristic can cause weird behavior when bootstrapping.
The memory savings is not worth this hassle.

Committed: https://crrev.com/fc80f29a582b758d14aae864232624ca45e47ddc
Cr-Commit-Position: refs/heads/master@{#30019}

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

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

8 years ago[es6] Implement proper TDZ for parameters
rossberg [Wed, 5 Aug 2015 12:00:41 +0000 (05:00 -0700)]
[es6] Implement proper TDZ for parameters

Previously, examples like (({a = x}, x) => {})({}, 0) did not throw a ReferenceError like they should. This CL

- Splits up DeclareFormalParameters such that the formals can be recorded first and declared later.

- Declaration then takes the complete parameter list into account. If it is not simple, temporaries are introduced for all parameters.

- BuildParameterInitializationBlock desugars all parameters from non-simple lists into let-bindings.

- Refactored Pre/ParserFormalParameters, so that the arity information is no longer duplicated in Parser.

- Rest is currently handled specially, until rest-via-destructuring has landed.

R=adamk@chromium.org, littledan@chromium.org
BUG=v8:811
LOG=N

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

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

8 years agoRevert of Remove serializer-specific hash table size heuristic. (patchset #1 id:1...
yangguo [Wed, 5 Aug 2015 11:45:31 +0000 (04:45 -0700)]
Revert of Remove serializer-specific hash table size heuristic. (patchset #1 id:1 of https://codereview.chromium.org/1265983006/ )

Reason for revert:
This still breaks: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/1296/steps/Mjsunit/logs/load-proxy

Test: mjsunit/strong/load-proxy
Flags: --stress-opt --always-opt
Command: out/Debug/d8 --test --random-seed=2021532800 --stress-opt --always-opt --nohard-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --harmony-proxies --strong-mode test/mjsunit/strong/load-proxy.js --gc-interval=500 --stress-compaction --concurrent-recompilation-queue-length=64 --concurrent-recompilation-delay=500 --concurrent-recompilation

Run #1
Exit code: -11
Result: CRASH
Expected outcomes: PASS
Duration: 00:00:553

Run #2
Exit code: -11
Result: CRASH
Expected outcomes: PASS
Duration: 00:00:520

Run #3
Exit code: -11
Result: CRASH
Expected outcomes: PASS
Duration: 00:00:572

Original issue's description:
> Remove serializer-specific hash table size heuristic.
>
> The heuristic can cause weird behavior when bootstrapping.
> The memory savings is not worth this hassle.
>
> Committed: https://crrev.com/fc80f29a582b758d14aae864232624ca45e47ddc
> Cr-Commit-Position: refs/heads/master@{#30019}

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

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

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

8 years agoCleanup unnecessary duplication of runtime functions.
mstarzinger [Wed, 5 Aug 2015 11:20:07 +0000 (04:20 -0700)]
Cleanup unnecessary duplication of runtime functions.

R=yangguo@chromium.org

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

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

8 years agoRevert of Revert part of "Remove serializer-specific hash table size heuristic."...
yangguo [Wed, 5 Aug 2015 10:26:55 +0000 (03:26 -0700)]
Revert of Revert part of "Remove serializer-specific hash table size heuristic." (patchset #1 id:1 of https://codereview.chromium.org/1272123002/ )

Reason for revert:
Did not fix issue it was intended to fix.

Original issue's description:
> Revert part of "Remove serializer-specific hash table size heuristic."
>
> TBR=machenbach@chromium.org
> NOTRY=true
> NOTREECHECKS=true
>
> Committed: https://crrev.com/68e5ae5282f3ba787c27ffa6e92fed6e5ff725e4
> Cr-Commit-Position: refs/heads/master@{#30021}

TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

8 years agoRevert part of "Remove serializer-specific hash table size heuristic."
yangguo [Wed, 5 Aug 2015 08:56:02 +0000 (01:56 -0700)]
Revert part of "Remove serializer-specific hash table size heuristic."

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

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

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

8 years agoFully deprecate FixedArray::CopySize method.
mstarzinger [Wed, 5 Aug 2015 08:53:17 +0000 (01:53 -0700)]
Fully deprecate FixedArray::CopySize method.

R=hpayer@chromium.org

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

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

8 years agoRemove serializer-specific hash table size heuristic.
yangguo [Wed, 5 Aug 2015 07:35:31 +0000 (00:35 -0700)]
Remove serializer-specific hash table size heuristic.

The heuristic can cause weird behavior when bootstrapping.
The memory savings is not worth this hassle.

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

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

8 years agoUpdate V8 DEPS.
v8-autoroll [Wed, 5 Aug 2015 03:28:38 +0000 (20:28 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to c9a343c6a8065127989a05fe2a3fc76c26ad8102

TBR=machenbach@chromium.org

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

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

8 years agoAdd a --harmony-object-observe runtime flag (on by default)
adamk [Tue, 4 Aug 2015 20:52:42 +0000 (13:52 -0700)]
Add a --harmony-object-observe runtime flag (on by default)

To avoid tanking context startup performance, only the actual installation of the
JS-exposed API is flag-guarded. The remainder of the implementation still
resides in the snapshot.

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

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

8 years ago[d8 Workers] Throw when calling Worker constructor without new
binji [Tue, 4 Aug 2015 20:39:10 +0000 (13:39 -0700)]
[d8 Workers] Throw when calling Worker constructor without new

BUG=4399
R=jarin@chromium.org
LOG=n

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

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

8 years agoRetire ShortCircuitConsString.
hpayer [Tue, 4 Aug 2015 19:18:47 +0000 (12:18 -0700)]
Retire ShortCircuitConsString.

BUG=

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

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

8 years agoReland: GC: Refactor public incremental marking interface in heap
mlippautz [Tue, 4 Aug 2015 19:00:29 +0000 (12:00 -0700)]
Reland: GC: Refactor public incremental marking interface in heap

Combines:
* https://codereview.chromium.org/1273483002/
* https://codereview.chromium.org/1266793003/

This reverts commit 0215fb56f4c75b054116632039edbff0d7f40373.

BUG=

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

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

8 years agoShip --harmony-new-target
adamk [Tue, 4 Aug 2015 18:01:00 +0000 (11:01 -0700)]
Ship --harmony-new-target

BUG=v8:3887
LOG=y

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

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

8 years agoIntroduce safe interface to "copy and grow" FixedArray.
mstarzinger [Tue, 4 Aug 2015 17:48:42 +0000 (10:48 -0700)]
Introduce safe interface to "copy and grow" FixedArray.

This introduces a CopyFixedArrayAndGrow method on Factory that takes
the "grow amount" instead of the "new size" as an argument. The new
interface is safer because it allows for mutations by the GC that
potentially trim the source array.

This also fixes a bug in SharedFunctionInfo::AddToOptimizedCodeMap
where the aformentioned scenario led to unused entries within the
optimized code map.

Note that FixedArray::CopySize is hereby deprecated because it is
considered unsafe and should no longer be used.

R=hpayer@chromium.org
TEST=mjsunit/regress/regress-crbug-513507
BUG=chromium:513507
LOG=n

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

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

8 years agoRevert of GC: Refactor public incremental marking interface in heap (patchset #6...
adamk [Tue, 4 Aug 2015 17:47:27 +0000 (10:47 -0700)]
Revert of GC: Refactor public incremental marking interface in heap (patchset #6 id:100001 of https://codereview.chromium.org/1273483002/ )

Reason for revert:
Fails on the MSAN builder:

http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/3580/steps/Check/logs/RegExpInterruption

Likely due to lack of initialization of IncrementalMarking::gc_callback_flags_.

Original issue's description:
> GC: Refactor incremental marking interface from heap
>
> BUG=
>
> Committed: https://crrev.com/c9fcaeb336919ce4b76fded8c8059457e9820250
> Cr-Commit-Position: refs/heads/master@{#30009}

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

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

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

8 years ago[es6] new.target should not be shadowable in a with scope
adamk [Tue, 4 Aug 2015 17:14:48 +0000 (10:14 -0700)]
[es6] new.target should not be shadowable in a with scope

BUG=v8:3887
LOG=n

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

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

8 years agoGC: Refactor incremental marking interface from heap
mlippautz [Tue, 4 Aug 2015 16:56:29 +0000 (09:56 -0700)]
GC: Refactor incremental marking interface from heap

BUG=

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

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

8 years agoRevert d5419b for regressing v8.top_25_smooth benchmark.
ulan [Tue, 4 Aug 2015 16:50:27 +0000 (09:50 -0700)]
Revert d5419b for regressing v8.top_25_smooth benchmark.

BUG=chromium:516425
LOG=NO

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

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

8 years agoChange RecordSlot interface. Make it more robust by replacing anchor slot with actual...
hpayer [Tue, 4 Aug 2015 16:41:51 +0000 (09:41 -0700)]
Change RecordSlot interface. Make it more robust by replacing anchor slot with actual object.

BUG=

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

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

8 years agoFix another instance of the previous build issue
rossberg [Tue, 4 Aug 2015 15:50:36 +0000 (08:50 -0700)]
Fix another instance of the previous build issue

TBR=yangguo@chromium.org
BUG=

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

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

8 years agoSetting up the stage for heuristics that preprocess live ranges before register alloc...
mtrofin [Tue, 4 Aug 2015 14:49:44 +0000 (07:49 -0700)]
Setting up the stage for heuristics that preprocess live ranges before register allocation, and are independent of register allocation - e.g. the deferred blocks heuristic, or the split at call sites heuristic.

Added a separate flag for this, since we intend to enable it for the linear allocator as well. Currently, the option is "on" for greedy, as a point in time to enable its testing (through the greedy allocator bots).

BUG=

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

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

8 years agoRename IsSimdObject assembly intrinsic.
bbudge [Tue, 4 Aug 2015 14:36:53 +0000 (07:36 -0700)]
Rename IsSimdObject assembly intrinsic.
Change IS_SIMD_OBJECT to IS_SIMD_VALUE, and IsSimdObject to IsSimdValue.

R=rossberg
LOG=N
BUG=v8:4124

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

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

8 years agoAvoid data race when writing Shell::options.script_executed.
vogelheim [Tue, 4 Aug 2015 14:31:41 +0000 (07:31 -0700)]
Avoid data race when writing Shell::options.script_executed.

The race occurred when Workers were used. Since Workers call
Shell::ExecuteString from a different thread, TSAN (correctly) flags
this as a racy write. Solution would be to either synchronize the writes,
or to 'lift' the write higher up in the call stack and only write the flag
from the main thread. This implements this latter solution.

These methods call Shell::ExecuteString, but do *not* set script_executed:
- ExecuteInThread: Can only occur is JS has already been executed.
- Shell::Load: Callback for JS; so JS has already been executed when
               we get there.
- Shell::RunShell: Interactive shell. We no longer need script_executed once
                   we're here.

BUG=v8:4330
LOG=N

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

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

8 years ago[es6] Refactor FormalParameter
rossberg [Tue, 4 Aug 2015 14:24:13 +0000 (07:24 -0700)]
[es6] Refactor FormalParameter

Store arity in FormalParameters; store name (instead of var) and is_rest flag in individual parameters. Ensure that the arity is always maintained consistently.

This is preparation for more parameter destructuring adjustments. In particular, a follow-up CL will separate parameter recording from declaring the variables.

R=adamk@chromium.org, littledan@chromium.org
BUG=v8:811
LOG=N

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

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

8 years agoFix build error (missing cast to void*)
rossberg [Tue, 4 Aug 2015 14:23:08 +0000 (07:23 -0700)]
Fix build error (missing cast to void*)

TBR=yangguo@chromium.org
BUG=

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

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

8 years agoRevert of Remove serializer-specific hash table size heuristic. (patchset #1 id:1...
yangguo [Tue, 4 Aug 2015 14:08:39 +0000 (07:08 -0700)]
Revert of Remove serializer-specific hash table size heuristic. (patchset #1 id:1 of https://codereview.chromium.org/1265983006/ )

Reason for revert:
https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/builds/3088/steps/Mjsunit/logs/load-proxy

Original issue's description:
> Remove serializer-specific hash table size heuristic.
>
> The heuristic can cause weird behavior when bootstrapping.
> The memory savings is not worth this hassle.
>
> Committed: https://crrev.com/a246e296c6366dcd0a2d8aa0df973d57093178f6
> Cr-Commit-Position: refs/heads/master@{#29992}

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

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

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

8 years ago[turbofan] Handle void returns in instruction selector.
titzer [Tue, 4 Aug 2015 13:13:54 +0000 (06:13 -0700)]
[turbofan] Handle void returns in instruction selector.

R=jarin@chromium.org
BUG=

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

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

8 years agoCorrect handling of temporaries as parameters.
rossberg [Tue, 4 Aug 2015 13:02:59 +0000 (06:02 -0700)]
Correct handling of temporaries as parameters.

They need to be properly recorded in the scope's temps set, otherwise allocation doesn't know about them and can break. (Not observable right now, but necessary for follow-up changes to parameter destructuring.)

Also, print temporary variables in a useful manner.

R=adamk@chromium.org
BUG=

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

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

8 years agoRemove some outdated/unused declarations.
yangguo [Tue, 4 Aug 2015 12:43:00 +0000 (05:43 -0700)]
Remove some outdated/unused declarations.

R=jkummerow@chromium.org

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

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

8 years agoPerform full GC in background idle notification.
ulan [Tue, 4 Aug 2015 12:41:39 +0000 (05:41 -0700)]
Perform full GC in background idle notification.

BUG=chromium:515873
LOG=NO

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

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

8 years agoDebugger: refactor ScopeIterator, FrameInspector and DebugEvaluate.
yangguo [Tue, 4 Aug 2015 12:08:56 +0000 (05:08 -0700)]
Debugger: refactor ScopeIterator, FrameInspector and DebugEvaluate.

This is a pure refactor and does not change functionality.

R=ulan@chromium.org

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

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

8 years agoUse conservative heap growing factor for background tab.
ulan [Tue, 4 Aug 2015 12:04:51 +0000 (05:04 -0700)]
Use conservative heap growing factor for background tab.

BUG=chromium:515873
LOG=NO

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

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

8 years agoMIPS: Fix reg use in SIMD.js Add the other SIMD Phase 1 types.
paul.lind [Tue, 4 Aug 2015 11:09:19 +0000 (04:09 -0700)]
MIPS: Fix reg use in SIMD.js Add the other SIMD Phase 1 types.

Port 7b9670b63b486ba3b6f8a569552d307282dbccfd

Only fails in debug builds.

TEST=mjsunit/harmony/simd
BUG=

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

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

8 years agoRemove serializer-specific hash table size heuristic.
yangguo [Tue, 4 Aug 2015 10:56:35 +0000 (03:56 -0700)]
Remove serializer-specific hash table size heuristic.

The heuristic can cause weird behavior when bootstrapping.
The memory savings is not worth this hassle.

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

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

8 years agoAdjustLiveBytes and friends takes a heap object pointer instead of an address.
hpayer [Tue, 4 Aug 2015 07:02:42 +0000 (00:02 -0700)]
AdjustLiveBytes and friends takes a heap object pointer instead of an address.

That makes going to the page safe. Addresses can be in arbitrary locations of an object, e.g. in a large object but not on the first 1M page.
BUG=

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

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

8 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 4 Aug 2015 03:25:37 +0000 (20:25 -0700)]
Update V8 DEPS.

Rolling v8/buildtools to 565d04e8741429fb1b4f26d102f2c6c3b849edeb

TBR=machenbach@chromium.org

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

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

8 years agoremove recursion from NewSpace::AllocateRaw*
ofrobots [Mon, 3 Aug 2015 20:43:40 +0000 (13:43 -0700)]
remove recursion from NewSpace::AllocateRaw*

The recursion between AllocateRaw* and SlowAllocateRaw makes incremental
stepping very complicated. This patch removes the recursion. Follow-on
patches will improve accounting of allocations done by incremental mark.

See: https://codereview.chromium.org/1252053003/#msg5

BUG=
R=hpayer@chromium.org

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

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

8 years ago[Interpreter] Consistency fixes.
oth [Mon, 3 Aug 2015 20:38:57 +0000 (13:38 -0700)]
[Interpreter] Consistency fixes.

Change minimum BytecodeArray frame size to zero now return value is in
the accumulator.

Fix inconsistent checks in bytecode-array-builder.cc.

Simplify bytecode disassembly by adding Bytecodes::Decode to
disassemble one bytecode and operands.

BUG=v8:4280
LOG=N

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

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

8 years agoGrow heap slowly after running memory reducer.
ulan [Mon, 3 Aug 2015 18:45:41 +0000 (11:45 -0700)]
Grow heap slowly after running memory reducer.

BUG=

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

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

8 years agoGC: Refactor incremental marking steps w/ deadline into a separate call
mlippautz [Mon, 3 Aug 2015 18:25:00 +0000 (11:25 -0700)]
GC: Refactor incremental marking steps w/ deadline into a separate call

BUG=

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

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

8 years agoRemove JSFunctionResultCache.
yangguo [Mon, 3 Aug 2015 18:13:56 +0000 (11:13 -0700)]
Remove JSFunctionResultCache.

There is only one use case for it: String.prototype.search converts a
string argument into a RegExp. The cache is used to avoid repeating that
conversion. However, this does not make the added complexity worthwhile.

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

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

8 years agoEnable gdb-jit for PPC64 on Linux (both big-endian and little-endian).
dstence [Mon, 3 Aug 2015 18:02:24 +0000 (11:02 -0700)]
Enable gdb-jit for PPC64 on Linux (both big-endian and little-endian).

R=danno@chromium.org, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com

BUG=

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

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

8 years agoRemove high promotion mode
mlippautz [Mon, 3 Aug 2015 17:29:31 +0000 (10:29 -0700)]
Remove high promotion mode

High promotion mode limits new space size in the case where many objects (high
rate) are promoted.  The result is frequent scavenger runs with low pause times. The
approach conflicts with pretenuring which requires a larger new space size to
collect enough feedback to be usable.

Ultimately the goal is to have pretenuring catch allocation sites that have high
promotion rates.

Revert "Bring back high promotion mode to shrink young generation size when scavenging latency is high."

This reverts commit 37be1d5e9e0a34abe6ba1612b9825e59f28a52d8.

Revert "GC. Delay/avoid entering high promotion mode"

This reverts commit a5221d0779d0839055c764b88f412a0793d959b3.

BUG=chromium:499507,chromium:506910
LOG=n

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

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

8 years ago[d8 worker] Fix regression when serializing very large arraybuffer
binji [Mon, 3 Aug 2015 17:07:48 +0000 (10:07 -0700)]
[d8 worker] Fix regression when serializing very large arraybuffer

BUG=chromium:514081
R=jarin@chromium.org
LOG=n

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

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

8 years agoCheck whether a typed array was neutered before writing to it
jochen [Mon, 3 Aug 2015 16:11:14 +0000 (09:11 -0700)]
Check whether a typed array was neutered before writing to it

As demanded by the spec.

BUG=chromium:516251
R=jkummerow@chromium.org
LOG=n

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

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

8 years agoSIMD.js Fix x87 build.
bbudge [Mon, 3 Aug 2015 15:32:41 +0000 (08:32 -0700)]
SIMD.js Fix x87 build.
Rename method EmitIsSpecObject -> EmitIsSimdObject.

LOG=N
BUG=v8:4124

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

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

8 years agoAdd support for large object IsSlotInBlackObject to filter out all dead slots correctly.
hpayer [Mon, 3 Aug 2015 15:23:52 +0000 (08:23 -0700)]
Add support for large object IsSlotInBlackObject to filter out all dead slots correctly.

BUG=chromium:454297
LOG=n

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

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

8 years agoPPC: Clean up register save/restore logic.
mbrandy [Mon, 3 Aug 2015 14:36:43 +0000 (07:36 -0700)]
PPC: Clean up register save/restore logic.

NOPRESUBMIT=true
R=titzer@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com
BUG=

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

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

8 years agoFix presubmit errors in runtime-simd.cc.
titzer [Mon, 3 Aug 2015 14:27:52 +0000 (07:27 -0700)]
Fix presubmit errors in runtime-simd.cc.

R=mstarzinger@chromium.org
BUG=
NOTREECHECKS=true

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

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

8 years agoReland of land concurrent sweeping of code space. (patchset #1 id:1 of https://codere...
hpayer [Mon, 3 Aug 2015 14:12:25 +0000 (07:12 -0700)]
Reland of land concurrent sweeping of code space. (patchset #1 id:1 of https://codereview.chromium.org/1263343002/)

Reason for revert:
Bogus revert.

Original issue's description:
> Revert of Reland concurrent sweeping of code space. (patchset #6 id:100001 of https://codereview.chromium.org/1242333002/)
>
> Reason for revert:
> Reverted because 507840 came back on recent Chromecrash. Should not have committed this Cl.
>
> Original issue's description:
> > Reland concurrent sweeping of code space.
> >
> > BUG=
> >
> > Committed: https://crrev.com/8516dccf6a561020441773c93c564dd4aa6ee59e
> > Cr-Commit-Position: refs/heads/master@{#29967}
>
> TBR=jochen@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/5c6e7d00438cc82a5584e3178d7dadf36e4a34f8
> Cr-Commit-Position: refs/heads/master@{#29975}

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

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

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

8 years agoRevert of Reland concurrent sweeping of code space. (patchset #6 id:100001 of https...
hpayer [Mon, 3 Aug 2015 13:06:42 +0000 (06:06 -0700)]
Revert of Reland concurrent sweeping of code space. (patchset #6 id:100001 of https://codereview.chromium.org/1242333002/)

Reason for revert:
Reverted because 507840 came back on recent Chromecrash. Should not have committed this Cl.

Original issue's description:
> Reland concurrent sweeping of code space.
>
> BUG=
>
> Committed: https://crrev.com/8516dccf6a561020441773c93c564dd4aa6ee59e
> Cr-Commit-Position: refs/heads/master@{#29967}

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

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

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

8 years agoSIMD.js Add the other SIMD Phase 1 types.
bbudge [Mon, 3 Aug 2015 13:02:39 +0000 (06:02 -0700)]
SIMD.js Add the other SIMD Phase 1 types.

Adds Int32x4, Bool32x4, Int16x8, Bool16x8, Int8x16, Bool8x16.
Adds Simd128Value base heap object class.
Changes heap/factory construction pattern to use arrays.
Adds replaceLane functions to facilitate testing.

NOPRESUBMIT=true
(presubmit checks erroneously interpret array declaration in macro definition as variable size array.)

LOG=Y
BUG=v8:4124

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

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

8 years ago[deoptimizer] Fix the frame size calculation for debugger-inspectable frame construction.
jarin [Mon, 3 Aug 2015 12:59:41 +0000 (05:59 -0700)]
[deoptimizer] Fix the frame size calculation for debugger-inspectable frame construction.

The calculation now takes into account the size of the arguments object
if it is present in the optimized frame.

(Yang, many thanks for the awesome repro!)

BUG=chromium:514362
LOG=N
R=yangguo@chromium.org

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

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

8 years ago[Sheriff] Mark test as flaky.
machenbach [Mon, 3 Aug 2015 11:41:59 +0000 (04:41 -0700)]
[Sheriff] Mark test as flaky.

BUG=v8:4141
LOG=n
NOTRY=true
TBR=yangguo@chromium.org, vogelheim@chromium.org

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

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

8 years ago[deoptimizer] Do not pass arguments markers to the debugger.
jarin [Mon, 3 Aug 2015 10:43:24 +0000 (03:43 -0700)]
[deoptimizer] Do not pass arguments markers to the debugger.

This fixes a bug introduced by r28826 (Unify decoding of deoptimization
translations, https://codereview.chromium.org/1136223004), where we
started leaking arguments marker sentinel to the debugger, which would
then cause crashes. This change replaces the sentinel with the undefined
value in the debugger-inspectable frame.

BUG=chromium:514362
LOG=n
R=yangguo@chromium.org

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

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

8 years ago[Intepreter] BytecodeArrayBuilder and accumulator based bytecodes.
oth [Mon, 3 Aug 2015 10:42:16 +0000 (03:42 -0700)]
[Intepreter] BytecodeArrayBuilder and accumulator based bytecodes.

The BytecodeArrayBuilder has responsibility for emitting the BytecodeArray. It will be used by the AST walker.

Bytecode now uses an accumulator plus registers rather being pure register based.

Update BytecodeArray::Disassemble to print operand information.

BUG=v8:4280
LOG=N

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

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

8 years agoDisable code recompile verification.
yangguo [Mon, 3 Aug 2015 10:26:01 +0000 (03:26 -0700)]
Disable code recompile verification.

No-snap builds are still failing.

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

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

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

8 years agoPartially revert 5aacee to see its impact on memory histograms.
ulan [Mon, 3 Aug 2015 09:31:34 +0000 (02:31 -0700)]
Partially revert 5aacee to see its impact on memory histograms.

Original CL: https://crrev.com/5aaceefd9a84327ce6afeaea16557449bf83ce57

BUG=chromium:515721
LOG=NO

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

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

8 years agoReland concurrent sweeping of code space.
hpayer [Mon, 3 Aug 2015 09:15:27 +0000 (02:15 -0700)]
Reland concurrent sweeping of code space.

BUG=

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

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

8 years agoCreate function name const assignment after parsing language mode.
yangguo [Mon, 3 Aug 2015 09:14:19 +0000 (02:14 -0700)]
Create function name const assignment after parsing language mode.

Otherwise we may choose sloppy const or strict const depending on
whether the function is parsed the first time.

R=mvstanton@chromium.org
BUG=v8:4336
LOG=N

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

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

8 years ago[compiler] Verify that type feedback vector structure is the same on recompile.
mvstanton [Mon, 3 Aug 2015 08:14:41 +0000 (01:14 -0700)]
[compiler] Verify that type feedback vector structure is the same on recompile.

Use a CHECK statement to find any violations of this rule.

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

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

8 years agoX87: [turbofan] Fix kArchTailCallCodeObject on ia32/x64.
chunyang.dai [Mon, 3 Aug 2015 03:10:09 +0000 (20:10 -0700)]
X87: [turbofan] Fix kArchTailCallCodeObject on ia32/x64.

port ec9bc7947399e29429c3bdeaff070db2a4cc92f4 (r29949).

original commit message:

    Previously these instructions tried to jump to the value at the code entry's
    location, rather than jumping to this location. Also adds a test.

BUG=

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

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

8 years agoX87: VectorICs: refactoring to eliminate "for queries only" vector ic mode.
chunyang.dai [Mon, 3 Aug 2015 03:09:01 +0000 (20:09 -0700)]
X87: VectorICs: refactoring to eliminate "for queries only" vector ic mode.

port 1a5751f9b3ca682fadb6fce8202dda2db5b017c6 (r29956)

original commit message:

    Since we need the notion of a dummy vector ic, we can use that to avoid
    a special case of the IC constructor. Also, consolidate the two dummy
    ICs into one.

BUG=

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

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

8 years agoMIPS64: Fix hidden bug in relocations for j and jal.
dusan.milosavljevic [Sat, 1 Aug 2015 17:04:28 +0000 (10:04 -0700)]
MIPS64: Fix hidden bug in relocations for j and jal.

Introduce new mechanism for relocating j/jal.

Resolves flaky failures of mozilla regress tests.

Additionally:

- internal encoded references are not relocated during code generation phase.
- remove asserts from j and jal which are not
valid because addresses are not final and valid in code generation phase.

TEST=mozilla/js1_5/Regress/regress-280769-2, regress-367561-01,
     mozilla/ecma_3/Statements/regress-444979
BUG=
R=paul.lind@imgtec.com

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

Patch from dusan.milosavljevic <dusan.milosavljevic@imgtec.com>.

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

8 years ago[Interpreter] Remove unnecessary const specifiers on scalar types.
oth [Sat, 1 Aug 2015 07:25:23 +0000 (00:25 -0700)]
[Interpreter] Remove unnecessary const specifiers on scalar types.

BUG=v8:4280
LOG=N

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

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

8 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 1 Aug 2015 03:23:13 +0000 (20:23 -0700)]
Update V8 DEPS.

Rolling v8/testing/gmock to 0421b6f358139f02e102c9c332ce19a33faf75be

Rolling v8/testing/gtest to 9855a87157778d39b95eccfb201a9dc90f6d61c6

TBR=machenbach@chromium.org

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

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

8 years agoPPC: VectorICs: refactoring to eliminate "for queries only" vector ic mode.
mbrandy [Fri, 31 Jul 2015 19:26:38 +0000 (12:26 -0700)]
PPC: VectorICs: refactoring to eliminate "for queries only" vector ic mode.

Port 1a5751f9b3ca682fadb6fce8202dda2db5b017c6

Original commit message:
    Since we need the notion of a dummy vector ic, we can use that to avoid
    a special case of the IC constructor. Also, consolidate the two dummy
    ICs into one.

R=mvstanton@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com
BUG=

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

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

8 years agoArray Builtin Refactoring: Creating API methods on ElementsAccessor
cbruni [Fri, 31 Jul 2015 16:10:37 +0000 (09:10 -0700)]
Array Builtin Refactoring: Creating API methods on ElementsAccessor

BUG=

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

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