platform/upstream/v8.git
9 years agoRevert of Only use FreeSpace objects in the free list. (patchset #3 id:40001 of https...
yangguo [Tue, 27 Jan 2015 09:41:10 +0000 (01:41 -0800)]
Revert of Only use FreeSpace objects in the free list. (patchset #3 id:40001 of https://codereview.chromium.org/876613002/)

Reason for revert:
Test failures

Original issue's description:
> Only use FreeSpace objects in the free list.
>
> This solves an issue with the custom startup snapshot, in cases where
> deserializing the isolate requires more than one page per space.
>
> R=hpayer@chromium.org
>
> Committed: https://crrev.com/66964395108f03220cb6f45ddc73c5965e2c76a9
> Cr-Commit-Position: refs/heads/master@{#26285}

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

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

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

9 years ago[turbofan] Only replace nodes eagerly during simplified lowering if the types stay...
jarin [Tue, 27 Jan 2015 09:27:26 +0000 (01:27 -0800)]
[turbofan] Only replace nodes eagerly during simplified lowering if the types stay the same.

BUG=chromium:452427
LOG=n
R=bmeurer@chromium.org

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

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

9 years agoOnly use FreeSpace objects in the free list.
yangguo [Tue, 27 Jan 2015 09:20:22 +0000 (01:20 -0800)]
Only use FreeSpace objects in the free list.

This solves an issue with the custom startup snapshot, in cases where
deserializing the isolate requires more than one page per space.

R=hpayer@chromium.org

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

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

9 years agoRefactor version increment in release scripts.
machenbach [Tue, 27 Jan 2015 08:53:28 +0000 (00:53 -0800)]
Refactor version increment in release scripts.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

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

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

9 years ago[turbofan] Some cleanup for scheduler unittests.
bmeurer [Tue, 27 Jan 2015 07:47:56 +0000 (23:47 -0800)]
[turbofan] Some cleanup for scheduler unittests.

R=svenpanne@chromium.org

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

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

9 years agoDon't use internal gmock helper classes.
bmeurer [Tue, 27 Jan 2015 06:58:39 +0000 (22:58 -0800)]
Don't use internal gmock helper classes.

BUG=v8:3835
LOG=n

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

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

9 years ago[turbofan] Handle cyclic dependencies in context typing.
jarin [Tue, 27 Jan 2015 06:57:30 +0000 (22:57 -0800)]
[turbofan] Handle cyclic dependencies in context typing.

BUG=chromium:451012
LOG=n
R=bmeurer@chromium.org

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

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

9 years ago[turbofan] Remove GenericAlgorithm from verifier and graph replay.
titzer [Mon, 26 Jan 2015 18:35:04 +0000 (10:35 -0800)]
[turbofan] Remove GenericAlgorithm from verifier and graph replay.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoMIPS: Refactoring after 'MIPS: split api call stubs into accessor and function call...
balazs.kilvady [Mon, 26 Jan 2015 17:01:58 +0000 (09:01 -0800)]
MIPS: Refactoring after 'MIPS: split api call stubs into accessor and function call stubs'.

Change stack handling to clarify the usage of reserved MIPS argument slots for mips32.

BUG=

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

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

9 years agoMIPS64: fix wrong register use in LoadIndexedStringStub.
paul.lind [Mon, 26 Jan 2015 16:58:44 +0000 (08:58 -0800)]
MIPS64: fix wrong register use in LoadIndexedStringStub.

TEST=mjsunit/string-externalize, others...
BUG=

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

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

9 years agoMIPS: Fixed Hydrogen environment handling for mul-i ARM and ARM64.
balazs.kilvady [Mon, 26 Jan 2015 16:15:54 +0000 (08:15 -0800)]
MIPS: Fixed Hydrogen environment handling for mul-i ARM and ARM64.

Port a7d67a64f11100434b196143e2ba516f8c13697a

Original commit message:
The whole logic in DoMul makes me cry, so I made only the minimal
change to fix the issue...

BUG=v8:451322
LOG=y

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

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

9 years ago[turbofan] Simplify reduction if IfTrue and IfFalse and fix bugs.
titzer [Mon, 26 Jan 2015 16:11:17 +0000 (08:11 -0800)]
[turbofan] Simplify reduction if IfTrue and IfFalse and fix bugs.

R=mstarzinger@chromium.org
BUG=chromium:451958
LOG=Y

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

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

9 years agoLoad getter from map descriptor instead of embedding it in handler.
ulan [Mon, 26 Jan 2015 15:42:06 +0000 (07:42 -0800)]
Load getter from map descriptor instead of embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoCache WeakCell for optimized code.
ulan [Mon, 26 Jan 2015 15:31:18 +0000 (07:31 -0800)]
Cache WeakCell for optimized code.

BUG=

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

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

9 years agoAdd HeapNumber fast path to v8::Value::{Uint,Int}32Value()
jkummerow [Mon, 26 Jan 2015 15:07:59 +0000 (07:07 -0800)]
Add HeapNumber fast path to v8::Value::{Uint,Int}32Value()

This has the added benefit that these functions are now guaranteed not to throw when v8::Value::Is{Uint,Int}32() returned true, even when calling into JavaScript would throw a stack limit error.

BUG=chromium:446097
LOG=y

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

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

9 years agoPerform full GC if incremental marking is completed or marking deque is empty.
hpayer [Mon, 26 Jan 2015 14:54:58 +0000 (06:54 -0800)]
Perform full GC if incremental marking is completed or marking deque is empty.

BUG=

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

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

9 years agoExternal name changes of release scripts.
machenbach [Mon, 26 Jan 2015 14:20:59 +0000 (06:20 -0800)]
External name changes of release scripts.

Moved and renamed the scripts to fit with git.

These changes require documentation updates, updates of
the release spreadsheet and the buildbot side.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

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

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

9 years ago[turbofan] Better narrow the derived type for the right shift operation.
dtc-v8 [Mon, 26 Jan 2015 14:11:25 +0000 (06:11 -0800)]
[turbofan] Better narrow the derived type for the right shift operation.

Currently the derived type of a right shift does not narrow the input
type based on the actual shift amount - well it does some narrowing
but more can be down. For patterns such as u32[i>>2], which is very
common is asm.js code, this limits the ability to later prove that an
index bounds check is unnecessary which can have a significant
performance impact.

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

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

9 years agoClean up release scripts.
machenbach [Mon, 26 Jan 2015 13:29:23 +0000 (05:29 -0800)]
Clean up release scripts.

This makes some internal renaming, e.g. trunk -> candidates,
bleeding edge -> master, without changing the api.

Also remove some unused bailout steps from the push script.

Remove unused bump version script.

BUG=chromium:451975
TBR=tandrii@chromium.org
NOTRY=true
LOG=n

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

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

9 years agoAdd missing FrameState for Runtime_CreateArrayLiteral.
mstarzinger [Mon, 26 Jan 2015 12:45:25 +0000 (04:45 -0800)]
Add missing FrameState for Runtime_CreateArrayLiteral.

R=jarin@chromium.org
TEST=mjsunit/regress/regress-crbug-451013
BUG=chromium:451013
LOG=N

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

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

9 years agoConvert compiler cctest to unittests: SchedulerTest
danno [Mon, 26 Jan 2015 11:21:14 +0000 (03:21 -0800)]
Convert compiler cctest to unittests: SchedulerTest

R=mstarzinger@chromium.org
LOG=N

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

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

9 years agoProbe same-isolate compilation cache before deserializing.
yangguo [Mon, 26 Jan 2015 10:56:53 +0000 (02:56 -0800)]
Probe same-isolate compilation cache before deserializing.

R=mvstanton@chromium.org

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

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

9 years ago[turbofan] make register allocator verifier independent of phi assignment
dcarney [Mon, 26 Jan 2015 10:40:16 +0000 (02:40 -0800)]
[turbofan] make register allocator verifier independent of phi assignment

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

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

9 years ago[turbofan] Don't embed pointer to builtins object in generic lowering.
bmeurer [Mon, 26 Jan 2015 10:20:31 +0000 (02:20 -0800)]
[turbofan] Don't embed pointer to builtins object in generic lowering.

Accessing the builtins object this way prevents sharing of code across
native contexts; instead we now load the builtin from the context of the
JS operation instead.

R=mstarzinger@chromium.org

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

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

9 years ago[turbofan] Add new JSIntrinsicsLowering reducer.
bmeurer [Mon, 26 Jan 2015 09:05:47 +0000 (01:05 -0800)]
[turbofan] Add new JSIntrinsicsLowering reducer.

The lowering of intrinsics is therefore now decoupled from the general
inlining logic.

TEST=cctest,unittests
R=svenpanne@chromium.org

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

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

9 years agoFix regexp=interpreted build wrt zone related changes.
yangguo [Mon, 26 Jan 2015 08:44:23 +0000 (00:44 -0800)]
Fix regexp=interpreted build wrt zone related changes.

Broke after c7b09aac317dd810d29b82061973199b80363b65

TBR=danno@chromium.org

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

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

9 years agoFixed Hydrogen environment handling for mul-i on ARM and ARM64.
svenpanne [Mon, 26 Jan 2015 08:35:45 +0000 (00:35 -0800)]
Fixed Hydrogen environment handling for mul-i on ARM and ARM64.

The whole logic in DoMul makes me cry, so I made only the minimal
change to fix the issue...

BUG=v8:451322
LOG=y

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Sun, 25 Jan 2015 04:22:50 +0000 (20:22 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to 853a3150b369e5dcd62d7429998bfafe8158e16e

TBR=machenbach@chromium.org

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 24 Jan 2015 04:31:17 +0000 (20:31 -0800)]
Update V8 DEPS.

Rolling v8/build/gyp to b28bd7ddd1438c98f93a8e5383b7daceb572a3fb

TBR=machenbach@chromium.org

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

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

9 years agoRemove unused VariableDeclarationContext value: kBlockElement
adamk [Fri, 23 Jan 2015 21:35:10 +0000 (13:35 -0800)]
Remove unused VariableDeclarationContext value: kBlockElement

R=arv@chromium.org

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

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

9 years agoMIPS64: Remove the dependency of Zone on Isolate.
balazs.kilvady [Fri, 23 Jan 2015 19:34:39 +0000 (11:34 -0800)]
MIPS64: Remove the dependency of Zone on Isolate.

Port c7b09aac317dd810d29b82061973199b80363b65

Original commit message:
Along the way:
- Thread isolate parameter explicitly through code that used to
  rely on getting it from the zone.
- Canonicalize the parameter position of isolate and zone for
  affected code
- Change Hydrogen New<> instruction templates to automatically
  pass isolate

LOG=N
BUG=

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

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

9 years agoDistinquish TestWithIsolateAndZone from TestWithZone
danno [Fri, 23 Jan 2015 16:29:50 +0000 (08:29 -0800)]
Distinquish TestWithIsolateAndZone from TestWithZone

Allows unit tests that just need a zone and no isolate to avoid the overhead of
creating one.

R=mstarzinger@chromium.org
LOG=N

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

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

9 years agoFix version and changelog pushing.
machenbach [Fri, 23 Jan 2015 15:30:17 +0000 (07:30 -0800)]
Fix version and changelog pushing.

BUG=chromium:451357
LOG=n
TBR=tandrii@chromium.org
NOTRY=true

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

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

9 years agoRevert "Make version generation robust to other user-defined tags."
machenbach [Fri, 23 Jan 2015 15:29:05 +0000 (07:29 -0800)]
Revert "Make version generation robust to other user-defined tags."

This reverts commit 9ae1c2382a35147d7f4aeba3ecd2030123f0d5fb.

BUG=chromium:446166
LOG=n
NOTRY=true
TBR=jkummerow@chromium.org

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

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

9 years agoES6 Array.prototype.toString falls back on Object.prototype.toString if method "join...
caitpotter88 [Fri, 23 Jan 2015 15:21:29 +0000 (07:21 -0800)]
ES6 Array.prototype.toString falls back on Object.prototype.toString if method "join" is not callable.

BUG=v8:3793
LOG=Y
R=dslomov@chromium.org, arv@chromium.org

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

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

9 years agoRemove the dependency of Zone on Isolate
danno [Fri, 23 Jan 2015 15:19:34 +0000 (07:19 -0800)]
Remove the dependency of Zone on Isolate

Along the way:
- Thread isolate parameter explicitly through code that used to
  rely on getting it from the zone.
- Canonicalize the parameter position of isolate and zone for
  affected code
- Change Hydrogen New<> instruction templates to automatically
  pass isolate

R=mstarzinger@chromium.org
LOG=N

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

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

9 years agoPush version and changelog as a separate commit.
machenbach [Fri, 23 Jan 2015 14:58:49 +0000 (06:58 -0800)]
Push version and changelog as a separate commit.

BUG=chromium:451357
LOG=n
TBR=tandrii@chromium.org
NOTRY=true

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

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

9 years agoScript streaming: Test that streaming <-> harmony scopes interaction is correct.
marja [Fri, 23 Jan 2015 14:41:00 +0000 (06:41 -0800)]
Script streaming: Test that streaming <-> harmony scopes interaction is correct.

BUG=

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

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

9 years agoMake TestSetJitCodeEventHandler more resilient.
mstarzinger [Fri, 23 Jan 2015 12:12:12 +0000 (04:12 -0800)]
Make TestSetJitCodeEventHandler more resilient.

R=ishell@chromium.org
TEST=cctest/test-api/SetJitCodeEventHandler

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

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

9 years agoMIPS: convert compile-time checkable DCHECKs to STATIC_ASSERTs.
balazs.kilvady [Fri, 23 Jan 2015 12:00:04 +0000 (04:00 -0800)]
MIPS: convert compile-time checkable DCHECKs to STATIC_ASSERTs.

Port cc6c373e2a25ae5ab54ea0ff042230364ec1a21b

BUG=

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

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

9 years agoAlways adjust amount of external memory when change is reported.
hpayer [Fri, 23 Jan 2015 11:37:33 +0000 (03:37 -0800)]
Always adjust amount of external memory when change is reported.

BUG=

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

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

9 years agoSupport old and new weak handle API
erikcorry [Fri, 23 Jan 2015 11:28:35 +0000 (03:28 -0800)]
Support old and new weak handle API

R=dcarney@chromium.org
BUG=

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

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

9 years agoReland "Call directly to c callbacks in Invoke instead of transitioning to js and...
dcarney [Fri, 23 Jan 2015 11:22:05 +0000 (03:22 -0800)]
Reland "Call directly to c callbacks in Invoke instead of transitioning to js and back out"

BUG=

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

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

9 years agoRemove version generation approach.
machenbach [Fri, 23 Jan 2015 10:45:24 +0000 (02:45 -0800)]
Remove version generation approach.

Revert "Partially reland Auto-generate v8 version based on tags."

This reverts commit 0707afc863e14ad216fa2157f41fc35f86bd64b2.

Revert "Ensure tags are fetched when generating the V8 version."

This reverts commit ea6831e9de62ceade14b7baeb7d57c74a30a1f38.

Revert "Restrict tag-update for version generation to cached git repos."

This reverts commit c6641e138bb4a81b47f70e62bb9113c87b590a6f.

BUG=chromium:446166
LOG=n

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

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

9 years agoCalculate new version based on latest tag when pushing.
machenbach [Fri, 23 Jan 2015 10:30:32 +0000 (02:30 -0800)]
Calculate new version based on latest tag when pushing.

BUG=chromium:451357
TBR=tandrii@chromium.org
LOG=n
NOTRY=true

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

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

9 years agocleanup check for compatible receiver of api callback
dcarney [Fri, 23 Jan 2015 09:57:23 +0000 (01:57 -0800)]
cleanup check for compatible receiver of api callback

BUG=

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

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

9 years ago[turbofan] Move GetCommonDominator to BasicBlock.
bmeurer [Fri, 23 Jan 2015 09:55:33 +0000 (01:55 -0800)]
[turbofan] Move GetCommonDominator to BasicBlock.

Also add some unittests for the dominator stuff.

R=mstarzinger@chromium.org

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

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

9 years ago[turbofan] Remove outdated forward declarations.
bmeurer [Fri, 23 Jan 2015 09:23:19 +0000 (01:23 -0800)]
[turbofan] Remove outdated forward declarations.

R=mstarzinger@chromium.org

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

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

9 years ago[x86] Blacklist AVX for Windows versions before 6.1 (Windows 7).
bmeurer [Fri, 23 Jan 2015 09:16:32 +0000 (01:16 -0800)]
[x86] Blacklist AVX for Windows versions before 6.1 (Windows 7).

BUG=v8:3846
LOG=y

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

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

9 years agoUse more conservative average promotion ratio for initial heap size.
hpayer [Fri, 23 Jan 2015 09:15:24 +0000 (01:15 -0800)]
Use more conservative average promotion ratio for initial heap size.

BUG=

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

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

9 years agoCHECK that FunctionTemplates are not modified after first instantiation
dcarney [Fri, 23 Jan 2015 09:07:11 +0000 (01:07 -0800)]
CHECK that FunctionTemplates are not modified after first instantiation

BUG=

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

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

9 years agoRevert of Call directly to c callbacks in Invoke instead of transitioning to js and...
dcarney [Fri, 23 Jan 2015 08:54:16 +0000 (00:54 -0800)]
Revert of Call directly to c callbacks in Invoke instead of transitioning to js and back out. (patchset #9 id:150001 of https://codereview.chromium.org/864273002/)

Reason for revert:
threading4 flakiness

Original issue's description:
> Call directly to c callbacks in Invoke instead of transitioning to js and back out.
>
> BUG=
>
> Committed: https://crrev.com/ce457e2b596c3ccf5bf454eeed0969f3f3efd174
> Cr-Commit-Position: refs/heads/master@{#26231}

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

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

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

9 years ago[x86] Use AVX in Crankshaft when available.
Benedikt Meurer [Fri, 23 Jan 2015 08:25:15 +0000 (09:25 +0100)]
[x86] Use AVX in Crankshaft when available.

R=verwaest@chromium.org

Committed: https://crrev.com/622be8f71e70b6ece4ea6a89bcfa1bc4be5e70c1
Cr-Commit-Position: refs/heads/master@{#26159}

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

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

9 years agoFix run-time ARMv6 detection.
Ben Noordhuis [Fri, 23 Jan 2015 06:00:37 +0000 (07:00 +0100)]
Fix run-time ARMv6 detection.

BUG=v8:3844
LOG=y
R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <info@bnoordhuis.nl>.

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 23 Jan 2015 05:47:14 +0000 (21:47 -0800)]
Update V8 DEPS.

Rolling v8/tools/clang to de83a52aa5c5578519e244099ee755726e430253

TBR=machenbach@chromium.org

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

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

9 years agoMIPS: new classes: change semantics of super(...) call and add new.target to construc...
akos.palfi [Fri, 23 Jan 2015 05:46:04 +0000 (21:46 -0800)]
MIPS: new classes: change semantics of super(...) call and add new.target to construct stub.

Port 22ce08ade63a9c4f28225db11a5b5d2726c5a8e7

BUG=

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

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

9 years agoCall directly to c callbacks in Invoke instead of transitioning to js and back out.
dcarney [Thu, 22 Jan 2015 21:37:06 +0000 (13:37 -0800)]
Call directly to c callbacks in Invoke instead of transitioning to js and back out.

BUG=

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

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

9 years agoRevert of [x86] Use AVX in Crankshaft when available. (patchset #1 id:1 of https...
machenbach [Thu, 22 Jan 2015 21:27:35 +0000 (13:27 -0800)]
Revert of [x86] Use AVX in Crankshaft when available. (patchset #1 id:1 of https://codereview.chromium.org/860003002/)

Reason for revert:
Breaks chromium vista and XP browser tests:
http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_vista_rel_ng/builds/23

Original issue's description:
> [x86] Use AVX in Crankshaft when available.
>
> R=verwaest@chromium.org
>
> Committed: https://crrev.com/622be8f71e70b6ece4ea6a89bcfa1bc4be5e70c1
> Cr-Commit-Position: refs/heads/master@{#26159}

TBR=verwaest@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoAvoid unintentional optimization of hot builtins by TurboFan.
mstarzinger [Thu, 22 Jan 2015 18:52:01 +0000 (10:52 -0800)]
Avoid unintentional optimization of hot builtins by TurboFan.

R=titzer@chromium.org
TEST=mjsunit/regress/regress-crbug-451016
BUG=chromium:451016
LOG=N

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

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

9 years agoEnable inlining test that now works with control reducer.
mstarzinger [Thu, 22 Jan 2015 18:48:48 +0000 (10:48 -0800)]
Enable inlining test that now works with control reducer.

R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoopGuardedEmpty

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

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

9 years agonew classes: change semantics of super(...) call and add new.target to construct...
dslomov [Thu, 22 Jan 2015 18:39:34 +0000 (10:39 -0800)]
new classes: change semantics of super(...) call and add new.target to construct stub.

R=arv@chromium.org,rossberg@chromium.org
BUG=v8:3834
LOG=N

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

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

9 years agoImplement AggregatableHistogramTimer and use it to measure how much time
vogelheim [Thu, 22 Jan 2015 18:38:19 +0000 (10:38 -0800)]
Implement AggregatableHistogramTimer and use it to measure how much time
of running a script is really spent in compilation. That is, sum up the
total time spent compiling (parsing + compile proper) within a run call
as seen through the API.

@jochen: So many questions:
- Is it ok to re-use V8.CompileLazy?
  This measures something a little different.
- clang-format does funny things to the huge macro definitions.
  I accepted clang-format changes for all code, but reverted for
  the #define orgies in counters.h. ok?
- Am I measuring the right thing. That is, are Aggregat[ing|ed]TimerScope
  in the right place?

I'll fiddle a bit more with this to see if it does the right thing. Would
be happy if you could still review now-ish.

BUG=

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

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

9 years agoTreat pointers in optimized code as strong before all weak dependencies are registered.
ulan [Thu, 22 Jan 2015 15:30:48 +0000 (07:30 -0800)]
Treat pointers in optimized code as strong before all weak dependencies are registered.

This prevents GC from observing code objects with out-of-sync weak dependencies.

BUG=v8:3823
LOG=N

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

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

9 years agoMake version generation robust to other user-defined tags.
machenbach [Thu, 22 Jan 2015 15:06:50 +0000 (07:06 -0800)]
Make version generation robust to other user-defined tags.

BUG=chromium:446166
LOG=n

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

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

9 years agoMIPS: Fix rare random crashes in keyed store if element transition is needed.
Dusan Milosavljevic [Thu, 22 Jan 2015 15:04:29 +0000 (16:04 +0100)]
MIPS: Fix rare random crashes in keyed store if element transition is needed.

TEST=mjsunit/sin-cos
BUG=
R=balazs.kilvady@imgtec.com

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

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

9 years agoConvert compiler cctest to unit tests, part 1
danno [Thu, 22 Jan 2015 14:16:41 +0000 (06:16 -0800)]
Convert compiler cctest to unit tests, part 1

R=bmeurer@chromium.org
LOG=n

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

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

9 years ago[turbofan] Add STYLE document.
Benedikt Meurer [Thu, 22 Jan 2015 13:47:03 +0000 (14:47 +0100)]
[turbofan] Add STYLE document.

R=titzer@chromium.org

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

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

9 years ago[turbofan] Cleanup Schedule and related classes.
bmeurer [Thu, 22 Jan 2015 13:01:02 +0000 (05:01 -0800)]
[turbofan] Cleanup Schedule and related classes.

- Move unit tests to schedule-unittests.cc.
- Remove pre-C++11 cruft.
- Fix some include weirdness.

R=mstarzinger@chromium.org

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

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

9 years agoSupport concatenating with zero-size arrays with DICTIONARY_ELEMENTS in Runtime_Array...
ishell [Thu, 22 Jan 2015 11:15:15 +0000 (03:15 -0800)]
Support concatenating with zero-size arrays with DICTIONARY_ELEMENTS in Runtime_ArrayConcat.

BUG=chromium:450895
LOG=y

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

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

9 years agoAdd missing BailoutId and FrameState to with statements.
mstarzinger [Thu, 22 Jan 2015 10:57:30 +0000 (02:57 -0800)]
Add missing BailoutId and FrameState to with statements.

R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-450642
BUG=chromium:450642
LOG=N

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

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

9 years agoRemoved bogus threading test to make TSAN happy.
svenpanne [Thu, 22 Jan 2015 10:23:49 +0000 (02:23 -0800)]
Removed bogus threading test to make TSAN happy.

TSAN hits an internal assertion on a self-join, and the test is not
really that useful, so let's just remove it.

BUG=https://code.google.com/p/thread-sanitizer/issues/detail?id=88
LOG=n

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

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

9 years agoRevert of Change test expectations for test-types/Maybe. (patchset #1 id:1 of https...
yangguo [Thu, 22 Jan 2015 09:43:41 +0000 (01:43 -0800)]
Revert of Change test expectations for test-types/Maybe. (patchset #1 id:1 of https://codereview.chromium.org/862353002/)

Reason for revert:
Patch causing the failure has been reverted.

Original issue's description:
> Change test expectations for test-types/Maybe.
>
> TBR=rossberg@chromium.org
> BUG=v8:3840
> LOG=N
>
> Committed: https://crrev.com/ebab2f12e9a4b421d8467bcf28280f8f64700cef
> Cr-Commit-Position: refs/heads/master@{#26212}

TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3840

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

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

9 years agoTry to fix AOSP builder.
bmeurer [Thu, 22 Jan 2015 09:30:18 +0000 (01:30 -0800)]
Try to fix AOSP builder.

NOTREECHECKS=true

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

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

9 years agoFix typo in build.gn.
machenbach [Thu, 22 Jan 2015 09:03:03 +0000 (01:03 -0800)]
Fix typo in build.gn.

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

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

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

9 years agoDouble field values need sNaN -> qNaN canonicalization.
bmeurer [Thu, 22 Jan 2015 08:36:01 +0000 (00:36 -0800)]
Double field values need sNaN -> qNaN canonicalization.

Also fix mjsunit/regress/regress-undefined-nan to ensure that we are
testing transfer via xmm registers by forcing the transfer to be in an
optimized function.

BUG=v8:3839
LOG=n
R=jkummerow@chromium.org

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

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

9 years agoChange test expectations for test-types/Maybe.
Yang Guo [Thu, 22 Jan 2015 08:23:05 +0000 (09:23 +0100)]
Change test expectations for test-types/Maybe.

TBR=rossberg@chromium.org
BUG=v8:3840
LOG=N

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

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

9 years agoFix ninja build with clang=1.
bmeurer [Thu, 22 Jan 2015 07:21:35 +0000 (23:21 -0800)]
Fix ninja build with clang=1.

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

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

9 years agoUse FunctionLiteral for class constructor
arv [Thu, 22 Jan 2015 06:17:11 +0000 (22:17 -0800)]
Use FunctionLiteral for class constructor

Motivation: Code cleanup

BUG=None
LOG=N
R=adamk

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 22 Jan 2015 06:16:03 +0000 (22:16 -0800)]
Update V8 DEPS.

Rolling v8/build/gyp to adb7d24b9fc166f01ab2da50478556b518a9218f

TBR=machenbach@chromium.org

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

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

9 years agoMIPS: Use signaling NaN for holes in fixed double arrays.
paul.lind [Thu, 22 Jan 2015 06:14:52 +0000 (22:14 -0800)]
MIPS: Use signaling NaN for holes in fixed double arrays.

Port 9eace97bbaab72962c0fda62e5f9011a10604d0d
Port 5d641ec969e376ee7fa258b41b2988c9e75c4bc8

BUG=

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

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

9 years agoRevert of Steps towards unification of number bitset and range types. (patchset ...
bmeurer [Thu, 22 Jan 2015 05:33:23 +0000 (21:33 -0800)]
Revert of Steps towards unification of number bitset and range types. (patchset #4 id:60001 of https://codereview.chromium.org/837723006/)

Reason for revert:
Breaks test-types/Maybe, i.e.

out/Release/cctest --random-seed=-707413401 test-types/Maybe

started failing afterwards

Original issue's description:
> Steps towards unification of number bitset and range types.
>
> - New invariant on union types: if the union has a range then the number
>   bits in the bitset must be cleared.
>
> - Various tweaks in intersection and union to satisfy the invariant.
>
> - Exposed and used representation bits in range types (and the Limits
>   helper class).
>
> - Implemented Glb for ranges so that the Is predicate handles
>   ranges correctly.
>
> - Change typer weakening so that it does not rely on GetRange.
>   However, the code still seems to be a bit fragile.
>
> - Removed the Smi types from the type system core, instead introduced
>   Signed31, Unsigned30 and created constructors for Small(Un)Signed
>   that point to the right type for the architecture.
>
> - Punched a hole in the config to be able to get to the isolate so
>   that it is possible to allocate heap numbers for newly created
>   ranges.
>
> Patch by jarin@chromium.prg, original review here:
> https://codereview.chromium.org/795713003/
>
> TBR=jarin@chromium.org
> BUG=
>
> Committed: https://crrev.com/2764fd8d1a266a9136c987c2483492113b0c8d80
> Cr-Commit-Position: refs/heads/master@{#26197}

TBR=jkummerow@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

9 years agoReland Make clang the default on linux.
machenbach [Wed, 21 Jan 2015 22:24:53 +0000 (14:24 -0800)]
Reland Make clang the default on linux.

TBR=jochen@chromium.org,jkummerow@chromium.org
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoRevert of Reland Make clang the default on linux. (patchset #3 id:40001 of https...
machenbach [Wed, 21 Jan 2015 20:38:20 +0000 (12:38 -0800)]
Revert of Reland Make clang the default on linux. (patchset #3 id:40001 of https://codereview.chromium.org/861223002/)

Reason for revert:
Still missing these builders:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20full%20debug

Original issue's description:
> Reland Make clang the default on linux.
>
> BUG=
>
> Committed: https://crrev.com/72ef6843b0aff68e519a8f26e7d2f7dd87b4712c
> Cr-Commit-Position: refs/heads/master@{#26204}

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

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

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

9 years agoReland Make clang the default on linux.
machenbach [Wed, 21 Jan 2015 19:32:04 +0000 (11:32 -0800)]
Reland Make clang the default on linux.

BUG=

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

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

9 years ago[arm] Skip mozilla/js1_5/extensions/regress-355497 in simulator.
bmeurer [Wed, 21 Jan 2015 19:11:34 +0000 (11:11 -0800)]
[arm] Skip mozilla/js1_5/extensions/regress-355497 in simulator.

TBR=machenbach@chromium.org
BUG=v8:3837
LOG=n

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

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

9 years agoAdd missing FrameState to harmony class literals.
mstarzinger [Wed, 21 Jan 2015 18:46:47 +0000 (10:46 -0800)]
Add missing FrameState to harmony class literals.

R=bmeurer@chromium.org
TEST=mjsunit/harmony/classes

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

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

9 years agoWhitespace change to test slave shuffle.
Michael Achenbach [Wed, 21 Jan 2015 18:40:32 +0000 (19:40 +0100)]
Whitespace change to test slave shuffle.

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

9 years agoAdd missing FrameState for Runtime_GetPrototype.
mstarzinger [Wed, 21 Jan 2015 17:17:39 +0000 (09:17 -0800)]
Add missing FrameState for Runtime_GetPrototype.

R=titzer@chromium.org
TEST=cctest/test-api

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

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

9 years agoAdd missing FrameState for Runtime_DeliverObservationChangeRecords.
mstarzinger [Wed, 21 Jan 2015 16:07:52 +0000 (08:07 -0800)]
Add missing FrameState for Runtime_DeliverObservationChangeRecords.

R=bmeurer@chromium.org
TEST=cctest,mjsunit/es7/object-observe-debug-event

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

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

9 years agoProperly configure goma.
machenbach [Wed, 21 Jan 2015 15:30:18 +0000 (07:30 -0800)]
Properly configure goma.

Everything is c/p from common.gypi.

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

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

9 years agoSteps towards unification of number bitset and range types.
rossberg [Wed, 21 Jan 2015 15:29:10 +0000 (07:29 -0800)]
Steps towards unification of number bitset and range types.

- New invariant on union types: if the union has a range then the number
  bits in the bitset must be cleared.

- Various tweaks in intersection and union to satisfy the invariant.

- Exposed and used representation bits in range types (and the Limits
  helper class).

- Implemented Glb for ranges so that the Is predicate handles
  ranges correctly.

- Change typer weakening so that it does not rely on GetRange.
  However, the code still seems to be a bit fragile.

- Removed the Smi types from the type system core, instead introduced
  Signed31, Unsigned30 and created constructors for Small(Un)Signed
  that point to the right type for the architecture.

- Punched a hole in the config to be able to get to the isolate so
  that it is possible to allocate heap numbers for newly created
  ranges.

Patch by jarin@chromium.prg, original review here:
https://codereview.chromium.org/795713003/

TBR=jarin@chromium.org
BUG=

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

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

9 years ago[arm] Fix simulator stack size for mozilla/js1_5/extensions/regress-355497.
Benedikt Meurer [Wed, 21 Jan 2015 15:25:55 +0000 (16:25 +0100)]
[arm] Fix simulator stack size for mozilla/js1_5/extensions/regress-355497.

TBR=yangguo@chromium.org
BUG=v8:3837
LOG=n

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

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

9 years agoRemove deprecated v8::base::OS::nan_value().
bmeurer [Wed, 21 Jan 2015 14:38:49 +0000 (06:38 -0800)]
Remove deprecated v8::base::OS::nan_value().

Use std::numeric_limits<double>::quiet_NaN() and
std::numeric_limits<float>::quiet_NaN() instead.

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

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

9 years agoAdd missing FrameState to JSTypedLoweringTester.
mstarzinger [Wed, 21 Jan 2015 14:33:44 +0000 (06:33 -0800)]
Add missing FrameState to JSTypedLoweringTester.

R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/JSToNumberOfNumberOrOtherPrimitive

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

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

9 years agoDrop TODO that no longer applies after refactoring.
mstarzinger [Wed, 21 Jan 2015 14:24:06 +0000 (06:24 -0800)]
Drop TODO that no longer applies after refactoring.

R=yangguo@chromium.org

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

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

9 years agoEnable test coverage for test coverage.
mstarzinger [Wed, 21 Jan 2015 14:07:07 +0000 (06:07 -0800)]
Enable test coverage for test coverage.

R=titzer@chromium.org
TEST=mjsunit/compiler/opt-next-call-turbo

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

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

9 years ago[turbofan] Fix register allocator verifier to allow 1-input phis.
titzer [Wed, 21 Jan 2015 13:50:24 +0000 (05:50 -0800)]
[turbofan] Fix register allocator verifier to allow 1-input phis.

R=dcarney@chromium.org
BUG=

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

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

9 years agoadd some tests for HandleApiCall builtin
dcarney [Wed, 21 Jan 2015 13:42:35 +0000 (05:42 -0800)]
add some tests for HandleApiCall builtin

BUG=

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

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

9 years agoAdd a pretty printer to improve the error message non-function calls
verwaest [Wed, 21 Jan 2015 13:40:32 +0000 (05:40 -0800)]
Add a pretty printer to improve the error message non-function calls

BUG=259443
LOG=y

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

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

9 years agoKeyedStoreIC: support non-generic handling of Symbol keys
jkummerow [Wed, 21 Jan 2015 13:39:14 +0000 (05:39 -0800)]
KeyedStoreIC: support non-generic handling of Symbol keys

BUG=chromium:450475
LOG=n

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

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