Commit Graph

20837 Commits

Author SHA1 Message Date
dcarney
491eb81780 Add MEGAMORPHIC state support for KeyedLoadIC
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26345}
2015-01-30 09:17:16 +00:00
hpayer
9b60e89482 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}
2015-01-30 08:23:07 +00:00
michael_dawson
f1ba8d8f86 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}
2015-01-30 08:02:08 +00:00
Benedikt Meurer
883852293a Revert "Make GCC happy again." and "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
This reverts commit 6a4c0a3bae and commit
0deaa4b629 for breaking GCC bots.

TBR=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26342}
2015-01-30 07:19:57 +00:00
Benedikt Meurer
6a4c0a3bae Make GCC happy again.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26341}
2015-01-30 06:56:47 +00:00
bmeurer
0deaa4b629 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}
2015-01-30 06:25:36 +00:00
v8-autoroll
9c1705d53c 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}
2015-01-30 04:32:02 +00:00
adamk
0c928d533a 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}
2015-01-30 03:27:06 +00:00
arv
13616615fd 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}
2015-01-30 03:10:13 +00:00
arv
b004b1d821 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}
2015-01-29 23:12:43 +00:00
balazs.kilvady
c12d79257e MIPS: Fix 'Load API accessor from descriptor instead of embedding it in handler.'
Fix a typo in 6ea31f7eee

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26335}
2015-01-29 18:33:53 +00:00
machenbach
24bfa90b31 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}
2015-01-29 18:01:23 +00:00
titzer
11311c083a [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}
2015-01-29 17:40:23 +00:00
mvstanton
bcc79d33ca 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}
2015-01-29 17:36:51 +00:00
ulan
b98f27f592 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}
2015-01-29 17:18:50 +00:00
hpayer
350cbaabfd 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}
2015-01-29 16:54:43 +00:00
dcarney
f5ca41450a store InstructionOperands directly in Instruction
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26329}
2015-01-29 16:00:19 +00:00
aperez
91b87e7a28 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}
2015-01-29 15:53:15 +00:00
jarin
a4b163a940 [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}
2015-01-29 15:30:32 +00:00
ulan
23866a6f99 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}
2015-01-29 15:26:40 +00:00
machenbach
60bd272f3a 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}
2015-01-29 14:21:41 +00:00
kozyatinskiy
eaae397c42 [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}
2015-01-29 14:01:33 +00:00
danno
328cf76e35 [turbofan] Improve JSON output
Review URL: https://codereview.chromium.org/882973002

Cr-Commit-Position: refs/heads/master@{#26323}
2015-01-29 12:15:14 +00:00
machenbach
7a8d0c02a5 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}
2015-01-29 10:22:57 +00:00
verwaest
df5b2ee334 Bump max-inlined-nodes-cumulative
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26321}
2015-01-29 10:11:31 +00:00
ulan
6ea31f7eee 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}
2015-01-29 09:58:13 +00:00
titzer
fca95cf753 [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}
2015-01-29 09:56:52 +00:00
titzer
f5479ca675 [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}
2015-01-29 09:46:36 +00:00
ulan
d83a2445a2 Fix register aliasing after r26306, r26275.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26317}
2015-01-29 09:37:36 +00:00
bmeurer
1df5fed50a [turbofan] Cleanup the NodeProperties.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26316}
2015-01-29 09:18:09 +00:00
bmeurer
d0f3e5302c 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}
2015-01-29 07:41:52 +00:00
caitpotter88
1f2e5973eb 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}
2015-01-29 02:36:12 +00:00
Adam Klein
f7dc15febe 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}
2015-01-28 19:18:48 +00:00
Adam Klein
34601552cf Add Erik Arvidsson to OWNERS
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26312}
2015-01-28 18:23:29 +00:00
balazs.kilvady
b957128b01 MIPS: Continue learning for calls in crankshaft.
Port 7d363783e1

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}
2015-01-28 17:17:45 +00:00
ulan
5284014623 Extract LoadAccessor into a masm function.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26310}
2015-01-28 16:31:44 +00:00
jarin
489b6f7c60 [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}
2015-01-28 16:16:24 +00:00
yangguo
d684ece016 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}
2015-01-28 15:55:17 +00:00
jarin
3c9f98516c [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}
2015-01-28 13:55:45 +00:00
ulan
b3de173d16 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}
2015-01-28 12:45:03 +00:00
mstarzinger
c5833e8596 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}
2015-01-28 11:40:02 +00:00
sergiyb
4384eb4752 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}
2015-01-28 11:04:32 +00:00
machenbach
c071f4fbb6 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}
2015-01-28 10:09:04 +00:00
mvstanton
7d363783e1 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}
2015-01-28 09:03:19 +00:00
jarin
5bd8407f8c Reland of "Steps towards unification of number bitset and range types."
This reverts commit 7619374979.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26301}
2015-01-28 08:42:32 +00:00
v8-autoroll
aa609b546d 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}
2015-01-28 04:32:00 +00:00
adamk
aeb3a71740 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}
2015-01-27 21:06:46 +00:00
balazs.kilvady
701c6e7475 MIPS: Use a trampoline stub to load the type feedback vector for CallICs.
Port 2a567faa3e

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26298}
2015-01-27 15:54:49 +00:00
yangguo
1e905469be 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}
2015-01-27 15:17:37 +00:00
yangguo
e5a082f0c4 Reland "Only use FreeSpace objects in the free list"
Review URL: https://codereview.chromium.org/882633002

Cr-Commit-Position: refs/heads/master@{#26296}
2015-01-27 14:57:00 +00:00