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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
v8-autoroll [Fri, 23 Jan 2015 05:47:14 +0000 (21:47 -0800)]
Update V8 DEPS.
Rolling v8/tools/clang to
de83a52aa5c5578519e244099ee755726e430253
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
866353002
Cr-Commit-Position: refs/heads/master@{#26233}
akos.palfi [Fri, 23 Jan 2015 05:46:04 +0000 (21:46 -0800)]
MIPS: new classes: change semantics of super(...) call and add new.target to construct stub.
Port
22ce08ade63a9c4f28225db11a5b5d2726c5a8e7
BUG=
Review URL: https://codereview.chromium.org/
871693002
Cr-Commit-Position: refs/heads/master@{#26232}
dcarney [Thu, 22 Jan 2015 21:37:06 +0000 (13:37 -0800)]
Call directly to c callbacks in Invoke instead of transitioning to js and back out.
BUG=
Review URL: https://codereview.chromium.org/
864273002
Cr-Commit-Position: refs/heads/master@{#26231}
machenbach [Thu, 22 Jan 2015 21:27:35 +0000 (13:27 -0800)]
Revert of [x86] Use AVX in Crankshaft when available. (patchset #1 id:1 of https://codereview.chromium.org/
860003002/)
Reason for revert:
Breaks chromium vista and XP browser tests:
http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_vista_rel_ng/builds/23
Original issue's description:
> [x86] Use AVX in Crankshaft when available.
>
> R=verwaest@chromium.org
>
> Committed: https://crrev.com/
622be8f71e70b6ece4ea6a89bcfa1bc4be5e70c1
> Cr-Commit-Position: refs/heads/master@{#26159}
TBR=verwaest@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
863423002
Cr-Commit-Position: refs/heads/master@{#26230}
mstarzinger [Thu, 22 Jan 2015 18:52:01 +0000 (10:52 -0800)]
Avoid unintentional optimization of hot builtins by TurboFan.
R=titzer@chromium.org
TEST=mjsunit/regress/regress-crbug-451016
BUG=chromium:451016
LOG=N
Review URL: https://codereview.chromium.org/
817293005
Cr-Commit-Position: refs/heads/master@{#26229}
mstarzinger [Thu, 22 Jan 2015 18:48:48 +0000 (10:48 -0800)]
Enable inlining test that now works with control reducer.
R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoopGuardedEmpty
Review URL: https://codereview.chromium.org/
867683002
Cr-Commit-Position: refs/heads/master@{#26228}
dslomov [Thu, 22 Jan 2015 18:39:34 +0000 (10:39 -0800)]
new classes: change semantics of super(...) call and add new.target to construct stub.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/
803933008
Cr-Commit-Position: refs/heads/master@{#26227}
vogelheim [Thu, 22 Jan 2015 18:38:19 +0000 (10:38 -0800)]
Implement AggregatableHistogramTimer and use it to measure how much time
of running a script is really spent in compilation. That is, sum up the
total time spent compiling (parsing + compile proper) within a run call
as seen through the API.
@jochen: So many questions:
- Is it ok to re-use V8.CompileLazy?
This measures something a little different.
- clang-format does funny things to the huge macro definitions.
I accepted clang-format changes for all code, but reverted for
the #define orgies in counters.h. ok?
- Am I measuring the right thing. That is, are Aggregat[ing|ed]TimerScope
in the right place?
I'll fiddle a bit more with this to see if it does the right thing. Would
be happy if you could still review now-ish.
BUG=
Review URL: https://codereview.chromium.org/
790413004
Cr-Commit-Position: refs/heads/master@{#26226}
ulan [Thu, 22 Jan 2015 15:30:48 +0000 (07:30 -0800)]
Treat pointers in optimized code as strong before all weak dependencies are registered.
This prevents GC from observing code objects with out-of-sync weak dependencies.
BUG=v8:3823
LOG=N
Review URL: https://codereview.chromium.org/
866723002
Cr-Commit-Position: refs/heads/master@{#26225}
machenbach [Thu, 22 Jan 2015 15:06:50 +0000 (07:06 -0800)]
Make version generation robust to other user-defined tags.
BUG=chromium:446166
LOG=n
Review URL: https://codereview.chromium.org/
865153003
Cr-Commit-Position: refs/heads/master@{#26224}
Dusan Milosavljevic [Thu, 22 Jan 2015 15:04:29 +0000 (16:04 +0100)]
MIPS: Fix rare random crashes in keyed store if element transition is needed.
TEST=mjsunit/sin-cos
BUG=
R=balazs.kilvady@imgtec.com
Review URL: https://codereview.chromium.org/
865153002
Cr-Commit-Position: refs/heads/master@{#26223}
danno [Thu, 22 Jan 2015 14:16:41 +0000 (06:16 -0800)]
Convert compiler cctest to unit tests, part 1
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
867583002
Cr-Commit-Position: refs/heads/master@{#26222}
Benedikt Meurer [Thu, 22 Jan 2015 13:47:03 +0000 (14:47 +0100)]
[turbofan] Add STYLE document.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
865183002
Cr-Commit-Position: refs/heads/master@{#26221}
bmeurer [Thu, 22 Jan 2015 13:01:02 +0000 (05:01 -0800)]
[turbofan] Cleanup Schedule and related classes.
- Move unit tests to schedule-unittests.cc.
- Remove pre-C++11 cruft.
- Fix some include weirdness.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
864293002
Cr-Commit-Position: refs/heads/master@{#26220}
ishell [Thu, 22 Jan 2015 11:15:15 +0000 (03:15 -0800)]
Support concatenating with zero-size arrays with DICTIONARY_ELEMENTS in Runtime_ArrayConcat.
BUG=chromium:450895
LOG=y
Review URL: https://codereview.chromium.org/
849693003
Cr-Commit-Position: refs/heads/master@{#26219}
mstarzinger [Thu, 22 Jan 2015 10:57:30 +0000 (02:57 -0800)]
Add missing BailoutId and FrameState to with statements.
R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-450642
BUG=chromium:450642
LOG=N
Review URL: https://codereview.chromium.org/
865833002
Cr-Commit-Position: refs/heads/master@{#26218}
svenpanne [Thu, 22 Jan 2015 10:23:49 +0000 (02:23 -0800)]
Removed bogus threading test to make TSAN happy.
TSAN hits an internal assertion on a self-join, and the test is not
really that useful, so let's just remove it.
BUG=https://code.google.com/p/thread-sanitizer/issues/detail?id=88
LOG=n
Review URL: https://codereview.chromium.org/
824243007
Cr-Commit-Position: refs/heads/master@{#26217}
yangguo [Thu, 22 Jan 2015 09:43:41 +0000 (01:43 -0800)]
Revert of Change test expectations for test-types/Maybe. (patchset #1 id:1 of https://codereview.chromium.org/
862353002/)
Reason for revert:
Patch causing the failure has been reverted.
Original issue's description:
> Change test expectations for test-types/Maybe.
>
> TBR=rossberg@chromium.org
> BUG=v8:3840
> LOG=N
>
> Committed: https://crrev.com/
ebab2f12e9a4b421d8467bcf28280f8f64700cef
> Cr-Commit-Position: refs/heads/master@{#26212}
TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3840
Review URL: https://codereview.chromium.org/
866673002
Cr-Commit-Position: refs/heads/master@{#26216}
bmeurer [Thu, 22 Jan 2015 09:30:18 +0000 (01:30 -0800)]
Try to fix AOSP builder.
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
862363002
Cr-Commit-Position: refs/heads/master@{#26215}
machenbach [Thu, 22 Jan 2015 09:03:03 +0000 (01:03 -0800)]
Fix typo in build.gn.
TBR=jochen@chromium.org
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
862383002
Cr-Commit-Position: refs/heads/master@{#26214}
bmeurer [Thu, 22 Jan 2015 08:36:01 +0000 (00:36 -0800)]
Double field values need sNaN -> qNaN canonicalization.
Also fix mjsunit/regress/regress-undefined-nan to ensure that we are
testing transfer via xmm registers by forcing the transfer to be in an
optimized function.
BUG=v8:3839
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
863153002
Cr-Commit-Position: refs/heads/master@{#26213}
Yang Guo [Thu, 22 Jan 2015 08:23:05 +0000 (09:23 +0100)]
Change test expectations for test-types/Maybe.
TBR=rossberg@chromium.org
BUG=v8:3840
LOG=N
Review URL: https://codereview.chromium.org/
862353002
Cr-Commit-Position: refs/heads/master@{#26212}
bmeurer [Thu, 22 Jan 2015 07:21:35 +0000 (23:21 -0800)]
Fix ninja build with clang=1.
Review URL: https://codereview.chromium.org/
862313002
Cr-Commit-Position: refs/heads/master@{#26211}
arv [Thu, 22 Jan 2015 06:17:11 +0000 (22:17 -0800)]
Use FunctionLiteral for class constructor
Motivation: Code cleanup
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/
866533003
Cr-Commit-Position: refs/heads/master@{#26210}
v8-autoroll [Thu, 22 Jan 2015 06:16:03 +0000 (22:16 -0800)]
Update V8 DEPS.
Rolling v8/build/gyp to
adb7d24b9fc166f01ab2da50478556b518a9218f
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
868573002
Cr-Commit-Position: refs/heads/master@{#26209}
paul.lind [Thu, 22 Jan 2015 06:14:52 +0000 (22:14 -0800)]
MIPS: Use signaling NaN for holes in fixed double arrays.
Port
9eace97bbaab72962c0fda62e5f9011a10604d0d
Port
5d641ec969e376ee7fa258b41b2988c9e75c4bc8
BUG=
Review URL: https://codereview.chromium.org/
867453002
Cr-Commit-Position: refs/heads/master@{#26208}
bmeurer [Thu, 22 Jan 2015 05:33:23 +0000 (21:33 -0800)]
Revert of Steps towards unification of number bitset and range types. (patchset #4 id:60001 of https://codereview.chromium.org/
837723006/)
Reason for revert:
Breaks test-types/Maybe, i.e.
out/Release/cctest --random-seed=-
707413401 test-types/Maybe
started failing afterwards
Original issue's description:
> Steps towards unification of number bitset and range types.
>
> - New invariant on union types: if the union has a range then the number
> bits in the bitset must be cleared.
>
> - Various tweaks in intersection and union to satisfy the invariant.
>
> - Exposed and used representation bits in range types (and the Limits
> helper class).
>
> - Implemented Glb for ranges so that the Is predicate handles
> ranges correctly.
>
> - Change typer weakening so that it does not rely on GetRange.
> However, the code still seems to be a bit fragile.
>
> - Removed the Smi types from the type system core, instead introduced
> Signed31, Unsigned30 and created constructors for Small(Un)Signed
> that point to the right type for the architecture.
>
> - Punched a hole in the config to be able to get to the isolate so
> that it is possible to allocate heap numbers for newly created
> ranges.
>
> Patch by jarin@chromium.prg, original review here:
> https://codereview.chromium.org/
795713003/
>
> TBR=jarin@chromium.org
> BUG=
>
> Committed: https://crrev.com/
2764fd8d1a266a9136c987c2483492113b0c8d80
> Cr-Commit-Position: refs/heads/master@{#26197}
TBR=jkummerow@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
868583002
Cr-Commit-Position: refs/heads/master@{#26207}
machenbach [Wed, 21 Jan 2015 22:24:53 +0000 (14:24 -0800)]
Reland Make clang the default on linux.
TBR=jochen@chromium.org,jkummerow@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
862173002
Cr-Commit-Position: refs/heads/master@{#26206}
machenbach [Wed, 21 Jan 2015 20:38:20 +0000 (12:38 -0800)]
Revert of Reland Make clang the default on linux. (patchset #3 id:40001 of https://codereview.chromium.org/
861223002/)
Reason for revert:
Still missing these builders:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20full%20debug
Original issue's description:
> Reland Make clang the default on linux.
>
> BUG=
>
> Committed: https://crrev.com/
72ef6843b0aff68e519a8f26e7d2f7dd87b4712c
> Cr-Commit-Position: refs/heads/master@{#26204}
TBR=jochen@chromium.org,jkummerow@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
864093004
Cr-Commit-Position: refs/heads/master@{#26205}
machenbach [Wed, 21 Jan 2015 19:32:04 +0000 (11:32 -0800)]
Reland Make clang the default on linux.
BUG=
Review URL: https://codereview.chromium.org/
861223002
Cr-Commit-Position: refs/heads/master@{#26204}
bmeurer [Wed, 21 Jan 2015 19:11:34 +0000 (11:11 -0800)]
[arm] Skip mozilla/js1_5/extensions/regress-355497 in simulator.
TBR=machenbach@chromium.org
BUG=v8:3837
LOG=n
Review URL: https://codereview.chromium.org/
864073002
Cr-Commit-Position: refs/heads/master@{#26203}
mstarzinger [Wed, 21 Jan 2015 18:46:47 +0000 (10:46 -0800)]
Add missing FrameState to harmony class literals.
R=bmeurer@chromium.org
TEST=mjsunit/harmony/classes
Review URL: https://codereview.chromium.org/
864033002
Cr-Commit-Position: refs/heads/master@{#26202}
Michael Achenbach [Wed, 21 Jan 2015 18:40:32 +0000 (19:40 +0100)]
Whitespace change to test slave shuffle.
Cr-Commit-Position: refs/heads/master@{#26201}
mstarzinger [Wed, 21 Jan 2015 17:17:39 +0000 (09:17 -0800)]
Add missing FrameState for Runtime_GetPrototype.
R=titzer@chromium.org
TEST=cctest/test-api
Review URL: https://codereview.chromium.org/
860053003
Cr-Commit-Position: refs/heads/master@{#26200}