platform/upstream/v8.git
9 years ago[turbofan] Fix OSR compilations of for-in.
titzer [Thu, 29 Jan 2015 17:40:10 +0000 (09:40 -0800)]
[turbofan] Fix OSR compilations of for-in.

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

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

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

9 years agoUse a WeakCell in the CallIC type vector.
mvstanton [Thu, 29 Jan 2015 17:36:30 +0000 (09:36 -0800)]
Use a WeakCell in the CallIC type vector.

This allows us to clear the IC on a more sedate schedule, just
like Load and Store ICs.

R=ulan@chromium.org
BUG=

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

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

9 years agoLoad API holder from prototype chain instead embedding it in handler.
ulan [Thu, 29 Jan 2015 17:18:41 +0000 (09:18 -0800)]
Load API holder from prototype chain instead embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoIntroduce ProcessYoungWeakReferences and process weak list of allocation sites just...
hpayer [Thu, 29 Jan 2015 16:54:30 +0000 (08:54 -0800)]
Introduce ProcessYoungWeakReferences and process weak list of allocation sites just during full GCs.

BUG=

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

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

9 years agostore InstructionOperands directly in Instruction
dcarney [Thu, 29 Jan 2015 16:00:09 +0000 (08:00 -0800)]
store InstructionOperands directly in Instruction

BUG=

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

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

9 years agoDo not create unresolved variables when parsing arrow functions lazily
aperez [Thu, 29 Jan 2015 15:53:07 +0000 (07:53 -0800)]
Do not create unresolved variables when parsing arrow functions lazily

Arrow function parameter lists are parsed as expressions. When an identifier
is found a VariableProxy is created and added to the list of unresolved
variables for the scope. When parsing a function lazily, the scope has been
already resolved, so with this patch only the VariableProxy is created,
without adding it as an unresolved variable in the scope.

BUG=v8:3501
LOG=Y

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

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

9 years ago[turbofan] Make sure there is space for lazy deopt patching before the constant pool.
jarin [Thu, 29 Jan 2015 15:30:16 +0000 (07:30 -0800)]
[turbofan] Make sure there is space for lazy deopt patching before the constant pool.

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

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

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

9 years agoLoad API call data from function instead of embedding it in handler.
ulan [Thu, 29 Jan 2015 15:26:26 +0000 (07:26 -0800)]
Load API call data from function instead of embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoRetrieve recent v8 release information based on tags.
machenbach [Thu, 29 Jan 2015 14:21:31 +0000 (06:21 -0800)]
Retrieve recent v8 release information based on tags.

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

TEST=./script_test.py
TEST=tools/release/releases.py -c path/to/src

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

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

9 years ago[V8] Added Script::is_debugger_script flag for embedders
kozyatinskiy [Thu, 29 Jan 2015 14:01:13 +0000 (06:01 -0800)]
[V8] Added Script::is_debugger_script flag for embedders

In DevTools we need one more flag for script origin - is debugger script. We already have "is shared origin" flag. The new flag added by analogy with the old but new has accessor in script object.

R=yurys@chromium.org

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

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

9 years ago[turbofan] Improve JSON output
danno [Thu, 29 Jan 2015 12:14:55 +0000 (04:14 -0800)]
[turbofan] Improve JSON output

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

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

9 years agoAdd try release mode to test runner.
machenbach [Thu, 29 Jan 2015 10:22:50 +0000 (02:22 -0800)]
Add try release mode to test runner.

Also refactor the configuration of modes to have the level
of abstraction in one json dict.

In a follow up CL, the new mode could be added to quickcheck
and release trybots.

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

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

9 years agoBump max-inlined-nodes-cumulative
verwaest [Thu, 29 Jan 2015 10:11:22 +0000 (02:11 -0800)]
Bump max-inlined-nodes-cumulative

BUG=

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

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

9 years agoLoad API accessor from descriptor instead of embedding it in handler.
ulan [Thu, 29 Jan 2015 09:57:56 +0000 (01:57 -0800)]
Load API accessor from descriptor instead of embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years ago[turbofan] Remove use of generic algorithm from Scheduler.
titzer [Thu, 29 Jan 2015 09:56:42 +0000 (01:56 -0800)]
[turbofan] Remove use of generic algorithm from Scheduler.

R=mstarzinger@chromium.org
BUG=

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

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

9 years ago[turbofan] Gracefully bail out if OSR encounters a loop too deeply nested.
titzer [Thu, 29 Jan 2015 09:46:24 +0000 (01:46 -0800)]
[turbofan] Gracefully bail out if OSR encounters a loop too deeply nested.

R=jarin@chromium.org
BUG=

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

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

9 years agoFix register aliasing after r26306, r26275.
ulan [Thu, 29 Jan 2015 09:37:24 +0000 (01:37 -0800)]
Fix register aliasing after r26306, r26275.

BUG=

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

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

9 years ago[turbofan] Cleanup the NodeProperties.
bmeurer [Thu, 29 Jan 2015 09:17:45 +0000 (01:17 -0800)]
[turbofan] Cleanup the NodeProperties.

R=svenpanne@chromium.org

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

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

9 years agoMinor refactoring for Zone class and friends.
bmeurer [Thu, 29 Jan 2015 07:41:35 +0000 (23:41 -0800)]
Minor refactoring for Zone class and friends.

R=svenpanne@chromium.org

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

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

9 years agoDon't take iterable path in ArrayFrom if items[@@iterator] is null
caitpotter88 [Thu, 29 Jan 2015 02:36:03 +0000 (18:36 -0800)]
Don't take iterable path in ArrayFrom if items[@@iterator] is null

BUG=v8:3833
LOG=N
R=arv@chromium.org

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

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

9 years agoImplement ParseExportDeclaration per latest ES6 spec draft
Adam Klein [Wed, 28 Jan 2015 19:18:37 +0000 (11:18 -0800)]
Implement ParseExportDeclaration per latest ES6 spec draft

One missing feature: anonymous function & class declarations
in "export default".

BUG=v8:1569
LOG=n
R=arv@chromium.org

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

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

9 years agoAdd Erik Arvidsson to OWNERS
Adam Klein [Wed, 28 Jan 2015 18:23:07 +0000 (10:23 -0800)]
Add Erik Arvidsson to OWNERS

R=rossberg@chromium.org

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

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

9 years agoMIPS: Continue learning for calls in crankshaft.
balazs.kilvady [Wed, 28 Jan 2015 17:17:31 +0000 (09:17 -0800)]
MIPS: Continue learning for calls in crankshaft.

Port 7d363783e14433032a4e8dd426fe0e27d1637fe5

Original commit message:
The type feedback vector makes this easy to do.
This is a re-land of https://codereview.chromium.org/868453005/
with a fix for the DCHECK failure.

BUG=

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

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

9 years agoExtract LoadAccessor into a masm function.
ulan [Wed, 28 Jan 2015 16:31:29 +0000 (08:31 -0800)]
Extract LoadAccessor into a masm function.

BUG=

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

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

9 years ago[turbofan] Add missing deopt for the assignment in the for-in statement.
jarin [Wed, 28 Jan 2015 16:16:09 +0000 (08:16 -0800)]
[turbofan] Add missing deopt for the assignment in the for-in statement.

BUG=chromium:416359
LOG=n
R=mstarzinger@chromium.org

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

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

9 years agoOnly add API-triggered compilation to compile-script histogram.
yangguo [Wed, 28 Jan 2015 15:55:04 +0000 (07:55 -0800)]
Only add API-triggered compilation to compile-script histogram.

R=vogelheim@chromium.org

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

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

9 years ago[turbofan] Use unboxed doubles in range types.
jarin [Wed, 28 Jan 2015 13:55:35 +0000 (05:55 -0800)]
[turbofan] Use unboxed doubles in range types.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoLoad setter from map descriptor instead of embedding it in handler.
ulan [Wed, 28 Jan 2015 12:44:55 +0000 (04:44 -0800)]
Load setter from map descriptor instead of embedding it in handler.

BUG=v8:3629
LOG=N

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

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

9 years agoAdd missing FrameState to JSToName nodes.
mstarzinger [Wed, 28 Jan 2015 11:39:24 +0000 (03:39 -0800)]
Add missing FrameState to JSToName nodes.

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

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

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

9 years agoRemoved TRYSERVER_ROOT since this is not used anymore
sergiyb [Wed, 28 Jan 2015 11:04:21 +0000 (03:04 -0800)]
Removed TRYSERVER_ROOT since this is not used anymore

Instead PROJECT property is used by Rietveld to set patch_project, which is then
mapped to correct path in the recipe.

R=machenbach@chromium.org

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

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

9 years agoLet release scripts determine version based on tags.
machenbach [Wed, 28 Jan 2015 10:08:53 +0000 (02:08 -0800)]
Let release scripts determine version based on tags.

Also create new v8 versions based on the roll ref, which
has some more verification steps than the candidate ref.

Improve bailout regarding existing versions. Only create a
new version if the revisions is in the future.

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

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

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

9 years agoContinue learning for calls in crankshaft.
mvstanton [Wed, 28 Jan 2015 09:03:05 +0000 (01:03 -0800)]
Continue learning for calls in crankshaft.

The type feedback vector makes this easy to do.
This is a re-land of https://codereview.chromium.org/868453005/
with a fix for the DCHECK failure.

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

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

9 years agoReland of "Steps towards unification of number bitset and range types."
jarin [Wed, 28 Jan 2015 08:42:15 +0000 (00:42 -0800)]
Reland of "Steps towards unification of number bitset and range types."

This reverts commit 76193749791eac9032f47db2f04efd78c0e120a9.

BUG=

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

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

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

Rolling v8/tools/clang to 0825693c3460f23b1d78ad272999f850447ad333

TBR=machenbach@chromium.org

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

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

9 years agoBegin modernization of --harmony-modules
adamk [Tue, 27 Jan 2015 21:06:36 +0000 (13:06 -0800)]
Begin modernization of --harmony-modules

The approach taken in this CL is to incrementally move toward the
currently-specced version of modules in ES6. The biggest change in this
patch is separating the parsing of modules from the parsing of scripts,
getting rid of the 'module' keyword and thus disallowing modules-in-scripts
as well as modules-in-modules.

The syntax supported by import/export declarations has not yet been significantly
changed, with the major exception being that import declarations require a string
as the 'from' part.

Most of the existing tests have been disabled, with a first new test added
in cctest/test-parsing.

BUG=v8:1569
LOG=n

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

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

9 years agoMIPS: Use a trampoline stub to load the type feedback vector for CallICs.
balazs.kilvady [Tue, 27 Jan 2015 15:54:37 +0000 (07:54 -0800)]
MIPS: Use a trampoline stub to load the type feedback vector for CallICs.

Port 2a567faa3e7242359e29c63f8dc8c18104af0610

BUG=

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

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

9 years agoLand test case for RegExp.source.
yangguo [Tue, 27 Jan 2015 15:17:25 +0000 (07:17 -0800)]
Land test case for RegExp.source.

BUG=chromium:447561
LOG=N
TBR=mvstanton@chromium.org

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

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

9 years agoReland "Only use FreeSpace objects in the free list"
yangguo [Tue, 27 Jan 2015 14:56:51 +0000 (06:56 -0800)]
Reland "Only use FreeSpace objects in the free list"

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

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

9 years agoRescale histogram timers.
yangguo [Tue, 27 Jan 2015 14:08:15 +0000 (06:08 -0800)]
Rescale histogram timers.

R=vogelheim@chromium.org

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

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

9 years ago[turbofan] Ensure that NTLs are always properly connected to the end.
bmeurer [Tue, 27 Jan 2015 14:02:21 +0000 (06:02 -0800)]
[turbofan] Ensure that NTLs are always properly connected to the end.

Up until now we used a special Terminate node to artifically connect non
terminating loops to the End node, but this was kind of adhoc and didn't
work for the CFG. So without all kinds of weird hacks, the end block in
the CFG will not be connected to NTLs, which makes it impossible to
compute post dominance / control dependence in the current setting.

So instead of Terminate, we add a special Branch to NTLs, whose
condition is the special Always node, which corresponds to True, except
that it cannot be folded away. This way we don't need any special
machinery in the scheduler, since it's just a regular Branch.

R=titzer@chromium.org

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

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

9 years agoRevert of Continue learning for calls in optimized code when we have no type feedback...
mvstanton [Tue, 27 Jan 2015 13:06:57 +0000 (05:06 -0800)]
Revert of Continue learning for calls in optimized code when we have no type feedback. (patchset #4 id:60001 of https://codereview.chromium.org/868453005/)

Reason for revert:
Serializer tests broke. Need to debug and fix.

Original issue's description:
> Continue learning for calls in optimized code when we have no type feedback.
>
> Based on CL https://codereview.chromium.org/871063002/ which needs to land first.
>
> BUG=
>
> Committed: https://crrev.com/f5f2692b5ff70ac3cd06a903b7846174b97a2e55
> Cr-Commit-Position: refs/heads/master@{#26292}

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

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

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

9 years agoContinue learning for calls in optimized code when we have no type feedback.
mvstanton [Tue, 27 Jan 2015 12:32:57 +0000 (04:32 -0800)]
Continue learning for calls in optimized code when we have no type feedback.

Based on CL https://codereview.chromium.org/871063002/ which needs to land first.

BUG=

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

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

9 years agofix performance regression on intel call api stubs
dcarney [Tue, 27 Jan 2015 11:46:06 +0000 (03:46 -0800)]
fix performance regression on intel call api stubs

additionally, make the interface match the JSFunction interface

BUG=451405
LOG=N

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

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

9 years agoUse a trampoline stub to load the type feedback vector for CallICs.
mvstanton [Tue, 27 Jan 2015 11:23:51 +0000 (03:23 -0800)]
Use a trampoline stub to load the type feedback vector for CallICs.

BUG=

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

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

9 years agoDo not generalize field representations when making elements kind or observed transition.
ishell [Tue, 27 Jan 2015 11:18:55 +0000 (03:18 -0800)]
Do not generalize field representations when making elements kind or observed transition.

BUG=chromium:448711
LOG=y

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

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

9 years ago[x86] Disable AVX unless the operating system explicitly claims to support it.
bmeurer [Tue, 27 Jan 2015 09:59:18 +0000 (01:59 -0800)]
[x86] Disable AVX unless the operating system explicitly claims to support it.

BUG=chromium:452033, v8:3846
LOG=y
R=jkummerow@chromium.org

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

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

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}