mvstanton [Fri, 30 Jan 2015 15:07:02 +0000 (07:07 -0800)]
CallIC used an invalid mechanism to detect if it was in optimized code.
BUG=453481
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
885333002
Cr-Commit-Position: refs/heads/master@{#26361}
ulan [Fri, 30 Jan 2015 14:54:43 +0000 (06:54 -0800)]
Do not embedd store callback in handler.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
881783003
Cr-Commit-Position: refs/heads/master@{#26360}
jarin [Fri, 30 Jan 2015 14:35:27 +0000 (06:35 -0800)]
Always emit bailout id for inlining property access (even for keyed access).
R=ulan@chromium.org
BUG=chromium:453805
LOG=n
Review URL: https://codereview.chromium.org/
887023003
Cr-Commit-Position: refs/heads/master@{#26359}
ulan [Fri, 30 Jan 2015 14:31:15 +0000 (06:31 -0800)]
Load callback data from weak cell instead of embedding it in handler.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
877243004
Cr-Commit-Position: refs/heads/master@{#26358}
jarin [Fri, 30 Jan 2015 13:51:32 +0000 (05:51 -0800)]
Do not inline array push for arrays with dictionary mode elements.
BUG=chromium:452878
LOG=n
Review URL: https://codereview.chromium.org/
880233002
Cr-Commit-Position: refs/heads/master@{#26357}
bmeurer [Fri, 30 Jan 2015 13:35:58 +0000 (05:35 -0800)]
Fix the test-code-stubs tests.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
892603002
Cr-Commit-Position: refs/heads/master@{#26356}
titzer [Fri, 30 Jan 2015 13:09:32 +0000 (05:09 -0800)]
[turbofan] Fix usage of ThisFunction parameter in OSR.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
892593002
Cr-Commit-Position: refs/heads/master@{#26355}
ishell [Fri, 30 Jan 2015 12:55:15 +0000 (04:55 -0800)]
Layout descriptor sharing issue fixed.
BUG=chromium:437713, v8:3832
LOG=Y
Review URL: https://codereview.chromium.org/
885003002
Cr-Commit-Position: refs/heads/master@{#26354}
balazs.kilvady [Fri, 30 Jan 2015 12:45:10 +0000 (04:45 -0800)]
MIPS: Add MEGAMORPHIC state support for KeyedLoadIC.
Port
491eb81780873aafd4d7f6638d20f26839383c68
BUG=
Review URL: https://codereview.chromium.org/
888843002
Cr-Commit-Position: refs/heads/master@{#26353}
dcarney [Fri, 30 Jan 2015 12:40:57 +0000 (04:40 -0800)]
update vector ics to handle megamorphic keyed loads
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
889863002
Cr-Commit-Position: refs/heads/master@{#26352}
hpayer [Fri, 30 Jan 2015 11:26:28 +0000 (03:26 -0800)]
Visit code objects in native contexts only during full GCs.
BUG=
Review URL: https://codereview.chromium.org/
887943002
Cr-Commit-Position: refs/heads/master@{#26351}
dcarney [Fri, 30 Jan 2015 10:58:22 +0000 (02:58 -0800)]
[turbofan] cleanup MoveOptimizer a little
BUG=
Review URL: https://codereview.chromium.org/
888813002
Cr-Commit-Position: refs/heads/master@{#26350}
Dan Carney [Fri, 30 Jan 2015 10:11:56 +0000 (11:11 +0100)]
fix gcc after r26345
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
885303002
Cr-Commit-Position: refs/heads/master@{#26349}
mstarzinger [Fri, 30 Jan 2015 09:56:10 +0000 (01:56 -0800)]
Avoid using ProcessArguments for static calls.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
886853002
Cr-Commit-Position: refs/heads/master@{#26348}
Benedikt Meurer [Fri, 30 Jan 2015 09:48:50 +0000 (10:48 +0100)]
Make GCC happy with test-cpu-profiler.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
891663002
Cr-Commit-Position: refs/heads/master@{#26347}
bmeurer [Fri, 30 Jan 2015 09:29:25 +0000 (01:29 -0800)]
Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
877753007
Cr-Commit-Position: refs/heads/master@{#26346}
dcarney [Fri, 30 Jan 2015 09:17:01 +0000 (01:17 -0800)]
Add MEGAMORPHIC state support for KeyedLoadIC
BUG=
Review URL: https://codereview.chromium.org/
878263002
Cr-Commit-Position: refs/heads/master@{#26345}
hpayer [Fri, 30 Jan 2015 08:22:52 +0000 (00:22 -0800)]
Collect phantom callback data only once during gc. For scavenges, just consider the young handles referenced by young generation.
BUG=
Review URL: https://codereview.chromium.org/
885553005
Cr-Commit-Position: refs/heads/master@{#26344}
michael_dawson [Fri, 30 Jan 2015 08:01:53 +0000 (00:01 -0800)]
Contribution of PowerPC port (continuation of
422063005) - AIX Common1
Contribution of PowerPC port (continuation of
422063005 and
817143002). This patch covers
the key changes needed to the common files needed to support AIX. Subsequent
patches will cover:
- changes to update the ppc directories so they are current with the changes
in the rest of the project.
- remaining AIX changes not resolved by 4.8 compiler
- individual optimizations for PPC
This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
866843003
Cr-Commit-Position: refs/heads/master@{#26343}
Benedikt Meurer [Fri, 30 Jan 2015 07:19:40 +0000 (08:19 +0100)]
Revert "Make GCC happy again." and "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
This reverts commit
6a4c0a3bae60b1a2239f35e3b759bd215e3886fe and commit
0deaa4b629faeae6832046c294dc7c034a0a6653 for breaking GCC bots.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
893533003
Cr-Commit-Position: refs/heads/master@{#26342}
Benedikt Meurer [Fri, 30 Jan 2015 06:56:23 +0000 (07:56 +0100)]
Make GCC happy again.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
889743003
Cr-Commit-Position: refs/heads/master@{#26341}
bmeurer [Fri, 30 Jan 2015 06:25:08 +0000 (22:25 -0800)]
Initial switch to Chromium-style CHECK_* and DCHECK_* macros.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
888613002
Cr-Commit-Position: refs/heads/master@{#26340}
v8-autoroll [Fri, 30 Jan 2015 04:31:53 +0000 (20:31 -0800)]
Update V8 DEPS.
Rolling v8/build/gyp to
104e21ecf6f28c47d2e729d572aa790b85225ee0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
891623002
Cr-Commit-Position: refs/heads/master@{#26339}
adamk [Fri, 30 Jan 2015 03:26:50 +0000 (19:26 -0800)]
Implemented new syntax for ImportDeclarations
Also had to split ParseImportsList and ParseExportClause into separate
methods as they have different rules about reserved words and arguments/eval.
Added lots more test cases, including some export cases that were missed before
due to incorrect checking of reserved words.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
887843002
Cr-Commit-Position: refs/heads/master@{#26338}
arv [Fri, 30 Jan 2015 03:09:57 +0000 (19:09 -0800)]
Lexical declarations should not be allowed in Statement
For example let and class should only be allowed inside function/block/script.
We have to continue to support const in statements in sloppy mode for backwards compatibility.
BUG=3831
LOG=Y
R=dslomov@chromium.org, adamk
Review URL: https://codereview.chromium.org/
869293002
Cr-Commit-Position: refs/heads/master@{#26337}
arv [Thu, 29 Jan 2015 23:12:25 +0000 (15:12 -0800)]
Move object literal checking into checker classes
This removes the duplicate property check from object literals.
Instead we repurpose the ObjectLiteralChecker into two cases, implemented
by two subclasses to ObjectLiteralCheckerBase called ObjectLiteralChecker
and ClassLiteralChecker.
The object literal checker now only checks for duplicate __proto__ fields in
object literals.
The class literal checker checks for duplicate constructors, non constructor
fields named constructor as well as static properties named prototype.
BUG=v8:3819
LOG=Y
R=adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/
873823003
Cr-Commit-Position: refs/heads/master@{#26336}
balazs.kilvady [Thu, 29 Jan 2015 18:33:47 +0000 (10:33 -0800)]
MIPS: Fix 'Load API accessor from descriptor instead of embedding it in handler.'
Fix a typo in
6ea31f7eee230228c9d34362360b8b9f08e79815
BUG=
Review URL: https://codereview.chromium.org/
878023003
Cr-Commit-Position: refs/heads/master@{#26335}
machenbach [Thu, 29 Jan 2015 18:01:13 +0000 (10:01 -0800)]
Revert of Use a WeakCell in the CallIC type vector. (patchset #4 id:80001 of https://codereview.chromium.org/
881433002/)
Reason for revert:
Breaks a regression test on linux isloates, and linux with gcc 4.8.
Original issue's description:
> 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=
>
> Committed: https://crrev.com/
bcc79d33ca6d97d9ecfcfcf110a6ea84a0225389
> Cr-Commit-Position: refs/heads/master@{#26332}
TBR=ulan@chromium.org,mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
886663004
Cr-Commit-Position: refs/heads/master@{#26334}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}