Commit Graph

20824 Commits

Author SHA1 Message Date
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
yangguo
22421bbe9f Rescale histogram timers.
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26295}
2015-01-27 14:08:27 +00:00
bmeurer
59a02ebdbe [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}
2015-01-27 14:02:28 +00:00
mvstanton
f605f1c223 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}
2015-01-27 13:07:09 +00:00
mvstanton
f5f2692b5f 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}
2015-01-27 12:33:07 +00:00
dcarney
b18ad51079 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}
2015-01-27 11:46:19 +00:00
mvstanton
2a567faa3e 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}
2015-01-27 11:24:07 +00:00
ishell
7f9b2fa699 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}
2015-01-27 11:19:06 +00:00
bmeurer
d93c4d19f1 [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}
2015-01-27 09:59:24 +00:00
yangguo
cc79418b59 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}
2015-01-27 09:41:21 +00:00
jarin
b4a4c4c591 [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}
2015-01-27 09:27:37 +00:00
yangguo
6696439510 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}
2015-01-27 09:20:31 +00:00
machenbach
3c17b3b369 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}
2015-01-27 08:53:37 +00:00
bmeurer
44f1b9d148 [turbofan] Some cleanup for scheduler unittests.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26283}
2015-01-27 07:48:10 +00:00