caitpotter88
17ba366bb8
Implement Array.from()
...
A helpful utility which converts iterables and array-like objects into Arrays
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from
LOG=Y
BUG=v8:3336
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/363833006
Cr-Commit-Position: refs/heads/master@{#25785}
2014-12-11 17:16:27 +00:00
caitpotter88
ed29ecd838
Add materialized literals for tagged templates in preparser
...
LOG=N
R=arv@chromium.org , dslomov@chromium.org , marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/792083002
Cr-Commit-Position: refs/heads/master@{#25782}
2014-12-11 15:43:08 +00:00
jochen
b7caca9f9a
When reading the map from a live object, use a barrier load
...
It could happen that we shrink a live object on the main thread (e.g.
MigrateFastToSlow) while we're sweeping the same page. The main
thread first creates a filler object that the release-stores the new
map. Therefore it's important to barrier load the map word of live
objects from the sweeper thread.
BUG=none
R=ulan@chromium.org ,hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/797623002
Cr-Commit-Position: refs/heads/master@{#25780}
2014-12-11 15:25:30 +00:00
aandrey
1c4a9193cc
Add a missing DebugPromiseEvent in promise.js
...
DevTools expects 2 events on Promise.resolve()/Promise.reject():
creation & settlement. The first one was missing.
R=ulan@chromium.org , yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/792383003
Cr-Commit-Position: refs/heads/master@{#25778}
2014-12-11 14:36:27 +00:00
dcarney
91ed586ec2
[turbofan] update SpillRange to use ZoneVector
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/793323002
Cr-Commit-Position: refs/heads/master@{#25777}
2014-12-11 14:08:18 +00:00
rossberg
7e9ca491a4
Introduce unsigned representation types
...
To make space in the type bitset, remove Function, RegExp, and Buffer
types for now, since they aren't really relied upon anyway.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/795993002
Cr-Commit-Position: refs/heads/master@{#25776}
2014-12-11 13:47:46 +00:00
baptiste.afsa
732c8a0966
[turbofan] Avoid some redundant checks of unordered comparison on arm/arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/793303002
Cr-Commit-Position: refs/heads/master@{#25775}
2014-12-11 13:33:43 +00:00
jochen
aa0664e58f
Disable generating of code cache if the debugger is loaded
...
BUG=440880
R=yangguo@chromium.org ,dcarney@chromium.org,vogelheim@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/796823002
Cr-Commit-Position: refs/heads/master@{#25774}
2014-12-11 12:58:47 +00:00
baptiste.afsa
49baecc42b
[turbofan] Mark arm64 cbz/cbnz tbz/tbnz instructions as branch instructions.
...
The instruction selector now selects pseudo instructions: CompareAndBranch or
TestAndBranch which are associated with their continuations so that generic
code in the code generator will treat them as branch instruction and will be
able to apply optimization like avoiding branches when the code can falltrhough.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/798553002
Cr-Commit-Position: refs/heads/master@{#25773}
2014-12-11 12:45:33 +00:00
dcarney
8897ab8930
[turbofan] commit allocated registers early
...
R=bmeurer@chromium.org
BUG=441107
LOG=N
Review URL: https://codereview.chromium.org/795043003
Cr-Commit-Position: refs/heads/master@{#25772}
2014-12-11 12:13:19 +00:00
danno
2f7a5af0e3
[turbofan]: Port lea changes to ia32
...
Review URL: https://codereview.chromium.org/747283005
Cr-Commit-Position: refs/heads/master@{#25771}
2014-12-11 11:53:00 +00:00
jochen
4c3e4f8d75
remove Isolate::debugger_initialized_
...
It's never used.
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/797543002
Cr-Commit-Position: refs/heads/master@{#25770}
2014-12-11 11:28:33 +00:00
jochen
52c14c8dc8
Disable invalid DCHECK_EQ in serializer.cc
...
BUG=none
R=mvstanton@chromium.org ,yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/791363002
Cr-Commit-Position: refs/heads/master@{#25769}
2014-12-11 11:24:51 +00:00
yangguo
dae6dfe08b
Implement Math.log2 via ported extract from fdlibm.
...
Adapted from Raymond Toy's (rtoy@chromium.org ) port, extracted from fdlibm's pow implementation.
R=rtoy@chromium.org
BUG=v8:3579
LOG=N
Review URL: https://codereview.chromium.org/786823003
Cr-Commit-Position: refs/heads/master@{#25768}
2014-12-11 11:23:37 +00:00
kozyatinskiy
affe4c03b6
[V8] Report v8::AfterCompile and v8::CompileError to listener on pause
...
V8 didn't report compile events on pause before this patch. These events can be important for listener. For example, DevTools allows user to execute some JS code on pause and needs to show correct stack trace in message from it.
BUG=396013
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/781623004
Cr-Commit-Position: refs/heads/master@{#25767}
2014-12-11 10:59:00 +00:00
Benedikt Meurer
2bfe09a607
[turbofan] Fix typing of typed array loads/stores.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/794113002
Cr-Commit-Position: refs/heads/master@{#25765}
2014-12-11 09:31:05 +00:00
vchigrin
f196a953c0
Fix crash in V8 during serializing objects requiring alignment.
...
Review URL: https://codereview.chromium.org/793753002
Cr-Commit-Position: refs/heads/master@{#25764}
2014-12-11 09:27:41 +00:00
adamk
9aab9f13d6
Create optimized versions of the Map/Set clear method
...
This completes the first round of optimizations for Map and Set.
All non-key-dependent methods now have a Hydrogen version, and
for keyed methods, string versions are optimized.
Review URL: https://codereview.chromium.org/796503002
Cr-Commit-Position: refs/heads/master@{#25763}
2014-12-10 22:16:33 +00:00
mathiasb
33f0cf5acd
Implement the RegExp.prototype.flags
getter
...
TEST=mjsunit/harmony
BUG=v8:3751
LOG=N
Review URL: https://codereview.chromium.org/770333005
Cr-Commit-Position: refs/heads/master@{#25762}
2014-12-10 20:41:10 +00:00
dslomov
059482b70d
Ship ES6 block scoping.
...
R=rossberg@chromium.org
BUG=v8:2198
LOG=Y
Review URL: https://codereview.chromium.org/792543002
Cr-Commit-Position: refs/heads/master@{#25761}
2014-12-10 20:39:32 +00:00
adamk
4fa7ae1c07
Optimize Object.seal and Object.preventExtensions
...
They both now run fast (due to utilizing transitions instead of always
creating new maps) and sealed or non-extensible objects can stay in
fast mode after transitioning.
This almost entirely reuses the code for transitioning objects
frozen by Object.freeze(), with the added benefit of freeing
up a bit on the map (we no longer keep track of frozen-ness,
as that bit wasn't used for anything interesting).
BUG=v8:3662,chromium:115960
LOG=y
Review URL: https://codereview.chromium.org/776143005
Cr-Commit-Position: refs/heads/master@{#25759}
2014-12-10 20:02:59 +00:00
adamk
8877f15664
Create optimized inline versions of Map and Set initialization
...
Review URL: https://codereview.chromium.org/779173010
Cr-Commit-Position: refs/heads/master@{#25758}
2014-12-10 18:47:36 +00:00
Adam Klein
986e7cefe1
Ensure class prototype objects have the right Map::constructor field
...
The null constructor they had previously could be observed as crashes in
the V8 API's Object::CreationContext() method and in Object.observe.
BUG=v8:3750
LOG=n
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/787763005
Cr-Commit-Position: refs/heads/master@{#25757}
2014-12-10 18:25:55 +00:00
jarin
8a6cbf0a86
Revert of Avoid number range holes in bitset types. (patchset #5 id:80001 of https://codereview.chromium.org/759013003/ )
...
Reason for revert:
For breaking the waterfall (run-json-stringify test).
Original issue's description:
> Avoid number range holes in bitset types.
>
> BUG=
TBR=rossberg@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/794663002
Cr-Commit-Position: refs/heads/master@{#25756}
2014-12-10 18:25:38 +00:00
jarin
4de4f74cf2
Avoid number range holes in bitset types.
...
BUG=
Review URL: https://codereview.chromium.org/759013003
Cr-Commit-Position: refs/heads/master@{#25754}
2014-12-10 16:39:10 +00:00
vogelheim
a0a49f523a
Make d8 default to standard location for external snapshots.
...
This makes tests runnable with the external snapshot, and should be the
last step before enabling external snapshot on >=1 bots.
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/780333004
Cr-Commit-Position: refs/heads/master@{#25753}
2014-12-10 16:36:35 +00:00
vogelheim
65006b85b7
Fix mirror-script and debug-script tests when using external natives.
...
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/792733003
Cr-Commit-Position: refs/heads/master@{#25752}
2014-12-10 16:06:14 +00:00
mstarzinger
0f9d98e053
Make loop assignment analysis a separate phase.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/770373003
Cr-Commit-Position: refs/heads/master@{#25751}
2014-12-10 15:20:01 +00:00
ishell
7d13ca278a
Reland of "TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name."
...
Review URL: https://codereview.chromium.org/793453004
Cr-Commit-Position: refs/heads/master@{#25750}
2014-12-10 15:18:52 +00:00
yangguo
25cfc5dc29
Disallow object/function templates when creating snapshots.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/791033002
Cr-Commit-Position: refs/heads/master@{#25749}
2014-12-10 14:55:57 +00:00
yangguo
f65a023fac
Consistently use "use strict" where possible.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/789163002
Cr-Commit-Position: refs/heads/master@{#25748}
2014-12-10 14:41:05 +00:00
yangguo
d28b2a194d
Extract non-IO part of mksnapshot into an API method.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/789213002
Cr-Commit-Position: refs/heads/master@{#25747}
2014-12-10 14:20:26 +00:00
balazs.kilvady
30f2578ca2
MIPS: Fix after 'Reland remaining parts of 'Use weak cells in map checks in polymorphic ICs''.
...
Fix d2e54925ca
In 'MIPS: Change CmpWeakValue to a more MIPS like GetWeakValue.'
a25003cfa6
we switched to use GetWeakValue.
BUG=
Review URL: https://codereview.chromium.org/782273004
Cr-Commit-Position: refs/heads/master@{#25746}
2014-12-10 13:14:04 +00:00
hpayer
071a28605e
Use nobarrier load in store buffer duplicate removal to annotate harmless race.
...
BUG=
Review URL: https://codereview.chromium.org/787383002
Cr-Commit-Position: refs/heads/master@{#25745}
2014-12-10 12:24:33 +00:00
dcarney
70caf05b6a
fix gcmole warning after r25737
...
TBR=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/794563002
Cr-Commit-Position: refs/heads/master@{#25744}
2014-12-10 12:14:23 +00:00
Benedikt Meurer
f6849d9ed4
[turbofan] Fix cycles introduced by pushing ToNumbers into phis.
...
TEST=cctest
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/790123002
Cr-Commit-Position: refs/heads/master@{#25743}
2014-12-10 11:59:44 +00:00
dcarney
59753fb9c1
[turbofan] update register allocator with auto, nullptr and ZoneVector
...
BUG=
Review URL: https://codereview.chromium.org/789083005
Cr-Commit-Position: refs/heads/master@{#25742}
2014-12-10 11:48:33 +00:00
yangguo
7cff32a9bd
Reland "Use same blob format for internal and external snapshots."
...
Review URL: https://codereview.chromium.org/791723004
Cr-Commit-Position: refs/heads/master@{#25741}
2014-12-10 11:46:55 +00:00
titzer
9a823cf612
Reland "[turbofan] Fix control reducer bug with NTLs."
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/789083004
Cr-Commit-Position: refs/heads/master@{#25740}
2014-12-10 11:45:35 +00:00
ulan
d2e54925ca
Reland remaining parts of 'Use weak cells in map checks in polymorphic ICs'
...
BUG=v8:3663
LOG=N
Review URL: https://codereview.chromium.org/792543003
Cr-Commit-Position: refs/heads/master@{#25739}
2014-12-10 10:57:36 +00:00
ulan
3834b78465
Reland 'Do not embed constant functions in StoreTransition stub.'
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/787153002
Cr-Commit-Position: refs/heads/master@{#25738}
2014-12-10 10:28:51 +00:00
dcarney
ea11ffc65b
ExecutableAccessorInfo::clear_setter should set a null foreign pointer
...
R=jkummerow@chromium.org
BUG=433458
LOG=N
Review URL: https://codereview.chromium.org/759683004
Cr-Commit-Position: refs/heads/master@{#25737}
2014-12-10 10:18:12 +00:00
dcarney
aae665862f
[turbofan] delay inserting spill slots for parent ranges.
...
R=jarin@chromium.org ,
BUG=
Review URL: https://codereview.chromium.org/785993002
Cr-Commit-Position: refs/heads/master@{#25736}
2014-12-10 09:46:01 +00:00
d
4161b54d58
Add Array.prototype.includes
...
Requires adding a SameValueZero implementation.
LOG=Y
BUG=v8:3575
R=dslomov@chromium.org , arv@chromium.org
TEST=added to test262
Review URL: https://codereview.chromium.org/771863002
Cr-Commit-Position: refs/heads/master@{#25735}
2014-12-10 08:58:15 +00:00
caitpotter88
017eace733
Rename shadowing pos
variable in ParseTemplateLiteral()
...
LOG=N
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/785233005
Cr-Commit-Position: refs/heads/master@{#25734}
2014-12-10 08:57:08 +00:00
Benedikt Meurer
19418d76df
[x64] Fix optimization for certain checked load/stores.
...
BUG=chromium:439743
LOG=y
TEST=mjsunit
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/733893008
Cr-Commit-Position: refs/heads/master@{#25731}
2014-12-10 07:49:12 +00:00
Ben L. Titzer
a068503b45
Revert "[turbofan] Fix control reducer bug with NTLs."
...
This reverts commit aeda76c5cf
.
Reason: exposed other TurboFan bugs.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/785233003
Cr-Commit-Position: refs/heads/master@{#25730}
2014-12-09 16:28:20 +00:00
machenbach
da6dbe78bc
Revert of Use same blob format for internal and external snapshots. (patchset #2 id:20001 of https://codereview.chromium.org/787033002/ )
...
Reason for revert:
[sheriff] breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1293
Original issue's description:
> Use same blob format for internal and external snapshots.
>
> R=vogelheim@chromium.org
TBR=vogelheim@chromium.org ,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/792563002
Cr-Commit-Position: refs/heads/master@{#25729}
2014-12-09 16:19:57 +00:00
yangguo
d9de2aaa17
Revert of Do not embed constant functions in StoreTransition stub. (patchset #3 id:40001 of https://codereview.chromium.org/769733003/ )
...
Reason for revert:
GC stress failure: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress%20-%201/builds/1038
Original issue's description:
> Do not embed constant functions in StoreTransition stub.
>
> BUG=v8:3629
> LOG=N
TBR=ishell@google.com ,ishell@chromium.org,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3629
Review URL: https://codereview.chromium.org/785253002
Cr-Commit-Position: refs/heads/master@{#25728}
2014-12-09 16:09:44 +00:00
yangguo
03ba4becbf
Use same blob format for internal and external snapshots.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/787033002
Cr-Commit-Position: refs/heads/master@{#25727}
2014-12-09 15:12:27 +00:00
ulan
876a1ddd80
Do not embed constant functions in StoreTransition stub.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/769733003
Cr-Commit-Position: refs/heads/master@{#25726}
2014-12-09 15:11:11 +00:00
titzer
aeda76c5cf
[turbofan] Fix control reducer bug with NTLs.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/789773002
Cr-Commit-Position: refs/heads/master@{#25725}
2014-12-09 15:09:59 +00:00
chunyang.dai
56f8ba13d5
Fix a typo error.
...
This error is introduced by baafb8f92e
.
BUG=
Review URL: https://codereview.chromium.org/791543003
Cr-Commit-Position: refs/heads/master@{#25724}
2014-12-09 15:08:55 +00:00
jochen
581747c869
Make it possible to turn on OBJECT_PRINT without DEBUG
...
BUG=none
R=machenbach@chromium.org
LOG=n
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/771323006
Cr-Commit-Position: refs/heads/master@{#25723}
2014-12-09 14:20:16 +00:00
Benedikt Meurer
48a6766e78
[x86] Disable invalid checked load/store optimization.
...
TEST=mjsunit/compiler/regress-lena
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/784153006
Cr-Commit-Position: refs/heads/master@{#25722}
2014-12-09 14:16:34 +00:00
jochen
7216f37ce7
Also ignore NDEBUG for chromium code
...
BUG=none
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/792513002
Cr-Commit-Position: refs/heads/master@{#25720}
2014-12-09 10:57:23 +00:00
bmeurer
baafb8f92e
[turbofan] Turn JSToBoolean and JSUnaryNot into pure operators.
...
Also fix the pushing of JSToBoolean into Phis and generalize it to
also include pushing into Selects.
TEST=cctest,unittests
Review URL: https://codereview.chromium.org/792463003
Cr-Commit-Position: refs/heads/master@{#25718}
2014-12-09 07:35:12 +00:00
mstarzinger
8acf387620
Make --no-turbo-types work on all paths through the pipeline.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/785933002
Cr-Commit-Position: refs/heads/master@{#25717}
2014-12-09 04:47:59 +00:00
adamk
243764b04b
Optimize add/set/delete operations for string keys in Maps and Sets
...
This was previously landed in commit 8599f5f
, but failed the
collections mjsunit test on ia32 with --deopt-every-n=1. The fixed
patch adds a ClearFlag(HValue::kCanOverflow) call after every
arithmetic operation, which should remove all the deopt points in these
intrinsics.
Ideally, it seems like there should be a way to verify that there are
no deopt points for these inline optimized functions, since there's
nothing to deopt to. But I don't currently know of such a thing.
Review URL: https://codereview.chromium.org/782073002
Cr-Commit-Position: refs/heads/master@{#25715}
2014-12-08 18:03:39 +00:00
dslomov
b4f3250712
Better message location for 'super(...)' restriction error.
...
R=arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/776563002
Cr-Commit-Position: refs/heads/master@{#25714}
2014-12-08 15:55:03 +00:00
dslomov
1954ad8bc1
Do not reflect uninitialized 'let' and 'const' in scope mirrors.
...
R=yangguo@chromium.org ,aandrey@chromium.org
BUG=v8:3743
LOG=N
Review URL: https://codereview.chromium.org/758603004
Cr-Commit-Position: refs/heads/master@{#25712}
2014-12-08 14:59:28 +00:00
mstarzinger
abe5c29077
Silence --trace-turbo a bit and behave graceful in sandbox.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/786763002
Cr-Commit-Position: refs/heads/master@{#25709}
2014-12-08 12:26:22 +00:00
marja
6680fd1591
Handle invalid parser cache gracefully (move invalid cache handling to embedder).
...
Blink already has code for handling invalid cached data. The attached test
ensures that cached data is gracefully rejected if it cannot be used.
This also unifies parser cache and code cache handling.
R=yangguo@chromium.org
BUG=439889
LOG=N
Review URL: https://codereview.chromium.org/781203003
Cr-Commit-Position: refs/heads/master@{#25708}
2014-12-08 11:47:50 +00:00
Benedikt Meurer
a92adc5803
[turbofan] Remove obsolete pure flag.
...
Use the Operator::kPure flag instead, which determines whether the JS
operator has effect/control edges.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/720233006
Cr-Commit-Position: refs/heads/master@{#25707}
2014-12-08 11:25:46 +00:00
ulan
513d1261e1
Fix typo in r25689 (Refactor Map::ConstructionCount.)
...
BUG=chromium:439868
LOG=N
Review URL: https://codereview.chromium.org/779293003
Cr-Commit-Position: refs/heads/master@{#25705}
2014-12-08 10:46:19 +00:00
dcarney
a26a5440a5
[turbofan] reuse spill slots for phis
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/777403003
Cr-Commit-Position: refs/heads/master@{#25704}
2014-12-08 10:45:13 +00:00
yangguo
58fe6e732e
Clear cached line ends array when serializing script object.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/790433002
Cr-Commit-Position: refs/heads/master@{#25703}
2014-12-08 10:23:13 +00:00
Jochen Eisinger
7a21cf2f77
Fix compilation with verify heap on in release mode
...
BUG=none
TBR=rossberg@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/788603002
Cr-Commit-Position: refs/heads/master@{#25702}
2014-12-08 09:52:51 +00:00
jochen
97c1f4b15c
Turn on DCHECKs and other debugging code if dcheck_always_on is 1
...
When compiling with the macro DCHECK_ALWAYS_ON defined, DCHECKs and
supporting code gets compiled and enabled.
This increases test coverage for chromium release buildbots
BUG=v8:3731
R=jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/760213005
Cr-Commit-Position: refs/heads/master@{#25701}
2014-12-08 09:26:16 +00:00
Benedikt Meurer
11b52971d9
Make cpplint happy.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/783913003
Cr-Commit-Position: refs/heads/master@{#25699}
2014-12-08 08:53:20 +00:00
Benedikt Meurer
1a05ece305
[turbofan] Improve typing of JSToNumber.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/786703002
Cr-Commit-Position: refs/heads/master@{#25698}
2014-12-08 08:28:25 +00:00
adamk
1988251044
Revert of Optimize add/set/delete operations for string keys in Maps and Sets (patchset #1 id:1 of https://codereview.chromium.org/777663003/ )
...
Reason for revert:
Deopt fuzzer reports that something's still broken, reverting until
I can create a minimal repro.
Original issue's description:
> Optimize add/set/delete operations for string keys in Maps and Sets
>
> This was previously landed in commit 66e2f60
, but failed the
> collections mjsunit test with --deopt-every-n=1 due to a typo
> in the shrinking code. This patch corrects and simplifies the
> shrinking logic, and the tests now pass.
>
> R=dslomov@chromium.org
>
> Committed: 8599f5f047
TBR=dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/742353006
Cr-Commit-Position: refs/heads/master@{#25696}
2014-12-05 22:25:11 +00:00
Adam Klein
8599f5f047
Optimize add/set/delete operations for string keys in Maps and Sets
...
This was previously landed in commit 66e2f60
, but failed the
collections mjsunit test with --deopt-every-n=1 due to a typo
in the shrinking code. This patch corrects and simplifies the
shrinking logic, and the tests now pass.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/777663003
Cr-Commit-Position: refs/heads/master@{#25695}
2014-12-05 21:04:00 +00:00
arv
c8c7395644
Optimize GetPrototype
...
This introduces Hydrogen for %_GetPrototype. The code falls back on
runtime if the object needs access checks or if its prototype is a
hidden prototype.
BUG=None
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/756423006
Cr-Commit-Position: refs/heads/master@{#25694}
2014-12-05 20:36:50 +00:00
paul.lind
761891d201
MIPS64: Fix port of Refactor Map::ConstructionCount.
...
Port 35ff259b63
.
BUG=
Review URL: https://codereview.chromium.org/756383005
Cr-Commit-Position: refs/heads/master@{#25693}
2014-12-05 19:30:59 +00:00
balazs.kilvady
1a033e5df4
MIPS: Refactor Map::ConstructionCount.
...
Port 35ff259b63
Original commit message:
This combines Map::DoneInobjectSlackTracking and Map::ConstructionCount into one more generic 4-bit counter.
Counter values from 15 down to 8 are used for in-object slack tracking, values from 7 down to 0 are free to be used for a new counter when in-object slack tracking is inactive
BUG=
Review URL: https://codereview.chromium.org/780303003
Cr-Commit-Position: refs/heads/master@{#25692}
2014-12-05 17:49:42 +00:00
dslomov
293f898a6f
Make sure that individual shipping features can be disabled.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/779203005
Cr-Commit-Position: refs/heads/master@{#25690}
2014-12-05 15:35:37 +00:00
ulan
35ff259b63
Refactor Map::ConstructionCount.
...
This combines Map::DoneInobjectSlackTracking and Map::ConstructionCount into one more generic 4-bit counter.
Counter values from 15 down to 8 are used for in-object slack tracking, values from 7 down to 0 are free to be used for a new counter when in-object slack tracking is inactive.
Review URL: https://codereview.chromium.org/767253002
Cr-Commit-Position: refs/heads/master@{#25689}
2014-12-05 15:28:22 +00:00
dcarney
5ce364d817
new api for adding indexed interceptors
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/765883003
Cr-Commit-Position: refs/heads/master@{#25688}
2014-12-05 15:21:27 +00:00
ulan
a9f692eca8
Fix %GetWeakSetValues to work correctly with GC.
...
This fixes mjsunit/es6/mirror-collections failure in arm64 gc-stress bot.
BUG=
Review URL: https://codereview.chromium.org/783673002
Cr-Commit-Position: refs/heads/master@{#25687}
2014-12-05 13:27:17 +00:00
verwaest
7fb5f74d20
Allow eval in detached contexts
...
BUG=
Review URL: https://codereview.chromium.org/781953002
Cr-Commit-Position: refs/heads/master@{#25686}
2014-12-05 13:25:10 +00:00
dcarney
4c7effe56e
[turbofan] disable neutering on embedded arraybuffers
...
R=titzer@chromium.org ,
BUG=
Review URL: https://codereview.chromium.org/781933002
Cr-Commit-Position: refs/heads/master@{#25685}
2014-12-05 13:08:03 +00:00
dslomov
bd04e6cdad
Fix the order of context binding/simulate insertion for BlockContexts.
...
R=jarin@chromium.org
BUG=v8:3741
LOG=N
Review URL: https://codereview.chromium.org/762393008
Cr-Commit-Position: refs/heads/master@{#25684}
2014-12-05 13:06:50 +00:00
danno
1150cf7f9a
[turbofan] Fix Corrections tankage on x64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/771073003
Cr-Commit-Position: refs/heads/master@{#25683}
2014-12-05 13:05:46 +00:00
mstarzinger
9ed88f1789
Switch two ZoneLists to ZoneVector in register allocator.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/778093003
Cr-Commit-Position: refs/heads/master@{#25682}
2014-12-05 13:04:43 +00:00
yangguo
ab234760d7
Reland "Encode reservation meta data in the snapshot blob."
...
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg,v8_linux_nosnap_rel
Review URL: https://codereview.chromium.org/781943002
Cr-Commit-Position: refs/heads/master@{#25681}
2014-12-05 13:03:30 +00:00
mstarzinger
aae8fe7550
Cleanup deoptimizer relocation slot preparation.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/782703002
Cr-Commit-Position: refs/heads/master@{#25680}
2014-12-05 13:02:13 +00:00
jochen
ab16c8a3a5
When generating code for ia32, make sure that there is enough reloc space
...
Compare with LCodeGen::FinishCode
BUG=none
R=jarin@chromium.org ,mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/777243002
Cr-Commit-Position: refs/heads/master@{#25679}
2014-12-05 11:15:32 +00:00
mstarzinger
bedb774a62
Finally drop outdated misleading runtime.js comment.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/765833004
Cr-Commit-Position: refs/heads/master@{#25678}
2014-12-05 11:01:43 +00:00
danno
85d2db8781
[turbofan] Use "leal" in even more situations
...
Achieve more than parity with modes currently handled on ia32 in preparation for
porting the entire mechanism to ia32, including supporting mul of constants 3,
5 and 9 with "leal" instructions.
TEST=unittests
Review URL: https://codereview.chromium.org/774193003
Cr-Commit-Position: refs/heads/master@{#25677}
2014-12-05 10:54:40 +00:00
Benedikt Meurer
5866c5c2f0
[x86] Slow case of TruncateDoubleToI shouldn't be inline.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/778113002
Cr-Commit-Position: refs/heads/master@{#25676}
2014-12-05 09:29:36 +00:00
Benedikt Meurer
b3ace35209
[turbofan] Redundant load elimination.
...
This is an initial version of redundant load elimination, currently
limited to LoadField operators, and implemented by walking the effect
chain.
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/782473002
Cr-Commit-Position: refs/heads/master@{#25673}
2014-12-05 07:59:18 +00:00
paul.lind
13c42aa8d9
MIPS: Fixed environment handling for LFlooringDivI.
...
Port c16b8f6cbb
TEST=mjsunit/regress/regress-437765
BUG=
Review URL: https://codereview.chromium.org/750213003
Cr-Commit-Position: refs/heads/master@{#25671}
2014-12-04 23:50:41 +00:00
adamk
13fd4a529a
Revert of Optimize add/set/delete operations for string keys in Maps and Sets (patchset #5 id:70001 of https://codereview.chromium.org/773993002/ )
...
Reason for revert:
Caused test failures in mjsunit/es6/collections with --deopt-every-n-times=1
Original issue's description:
> Optimize add/set/delete operations for string keys in Maps and Sets
TBR=dslomov@chromium.org ,arv@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/777233003
Cr-Commit-Position: refs/heads/master@{#25670}
2014-12-04 21:37:24 +00:00
adamk
66e2f60bf9
Optimize add/set/delete operations for string keys in Maps and Sets
...
Review URL: https://codereview.chromium.org/773993002
Cr-Commit-Position: refs/heads/master@{#25668}
2014-12-04 20:07:54 +00:00
arv
44149ae751
Make template scan related function take a template<bool> parameter
...
This is for performance. Having to do the test in every Advance was too
expensive.
BUG=438991, v8:3230
LOG=N
R=dslomov@chromium.org , marja
Review URL: https://codereview.chromium.org/766193003
Cr-Commit-Position: refs/heads/master@{#25667}
2014-12-04 19:24:34 +00:00
vogelheim
b27431d52f
Cleanup: Remove NativesCollection<.>::*Raw* methods.
...
These methods for used for compressed libraries, where GetSource* functions
contained the compressed sources and [GS]etRawSource* the uncompressed
sources. This is dead code since the API no longer supports compression.
(If you need/want compressed sources, use the external startup data and
compress/uncompress on the Embedder's side.)
BUG=
Review URL: https://codereview.chromium.org/772853003
Cr-Commit-Position: refs/heads/master@{#25666}
2014-12-04 18:51:22 +00:00
adamk
6230641b83
Optimize testing for an index's existence in packed Arrays
...
This patch introduces a new inline runtime function,
%_HasFastPackedElements(), and uses it both in the implementation
of the 'in' operator and in the array builtins to speed
up testing for the existence of an index in an array.
In testing with the microbenchmark on the attached bug,
for example, the runtime goes from 326ms to 66ms.
A reviewer might ask whether the HAS_INDEX macro is worthwhile,
and I tried the same example without it, which pushed the
microbenchmark up to 157ms. So it seems it's worth it to
avoid the function call to IN() if we know we're dealing
with arrays and numbers.
BUG=v8:3701
LOG=n
Review URL: https://codereview.chromium.org/754863002
Cr-Commit-Position: refs/heads/master@{#25665}
2014-12-04 18:46:46 +00:00
Dusan Milosavljevic
f62ab8d061
MIPS; Improve checked load/store operators for constant offset and length.
...
TEST=
BUG=
R=balazs.kilvady@imgtec.com , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/782493002
Cr-Commit-Position: refs/heads/master@{#25664}
2014-12-04 17:28:08 +00:00
jochen
0197a15f3c
Explicitly track whether incremental marking was activated
...
In the gc-tracer, we check whether we're marking to figure out which
part of the mark compact we're in. If we aborted incremental marking for
whatever reason, the check fails and we might later run into trouble
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/783453003
Cr-Commit-Position: refs/heads/master@{#25663}
2014-12-04 16:44:33 +00:00
balazs.kilvady
a25003cfa6
MIPS: Change CmpWeakValue to a more MIPS like GetWeakValue.
...
This approach saves one instruction by eliminating the use of Subu as a
pseudo-comparison.
BUG=
Review URL: https://codereview.chromium.org/779793004
Cr-Commit-Position: refs/heads/master@{#25662}
2014-12-04 16:29:16 +00:00
arv
edf3dab466
ES6 template literals: Fix issue with template after rbrace
...
If we hade }` the right brace was always treated as part of the
template literal. We should only treat the right brace as part of
the literal when we continue to parse the template literal after a
placeholder.
BUG=v8:3734
LOG=Y
Review URL: https://codereview.chromium.org/778813003
Cr-Commit-Position: refs/heads/master@{#25661}
2014-12-04 14:50:17 +00:00
jochen
f5a027dc70
Check whether the marking deque overflowed in ProcessEphemeralMarking
...
Otherwise, we might exit to early when we call ProcessEphemeralMarking
with an empty, overflown deque
BUG=none
R=hpayer@chromium.org ,erik.corry@gmail.com
LOG=n
Review URL: https://codereview.chromium.org/777643002
Cr-Commit-Position: refs/heads/master@{#25660}
2014-12-04 14:09:35 +00:00
arv
eb5049b14d
Stage ES6 template literals
...
BUG=v8:3230
LOG=Y
R=dslomov@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/780603003
Cr-Commit-Position: refs/heads/master@{#25659}
2014-12-04 12:25:01 +00:00
Benedikt Meurer
73b4af7aa6
[turbofan] Narrow upper bounds during typed lowering.
...
This is a temporary solution, which optionally narrows upper bounds of
nodes when changing the operator of a node.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/741503006
Cr-Commit-Position: refs/heads/master@{#25658}
2014-12-04 11:19:40 +00:00
ulan
b98a37113d
Do not embed function in DirectLoadGlobalFunctionPrototype.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/778673002
Cr-Commit-Position: refs/heads/master@{#25657}
2014-12-04 10:52:49 +00:00
Benedikt Meurer
2bf048f46c
[turbofan] Reduce context accesses during typed lowering.
...
TEST=unittests
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/776243002
Cr-Commit-Position: refs/heads/master@{#25656}
2014-12-04 10:50:58 +00:00
machenbach
ccf68a7b92
Revert of Encode reservation meta data in the snapshot blob. (patchset #3 id:40001 of https://codereview.chromium.org/781443002/ )
...
Reason for revert:
[sheriff] Breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/1540
Original issue's description:
> Encode reservation meta data in the snapshot blob.
>
> This also makes reserving multiple chunks per object space possible.
>
> R=vogelheim@chromium.org
TBR=vogelheim@chromium.org ,baixo@chromium.org,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/780833002
Cr-Commit-Position: refs/heads/master@{#25654}
2014-12-04 10:31:33 +00:00
weiliang.lin
a8fbf3ac24
[x64] check sahf correctly
...
BUG=
Review URL: https://codereview.chromium.org/777173002
Cr-Commit-Position: refs/heads/master@{#25653}
2014-12-04 10:13:20 +00:00
yangguo
aa3ceb8b71
Encode reservation meta data in the snapshot blob.
...
This also makes reserving multiple chunks per object space possible.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/781443002
Cr-Commit-Position: refs/heads/master@{#25652}
2014-12-04 09:50:39 +00:00
aandrey
a0ac642bc3
Fix Promise.resolve/Promise.reject unnecessarily scheduling a microtask.
...
R=rossberg@chromium.org , yangguo@chromium.org , adamk@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/777703002
Cr-Commit-Position: refs/heads/master@{#25650}
2014-12-04 08:53:32 +00:00
cdai2
ed95aaaba4
X87: Use weak cells to embed maps in store handler.
...
port 3fc9c9b665
original commit message:
Use weak cells to embed maps in store handler.
BUG=v8:3629
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/779843002
Cr-Commit-Position: refs/heads/master@{#25649}
2014-12-04 04:32:07 +00:00
chunyang.dai
3881b64532
X87: CheckPrototypes uses weak cells to embed maps.
...
port 062a032f50
original commit message:
CheckPrototypes uses weak cells to embed maps.
BUG=
Review URL: https://codereview.chromium.org/761093004
Cr-Commit-Position: refs/heads/master@{#25648}
2014-12-04 02:59:59 +00:00
balazs.kilvady
ddcb9b6d1a
MIPS: Use weak cells to embed maps in store handler.
...
Port 3fc9c9b665
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/762483004
Cr-Commit-Position: refs/heads/master@{#25647}
2014-12-03 18:33:13 +00:00
titzer
9143a224db
Reland "[turbofan] Reuse forward fixpoint algorithm in Typer by making it a Reducer."
...
This reverts commit 918ef9d712
.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/780623002
Cr-Commit-Position: refs/heads/master@{#25646}
2014-12-03 17:53:43 +00:00
balazs.kilvady
e7efc885d4
MIPS: CheckPrototypes uses weak cells to embed maps.
...
Port 062a032f50
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/777673002
Cr-Commit-Position: refs/heads/master@{#25645}
2014-12-03 17:37:15 +00:00
Ben L. Titzer
918ef9d712
Revert "[turbofan] Reuse forward fixpoint algorithm in Typer by making it a Reducer."
...
This reverts commit a48ad24a7c
.
BUG=
Review URL: https://codereview.chromium.org/763773004
Cr-Commit-Position: refs/heads/master@{#25643}
2014-12-03 15:03:27 +00:00
wingo
21b23e6966
Move more don't-crankshaft computation to numbering pass
...
The "do I inline?" decision needs many of the same inputs as the "should
I even try to crankshaft?" decision. This change consolidates these
checks in the numbering pass. It also removes the is_generator() check,
as that's already handled when visiting the initial Yield expression.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/775693003
Cr-Commit-Position: refs/heads/master@{#25642}
2014-12-03 14:52:42 +00:00
balazs.kilvady
68c800ef9d
MIPS64: [turbofan] Add checked load/store operators.
...
Port c516d4f094
BUG=
Review URL: https://codereview.chromium.org/773113005
Cr-Commit-Position: refs/heads/master@{#25641}
2014-12-03 14:18:34 +00:00
arv
d67e573dbe
Simplify template literal raw string creation
...
BUG=v8:3710
LOG=Y
R=dslomov@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/768203002
Cr-Commit-Position: refs/heads/master@{#25640}
2014-12-03 14:17:23 +00:00
ulan
3fc9c9b665
Use weak cells to embed maps in store handler.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/774473004
Cr-Commit-Position: refs/heads/master@{#25639}
2014-12-03 13:36:59 +00:00
mstarzinger
740d0a987a
Prevent redundant node revisit in ControlEquivalence.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/773133003
Cr-Commit-Position: refs/heads/master@{#25638}
2014-12-03 13:24:55 +00:00
hpayer
74321d5558
Restart idle round on context disposal.
...
BUG=
Review URL: https://codereview.chromium.org/754363008
Cr-Commit-Position: refs/heads/master@{#25637}
2014-12-03 13:14:00 +00:00
Dusan Milosavljevic
8138bb5b85
MIPS: Improve pushing arguments on stack.
...
TEST=
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/769283002
Cr-Commit-Position: refs/heads/master@{#25636}
2014-12-03 13:10:09 +00:00
Dusan Milosavljevic
57957b480c
MIPS: Fix ambiguous double constant loading after adding checked load/store operators.
...
The V8_INFINITY macro expands to constant expression of type float.
TEST=mjsunit/constant-folding-2
BUG=
R=balazs.kilvady@imgtec.com
Review URL: https://codereview.chromium.org/779433003
Cr-Commit-Position: refs/heads/master@{#25635}
2014-12-03 12:51:14 +00:00
ulan
062a032f50
CheckPrototypes uses weak cells to embed maps.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/770373002
Cr-Commit-Position: refs/heads/master@{#25634}
2014-12-03 12:34:32 +00:00
titzer
a48ad24a7c
[turbofan] Reuse forward fixpoint algorithm in Typer by making it a Reducer.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/769303002
Cr-Commit-Position: refs/heads/master@{#25633}
2014-12-03 11:52:03 +00:00
bmeurer
e564b3fe06
[turbofan] Initial work on cleaning up the Node class.
...
- Remove use_count_, only used for debug builds and tests.
- Use BitField instead of the unreliable C++ bit fields.
- Improve memory layout.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/780503002
Cr-Commit-Position: refs/heads/master@{#25632}
2014-12-03 10:33:52 +00:00
hpayer
708610e965
Print finalize incremental marking event in idle notification.
...
BUG=
Review URL: https://codereview.chromium.org/775013002
Cr-Commit-Position: refs/heads/master@{#25631}
2014-12-03 10:03:30 +00:00
hpayer
7ec1c3616e
Slow down incremental marking on main thread when idle notification is active.
...
BUG=
Review URL: https://codereview.chromium.org/771703004
Cr-Commit-Position: refs/heads/master@{#25630}
2014-12-03 09:37:07 +00:00
yangguo
07584119ca
Serializer: cache recent back references for shorter encoding.
...
And some refactorings.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/766893002
Cr-Commit-Position: refs/heads/master@{#25629}
2014-12-03 09:12:37 +00:00
Benedikt Meurer
2983d84e5c
[turbofan] Combine additional Word32And with Int32Add and negative power of two.
...
- (y << L + x) & (-1 << L) => (x & (-1 << L)) + y << L
- (x + y << L) & (-1 << L) => (x & (-1 << L)) + y << L
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/758603003
Cr-Commit-Position: refs/heads/master@{#25627}
2014-12-03 07:35:03 +00:00
paul.lind
a07045af54
MIPS: [turbofan] Add checked load/store operators.
...
Port c516d4f094
Partial port to un-break the build. There are a few failing
tests, and the code is suboptimal for smaller offsets.
Fixes and mips64 port will come in another CL.
BUG=
Review URL: https://codereview.chromium.org/762853004
Cr-Commit-Position: refs/heads/master@{#25626}
2014-12-03 00:28:24 +00:00
adamk
34d9be2e58
Optimize non-mutation Map and Set operations for String keys
...
Review URL: https://codereview.chromium.org/757143002
Cr-Commit-Position: refs/heads/master@{#25625}
2014-12-02 23:06:55 +00:00
vogelheim
881a921bb2
Fix NativesCollection<.>::GetScriptName in natives-external.cc
...
As there's no associated bug, here's the issue:
- Some ES6 functionality in Chrome is presently broken; this fixes it.
- The natives (built-in libraries) can be accessed by their 'name'.
This is used to active ES6 flags.
- Strangely enough, there's an id and a name, where the name is derived
from the id as "native %s.js", with %s for the id.
- NativesCollection<.>::GetScriptName uses the name.
- NativesCollection<.>::GetIndex uses the id.
- Example:
NativesCollection<EXPERIMENTAL>::GetIndex("harmony-string") -> 3
NativesCollection<EXPERIMENTAL>::GetScriptName(3) -> "native harmony-string.js"
- Nobody knows why; it's quite mysterious.
- When introducing the "external startup data", I didn't fully understand this
and used the id in both places.
- When the "external startup data" was turned on in Chrome, ES6 features broke
in Chrome since the libraries could no longer be found.
- This CL fixes this and makes the external startup data behave just like the
built-in version.
R=dslomov
BUG=
Review URL: https://codereview.chromium.org/774613003
Cr-Commit-Position: refs/heads/master@{#25624}
2014-12-02 18:53:34 +00:00
baptiste.afsa
80012d0b96
[turbofan] Enable DivIsSafe flag for arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/773803003
Cr-Commit-Position: refs/heads/master@{#25623}
2014-12-02 18:45:38 +00:00
mstarzinger
5db82a57b6
Switch CFGBuilder to use NodeMarker.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/753063004
Cr-Commit-Position: refs/heads/master@{#25622}
2014-12-02 16:51:55 +00:00
mstarzinger
f9e4527f32
Restrict floating control to minimal control-connected component.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/NestedFloatingDiamondWithChain
Review URL: https://codereview.chromium.org/738613005
Cr-Commit-Position: refs/heads/master@{#25621}
2014-12-02 15:56:30 +00:00
mstarzinger
0672b64d1c
Make generic algorithm a little less generic.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/760493003
Cr-Commit-Position: refs/heads/master@{#25620}
2014-12-02 15:38:00 +00:00
weiliang.lin
4f3d27e64f
[ia32] Introduce FMA3 instructions on scalar data elements.
...
port 83a635e0d7
BUG=
Review URL: https://codereview.chromium.org/773783002
Cr-Commit-Position: refs/heads/master@{#25619}
2014-12-02 15:30:09 +00:00
jochen
4fcc2dca7e
Trace how long it takes to compute the weak closure during mark-compact
...
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/769253002
Cr-Commit-Position: refs/heads/master@{#25618}
2014-12-02 15:09:27 +00:00
dslomov
dba8e83b41
Stage ES6 classes and object literal extensions.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3330
LOG=Y
Review URL: https://codereview.chromium.org/774653002
Cr-Commit-Position: refs/heads/master@{#25617}
2014-12-02 14:54:40 +00:00
danno
f6e5bc1642
Clean up node iteration
...
- Create a first-class Edge type.
- Separate node and edge iterators
- Make iterators only responsible for iteration
- Make it possible to modify the use edge iterator while iterating.
- Add the ability to update inputs to Edges directly.
Review URL: https://codereview.chromium.org/765983002
Cr-Commit-Position: refs/heads/master@{#25616}
2014-12-02 14:38:58 +00:00
ulan
2ac522ab15
Reland parts of 'Use weak cells in map checks in polymorphic ICs'
...
This relands macroassembler instructions and weak cell caching and
does not include parts that caused "Linux ASan LSan" test failures.
BUG=v8:3663
LOG=N
Review URL: https://codereview.chromium.org/764003003
Cr-Commit-Position: refs/heads/master@{#25615}
2014-12-02 14:25:26 +00:00
svenpanne
c16b8f6cbb
Fixed environment handling for LFlooringDivI on ARM.
...
Beautiful code... :-}
BUG=chromium:437765
LOG=y
Review URL: https://codereview.chromium.org/775613002
Cr-Commit-Position: refs/heads/master@{#25613}
2014-12-02 13:47:19 +00:00
Benedikt Meurer
5a37253b1a
[turbofan] Use the temporary zone for the VN cache.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/760403003
Cr-Commit-Position: refs/heads/master@{#25611}
2014-12-02 12:45:19 +00:00
Benedikt Meurer
0a020550c6
[turbofan] Cache the Branch operator(s).
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/771153002
Cr-Commit-Position: refs/heads/master@{#25610}
2014-12-02 12:41:44 +00:00
Benedikt Meurer
a94a612220
[turbofan] Cache the JSStoreProperty operator(s).
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/769193003
Cr-Commit-Position: refs/heads/master@{#25609}
2014-12-02 11:40:32 +00:00
hpayer
ee798e203f
Perform smaller marking steps incrementally in idle notification.
...
BUG=
Review URL: https://codereview.chromium.org/767233003
Cr-Commit-Position: refs/heads/master@{#25607}
2014-12-02 11:25:07 +00:00
jochen
49859dc3bb
After moving unreachable weak global handles only process harmony collections
...
Groups and implicit references are no longer relevant at this point.
Also add tests that fail if the first or second round of ephemeral
marking is omitted
BUG=none
R=mstarzinger@chromium.org ,hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/761343004
Cr-Commit-Position: refs/heads/master@{#25606}
2014-12-02 11:24:00 +00:00
titzer
10750f0e80
[turbofan] Enable stage 1.
...
R=danno@chromium.org ,bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/770203003
Cr-Commit-Position: refs/heads/master@{#25604}
2014-12-02 11:07:26 +00:00
marja
0a0e6c8c81
ES6 unicode extensions, part 1.
...
Allows \u{xxxxx} in variable names and string literals (not yet in regexps).
Everything's behind the --harmony-unicode flag.
BUG=
Review URL: https://codereview.chromium.org/716423002
Cr-Commit-Position: refs/heads/master@{#25603}
2014-12-02 10:58:19 +00:00
titzer
027cbf8d7f
[turbofan] Initialize less frequently used types in typer.cc lazily.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/771683002
Cr-Commit-Position: refs/heads/master@{#25602}
2014-12-02 10:43:13 +00:00
marja
007028cded
Parser: Removing debug code.
...
The mystery crash never reappeared once the debugging code was in place.
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/760863003
Cr-Commit-Position: refs/heads/master@{#25601}
2014-12-02 10:31:54 +00:00
titzer
77c6ee0c04
[turbofan] Make context specialization into a reducer.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/771713002
Cr-Commit-Position: refs/heads/master@{#25600}
2014-12-02 10:02:46 +00:00
Hannes Payer
81ec9916ba
Fix idle time trace printing.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/771123002
Cr-Commit-Position: refs/heads/master@{#25599}
2014-12-02 09:27:55 +00:00
yurys
f434123a16
Add GetIdentityHash to v8::Name object API
...
v8::Object already has GetIdentityHash on it. This change adds its counterpart to v8::Name.
BUG=chromium:437416
LOG=Y
Review URL: https://codereview.chromium.org/753373003
Cr-Commit-Position: refs/heads/master@{#25598}
2014-12-02 09:13:30 +00:00
machenbach
d9c83f6bd0
Revert of Use weak cells in map checks in polymorphic ICs. (patchset #8 id:140001 of https://codereview.chromium.org/753993003/ )
...
Reason for revert:
[Sheriff] Speculative revert for breaking chromium asan (roll blocker):
http://build.chromium.org/p/client.v8/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/1683
Original issue's description:
> Use weak cells in map checks in polymorphic ICs.
>
> BUG=v8:3663
> LOG=N
TBR=mvstanton@chromium.org ,akos.palfi@imgtec.com,weiliang.lin@intel.com,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3663
Review URL: https://codereview.chromium.org/771033003
Cr-Commit-Position: refs/heads/master@{#25597}
2014-12-02 08:17:05 +00:00
machenbach
58553437fa
Revert of MIPS: Use weak cells in map checks in polymorphic ICs. (patchset #1 id:1 of https://codereview.chromium.org/767623003/ )
...
Reason for revert:
Need to revert the ported CL:
https://codereview.chromium.org/771033003/
Original issue's description:
> MIPS: Use weak cells in map checks in polymorphic ICs.
>
> Port 45a36948e1
>
> Fix typo in the mips ports.
>
> BUG=
TBR=ulan@chromium.org ,danno@chromium.org,akos.palfi@imgtec.com,balazs.kilvady@imgtec.com,gergely.kis@imgtec.com,dusan.milosavljevic@imgtec.com,paul.lind@imgtec.com
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/768303002
Cr-Commit-Position: refs/heads/master@{#25596}
2014-12-02 08:15:34 +00:00
weiliang.lin
2ad1c224b8
[ia32] Introduce vex prefix version of float64 arithmetic binop
...
port 50c4d8826b
BUG=
Review URL: https://codereview.chromium.org/770183002
Cr-Commit-Position: refs/heads/master@{#25595}
2014-12-02 08:09:53 +00:00
bmeurer
34874b98b3
[turbofan] Workaround inconsistency of the type system.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/770193002
Cr-Commit-Position: refs/heads/master@{#25594}
2014-12-02 07:30:44 +00:00
bmeurer
d45ed61f43
Get rid of the unused __my_bool__ macro.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/770163002
Cr-Commit-Position: refs/heads/master@{#25593}
2014-12-02 07:25:51 +00:00
Benedikt Meurer
c516d4f094
[turbofan] Add checked load/store operators.
...
TEST=mjsunit,cctest,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/763963002
Cr-Commit-Position: refs/heads/master@{#25591}
2014-12-02 04:49:11 +00:00
paul.lind
ce5246756f
MIPS: Use weak cells in map checks in polymorphic ICs.
...
Port 45a36948e1
Fix typo in the mips ports.
BUG=
Review URL: https://codereview.chromium.org/767623003
Cr-Commit-Position: refs/heads/master@{#25590}
2014-12-01 22:26:48 +00:00
dslomov
573401a422
harmony-classes: Fix some issues with syntactic restriction on super(...).
...
R=arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/770843002
Cr-Commit-Position: refs/heads/master@{#25589}
2014-12-01 20:13:54 +00:00
hpayer
d452d8fe8d
Use just one marking deque.
...
BUG=
Review URL: https://codereview.chromium.org/770453003
Cr-Commit-Position: refs/heads/master@{#25588}
2014-12-01 17:03:08 +00:00
titzer
ba04cddf43
[turbofan] Add a PhaseScope for initialization.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/773443002
Cr-Commit-Position: refs/heads/master@{#25587}
2014-12-01 16:15:49 +00:00
ishell
c81e9f5970
Do not call Heap::IterateAndMarkPointersToFromSpace() for unboxed double fields.
...
BUG=chromium:437143
LOG=N
Review URL: https://codereview.chromium.org/768113002
Cr-Commit-Position: refs/heads/master@{#25585}
2014-12-01 14:19:29 +00:00
titzer
31c6427717
[turbofan] NodeMarker in ControlReducer.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/767743003
Cr-Commit-Position: refs/heads/master@{#25583}
2014-12-01 11:50:52 +00:00
Weiliang Lin
50c4d8826b
[x64] introduce vex prefix version of float64 arithmetic binop
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/764863002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25582}
2014-12-01 10:45:18 +00:00
ulan
45a36948e1
Use weak cells in map checks in polymorphic ICs.
...
BUG=v8:3663
LOG=N
Review URL: https://codereview.chromium.org/753993003
Cr-Commit-Position: refs/heads/master@{#25581}
2014-12-01 10:41:14 +00:00
danno
91ec654bf9
[turbofan]: Use "leal" more prevasively on x64
...
Only use "addl" and "subl" in cases that have been measured to be
faster (currently only immediate operations).
Review URL: https://codereview.chromium.org/735293004
Cr-Commit-Position: refs/heads/master@{#25580}
2014-12-01 10:04:42 +00:00
halton.huo
82d0f800a2
Fix clang++ warnings on -Wtautological-constant-out-of-range-compare
...
BUG=v8:3730
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/750093003
Cr-Commit-Position: refs/heads/master@{#25579}
2014-12-01 09:17:32 +00:00
jochen
b8c667729c
Make sure we have non-zero idle time even after rounding to size_t
...
BUG=v8:3728
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/764263002
Cr-Commit-Position: refs/heads/master@{#25578}
2014-12-01 09:15:18 +00:00
dslomov
9e02e98771
Introduce a kill-switch for shipping features.
...
R=rossberg@chromium.org
TBR=hpayer@chromium.org
Committed: d628562086
Review URL: https://codereview.chromium.org/763273002
Cr-Commit-Position: refs/heads/master@{#25577}
2014-11-28 20:07:18 +00:00
mstarzinger
a2564da19c
Remove deprecated NodeData class.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/768853002
Cr-Commit-Position: refs/heads/master@{#25575}
2014-11-28 18:38:44 +00:00
dslomov
557bf53b79
Revert of Introduce a kill-switch for shipping features. (patchset #2 id:20001 of https://codereview.chromium.org/763273002/ )
...
Reason for revert:
Reverted for breaking nosnap: http://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20nosnap/builds/1003/steps/Check/logs/Threading3
Original issue's description:
> Introduce a kill-switch for shipping features.
>
> R=rossberg@chromium.org
>
> Committed: d628562086
TBR=rossberg@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/763353002
Cr-Commit-Position: refs/heads/master@{#25574}
2014-11-28 18:27:55 +00:00
dslomov
a2b5c7abae
Stage @@toStringTag (--harmony-tostring)
...
R=rossberg@chromium.org ,caitpotter88@gmail.com
LOG=Y
Review URL: https://codereview.chromium.org/768833002
Cr-Commit-Position: refs/heads/master@{#25573}
2014-11-28 15:41:47 +00:00
mstarzinger
70093d719c
De-generify the GenericNode.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/756073004
Cr-Commit-Position: refs/heads/master@{#25572}
2014-11-28 15:21:44 +00:00
aandrey
cec0acad38
Expose generator object internal properties via mirrors.
...
BUG=v8:3292
R=yangguo@chromium.org , wingo@igalia.com
LOG=N
Review URL: https://codereview.chromium.org/760303002
Cr-Commit-Position: refs/heads/master@{#25571}
2014-11-28 14:49:08 +00:00
Dmitry Lomov
d628562086
Introduce a kill-switch for shipping features.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/763273002
Cr-Commit-Position: refs/heads/master@{#25570}
2014-11-28 14:32:17 +00:00
mstarzinger
02210179d6
De-generify the GenericGraph.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/767733002
Cr-Commit-Position: refs/heads/master@{#25569}
2014-11-28 14:21:13 +00:00
Dusan Milosavljevic
1d42a9db5c
MIPS64: Fix MULT in simulator to conform the spec.
...
TEST=mjsunit/numops-fuzz-part4
BUG=
R=balazs.kilvady@imgtec.com
Review URL: https://codereview.chromium.org/756073003
Cr-Commit-Position: refs/heads/master@{#25568}
2014-11-28 13:35:06 +00:00
Ben L. Titzer
6f60c0d3b8
[turbofan] Add NodeMarker and use it in the GraphReducer.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/768763002
Cr-Commit-Position: refs/heads/master@{#25567}
2014-11-28 13:04:59 +00:00
yangguo
4893c0e3d8
Serializer: use opcode to signal new chunk.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/757813003
Cr-Commit-Position: refs/heads/master@{#25566}
2014-11-28 12:07:49 +00:00
mstarzinger
e6b4b8dc55
Remove deprecated pieces from generic algorithm.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/752263003
Cr-Commit-Position: refs/heads/master@{#25565}
2014-11-28 11:57:15 +00:00
hpayer
5ef3698903
Use incremental marking deque in idle notification.
...
BUG=
Review URL: https://codereview.chromium.org/766663006
Cr-Commit-Position: refs/heads/master@{#25564}
2014-11-28 11:54:08 +00:00
dcarney
660de644ae
add fast path for hashing small cons strings
...
R=yangguo@chromium.org
LOG=N
BUG=437280
Review URL: https://codereview.chromium.org/769453002
Cr-Commit-Position: refs/heads/master@{#25562}
2014-11-28 11:07:44 +00:00
mstarzinger
0de87ac84e
Remove duplicate code for searching SharedFunctionInfo.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/762123002
Cr-Commit-Position: refs/heads/master@{#25561}
2014-11-28 11:06:35 +00:00
hpayer
297935b34f
Use deadline in IdleNotification.
...
BUG=417668
LOG=n
Review URL: https://codereview.chromium.org/750813003
Cr-Commit-Position: refs/heads/master@{#25560}
2014-11-28 10:59:24 +00:00
Dmitry Lomov
16d9146ac4
Fix nosnap build
...
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/762083002
Cr-Commit-Position: refs/heads/master@{#25557}
2014-11-28 06:22:57 +00:00
chunyang.dai
5d4f77fd76
X87: Flesh out vector ic state query and set mechanisms.
...
port c142994f74
original commit message:
Flesh out vector ic state query and set mechanisms.
The IC system now fully integrates the vector concept and can
handle loads and keyed loads vector-based.
BUG=
Review URL: https://codereview.chromium.org/763953002
Cr-Commit-Position: refs/heads/master@{#25556}
2014-11-28 04:18:10 +00:00
dslomov
65aa17b9c3
harmony-classes: Implement 'super(...)' call syntactic restriction.
...
R=rossberg@chromium.org ,arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/766663003
Cr-Commit-Position: refs/heads/master@{#25555}
2014-11-28 04:08:58 +00:00
Balazs Kilvady
b56afa23e3
MIPS: Flesh out vector ic state query and set mechanisms.
...
Port c142994f74
Original commit message:
The IC system now fully integrates the vector concept and can
handle loads and keyed loads vector-based.
BUG=
R=akos.palfi@imgtec.com
Review URL: https://codereview.chromium.org/752553005
Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.
Cr-Commit-Position: refs/heads/master@{#25554}
2014-11-27 23:40:28 +00:00
Michael Stanton
c142994f74
Flesh out vector ic state query and set mechanisms.
...
The IC system now fully integrates the vector concept and can
handle loads and keyed loads vector-based.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/754303003
Cr-Commit-Position: refs/heads/master@{#25552}
2014-11-27 16:36:40 +00:00
titzer
76178f1ddb
[turbofan] Avoid repeatedly revisiting inputs in GraphReducer.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/753073009
Cr-Commit-Position: refs/heads/master@{#25551}
2014-11-27 16:24:19 +00:00
dslomov
34702e9d59
Set @@toStringTag on GeneratorFunction prototype.
...
R=caitpotter88@gmail.com
BUG=v8:3502
LOG=N
Review URL: https://codereview.chromium.org/764823002
Cr-Commit-Position: refs/heads/master@{#25550}
2014-11-27 16:09:43 +00:00
caitpotter88
93cd816c07
Make TemplateLiteral hashing algorithm more memory efficient
...
Previously, a separate string to be hashed (in order to help determine the need to
use a cached Template Call Site) was built up by joining UTF8 spans within a template.
Now, the hash key is generated from the original spans, removing the need to allocate a new
buffer and copy bytes into it.
BUG=
Review URL: https://codereview.chromium.org/765473006
Cr-Commit-Position: refs/heads/master@{#25549}
2014-11-27 15:48:01 +00:00
mstarzinger
5081f4cc93
Remove deprecated constant helpers from JSGenericLowering.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/761143002
Cr-Commit-Position: refs/heads/master@{#25548}
2014-11-27 14:13:57 +00:00
mstarzinger
ffca7c0369
Fix reduction result for branches in generic lowering.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/750333003
Cr-Commit-Position: refs/heads/master@{#25547}
2014-11-27 13:44:36 +00:00
hpayer
0b6773fa07
Just account for context disposal garbage collections in context disposal stats counters.
...
BUG=
Review URL: https://codereview.chromium.org/765773002
Cr-Commit-Position: refs/heads/master@{#25546}
2014-11-27 13:11:04 +00:00
Hannes Payer
5c3d1cbf75
Re-land: Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/765743002
Cr-Commit-Position: refs/heads/master@{#25545}
2014-11-27 12:39:57 +00:00
hpayer
b1527e1d5c
Just finalize incremental marking when marking is done in idle notification.
...
BUG=
Review URL: https://codereview.chromium.org/733893003
Cr-Commit-Position: refs/heads/master@{#25544}
2014-11-27 12:16:34 +00:00
mstarzinger
9f1bc698ad
Start immediate dominator propagation at entry to floating control.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/761673004
Cr-Commit-Position: refs/heads/master@{#25543}
2014-11-27 12:00:34 +00:00
mstarzinger
9724ede898
Switch backedge table in scheduler to use ZoneVector.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/761733002
Cr-Commit-Position: refs/heads/master@{#25542}
2014-11-27 11:53:27 +00:00
balazs.kilvady
a03943880c
MIPS: harmony-scoping: make assignment to 'const' a late error.
...
Port 6ac4de87a8
Original commit message:
Per TC39 Nov 2014 decision.
This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.
BUG=v8:3713,v8:2243
LOG=N
Review URL: https://codereview.chromium.org/766703002
Cr-Commit-Position: refs/heads/master@{#25541}
2014-11-27 11:21:10 +00:00
jochen
217c45b106
Introduce a new growth criterion for the new space behind a flag
...
With this flag, we grow if more than 10% survived the last scavenge.
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/753543002
Cr-Commit-Position: refs/heads/master@{#25540}
2014-11-27 10:52:58 +00:00
hpayer
3adebeaaa8
Just print interesting idle notification events in --trace-idle-notification.
...
BUG=
Review URL: https://codereview.chromium.org/763063002
Cr-Commit-Position: refs/heads/master@{#25539}
2014-11-27 10:50:47 +00:00
dcarney
50ef0690b2
Add interceptor support for symbols
...
a revival of https://codereview.chromium.org/467013003
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/760883002
Cr-Commit-Position: refs/heads/master@{#25537}
2014-11-27 10:21:39 +00:00
dslomov
cd4cc1ba36
Ship harmony-strings
...
R=rossberg@chromium.org , yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/761913002
Cr-Commit-Position: refs/heads/master@{#25536}
2014-11-27 10:17:18 +00:00
ishell
916d56d09e
Fast-to-slow migration should wipe out in-object space if it exists in the object after migration.
...
BUG=chromium:436816
LOG=N
Review URL: https://codereview.chromium.org/765473004
Cr-Commit-Position: refs/heads/master@{#25535}
2014-11-27 10:10:55 +00:00
yangguo
4590e4f4d6
Ensure double alignment when deserializing.
...
R=rmcilroy@chromium.org
BUG=chromium:436510
LOG=N
TEST=compile with V8_OOL_CONSTANT_POOL=1, run d8 with --verify-heap --test
Review URL: https://codereview.chromium.org/759823006
Cr-Commit-Position: refs/heads/master@{#25534}
2014-11-27 09:22:28 +00:00
dcarney
60af073ad8
[turbofan] add initial move optimizer
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/750813004
Cr-Commit-Position: refs/heads/master@{#25533}
2014-11-27 09:21:06 +00:00
Chunyang Dai
f89acb647f
X87: harmony-scoping: make assignment to 'const' a late error.
...
port 6ac4de87a8
original commit message:
harmony-scoping: make assignment to 'const' a late error.
Per TC39 Nov 2014 decision. This patch also changes behavior for "legacy const":
assignments to sloppy const in strict mode is now also a type error. This fixes
v8:2243 and also brings us in compliance with other engines re assignment to function
names (see updated webkit test), but might have bigger implications. That change can
easily be reverted by changing Variable::IsSignallingAssignmentToConst.
BUG=
R=dslomov@chromium.org , weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/763033002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25532}
2014-11-27 07:10:51 +00:00
mstarzinger
61c861998e
Move linked list for RPO order into BasicBlock itself.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/762723004
Cr-Commit-Position: refs/heads/master@{#25531}
2014-11-26 17:39:18 +00:00
ishell
1a2e4b265a
Map::CopyGeneralizeAllRepresentations() left incorrect layout descriptor in a new map.
...
BUG=chromium:436820
LOG=N
Review URL: https://codereview.chromium.org/759823004
Cr-Commit-Position: refs/heads/master@{#25530}
2014-11-26 17:37:05 +00:00
caitpotter88
0ea30611f3
Fix raw TemplateLiteral spans with non-ascii characters
...
BUG=v8:3710
Review URL: https://codereview.chromium.org/745233002
Cr-Commit-Position: refs/heads/master@{#25529}
2014-11-26 17:15:54 +00:00
titzer
9da4998204
Abort optimization in corner case.
...
The %OptimizeFunctionOnNextCall sledgehammer can cause a function to be
marked for optimization before it's ever been compiled by fullcode.
This can lead to the situation where a function doesn't have optimization
disabled until we try to compile it optimized.
Basically, the assert should just handle this case more gracefully.
R=yangguo@chromium.org
BUG=436893
LOG=Y
Review URL: https://codereview.chromium.org/760063002
Cr-Commit-Position: refs/heads/master@{#25528}
2014-11-26 16:57:52 +00:00
jarin
97cab985b8
Do not try to inline if the function has an illegal redeclaration.
...
R=mvstanton@chromium.org
BUG=chromium:436896
LOG=n
Review URL: https://codereview.chromium.org/755333003
Cr-Commit-Position: refs/heads/master@{#25527}
2014-11-26 16:32:46 +00:00
mstarzinger
4d71e0f413
Reuse CFGBuilder in the scheduler to save memory.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/755353003
Cr-Commit-Position: refs/heads/master@{#25525}
2014-11-26 14:19:41 +00:00
hpayer
c43687657f
Make GCTracer not reentrant.
...
BUG=
Review URL: https://codereview.chromium.org/754023003
Cr-Commit-Position: refs/heads/master@{#25524}
2014-11-26 14:11:51 +00:00
mstarzinger
2bd931e6e2
Some micro-optimizations in the scheduler.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/764533003
Cr-Commit-Position: refs/heads/master@{#25523}
2014-11-26 13:13:46 +00:00
Ben L. Titzer
bbc5a6c023
Fix Windows 32.
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/755323007
Cr-Commit-Position: refs/heads/master@{#25522}
2014-11-26 13:06:46 +00:00
titzer
da22163d35
[turbofan] Implement jump threading after register allocation.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/754843002
Cr-Commit-Position: refs/heads/master@{#25521}
2014-11-26 12:41:55 +00:00
dslomov
a498e93b0e
Stage ES6 block scoping.
...
R=rossberg@chromium.org
BUG=v8:2198
LOG=Y
Review URL: https://codereview.chromium.org/751503004
Cr-Commit-Position: refs/heads/master@{#25520}
2014-11-26 12:28:43 +00:00
dslomov
626f110f0b
Introduce legacy const slots in correct context.
...
R=rossberg@chromium.org
BUG=chromium:410030
LOG=Y
Review URL: https://codereview.chromium.org/756293004
Cr-Commit-Position: refs/heads/master@{#25519}
2014-11-26 12:16:30 +00:00
dcarney
4695abcafa
Don't use ConsStringIterator to compute string hashes
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/762773002
Cr-Commit-Position: refs/heads/master@{#25518}
2014-11-26 11:53:34 +00:00
rodolph.perfetta
55614cfe69
[turbofan] Recognize rotate right.
...
Extended the rotate left detection code.
BUG=
Review URL: https://codereview.chromium.org/760523004
Cr-Commit-Position: refs/heads/master@{#25517}
2014-11-26 11:49:43 +00:00
dslomov
6ac4de87a8
harmony-scoping: make assignment to 'const' a late error.
...
Per TC39 Nov 2014 decision.
This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.
BUG=v8:3713,v8:2243
LOG=N
Review URL: https://codereview.chromium.org/749633002
Cr-Commit-Position: refs/heads/master@{#25516}
2014-11-26 11:21:23 +00:00
Benedikt Meurer
560b0c4534
[arm] Fix recognition of VNEG.
...
TEST=mjsunit,unittests
R=svenpanne@chromium.org
Committed: 2aed882fe7
Review URL: https://codereview.chromium.org/762493006
Cr-Commit-Position: refs/heads/master@{#25515}
2014-11-26 11:18:58 +00:00
machenbach
86f6123ade
Revert of [arm] Fix recognition of VNEG. (patchset #3 id:40001 of https://codereview.chromium.org/762493006/ )
...
Reason for revert:
Breaks arm compilation.
Original issue's description:
> [arm] Fix recognition of VNEG.
>
> TEST=mjsunit,unittests
> R=svenpanne@chromium.org
>
> Committed: 2aed882fe7
TBR=svenpanne@chromium.org ,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/751653004
Cr-Commit-Position: refs/heads/master@{#25514}
2014-11-26 11:07:23 +00:00
Benedikt Meurer
2aed882fe7
[arm] Fix recognition of VNEG.
...
TEST=mjsunit,unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/762493006
Cr-Commit-Position: refs/heads/master@{#25513}
2014-11-26 10:46:37 +00:00
Weiliang Lin
83a635e0d7
[x64] Introduce FMA3 instructions on scalar data elements.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/757503002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25509}
2014-11-26 05:31:55 +00:00
titzer
819955b278
[turbofan] Use special constant type for RPO block number operands.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/758073002
Cr-Commit-Position: refs/heads/master@{#25508}
2014-11-26 05:16:47 +00:00
jochen
30b43a8aac
Document that Isolate::GetCurrent() must not be called before initialization
...
Also, add a check for debug mode.
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/758043002
Cr-Commit-Position: refs/heads/master@{#25507}
2014-11-26 05:15:30 +00:00
Benedikt Meurer
a01f4d871a
Revert "Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification."
...
This reverts commit d15d453fa5
for
breaking cctest/test-api/Threading3.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/758163003
Cr-Commit-Position: refs/heads/master@{#25506}
2014-11-26 05:12:36 +00:00
yangguo
39d0b85430
Force inline Stirng::GetCharVector<>.
...
R=mvstanton@chromium.org
BUG=chromium:436447
Review URL: https://codereview.chromium.org/756983003
Cr-Commit-Position: refs/heads/master@{#25504}
2014-11-25 15:30:03 +00:00
dslomov
f1d8668e38
harmony-scoping: Catch variable should be VAR, not LET
...
R=rossberg@chromium.org
BUG=v8:2858
LOG=N
Review URL: https://codereview.chromium.org/748113003
Cr-Commit-Position: refs/heads/master@{#25503}
2014-11-25 14:48:39 +00:00
svenpanne
11a950fcf7
Fixed race condition in HBranch::observed_input_representation.
...
Non-numeric static local variables are not thread-safe, and the case
at hand was a premature optimization anyway: The generated code for
the check in question is exactly the same when unfolded.
BUG=chromium:420483
Review URL: https://codereview.chromium.org/756903003
Cr-Commit-Position: refs/heads/master@{#25502}
2014-11-25 14:47:32 +00:00
hpayer
d15d453fa5
Distinguish beween final incremental mark-compact and full mark-compact event in IdleNotification.
...
BUG=
Review URL: https://codereview.chromium.org/727323004
Cr-Commit-Position: refs/heads/master@{#25501}
2014-11-25 13:41:57 +00:00
yangguo
33853f73a7
Partially revert "Optimize function across closures."
...
BUG=chromium:434447
Review URL: https://codereview.chromium.org/755173002
Cr-Commit-Position: refs/heads/master@{#25500}
2014-11-25 13:22:04 +00:00
yangguo
7904576039
Refactor use of Isolate::use_crankshaft.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/755883003
Cr-Commit-Position: refs/heads/master@{#25499}
2014-11-25 12:48:06 +00:00
yangguo
2ed39d936a
Reset code age on the cloned code when serializing.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/757983002
Cr-Commit-Position: refs/heads/master@{#25498}
2014-11-25 12:03:41 +00:00
balazs.kilvady
a4c9cc46dc
MIPS64: Load prototype from map in PropertyHandlerCompiler::CheckPrototypes.
...
Port 100db75808
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/755693002
Cr-Commit-Position: refs/heads/master@{#25497}
2014-11-25 11:38:10 +00:00
jarin
322bb23e82
[turbofan] Insert appropriate conversions for typed array stores.
...
BUG=
Review URL: https://codereview.chromium.org/758643003
Cr-Commit-Position: refs/heads/master@{#25496}
2014-11-25 08:40:29 +00:00
hpayer
e01e35fc2f
Reduce context disposal gc overhead.
...
BUG=
Review URL: https://codereview.chromium.org/750963002
Cr-Commit-Position: refs/heads/master@{#25494}
2014-11-24 19:19:16 +00:00
verwaest
7cf17a9e5e
Don't double smi-tag the mask used to check read-only / field mode in the dictionary-store-stub on X64
...
BUG=
Review URL: https://codereview.chromium.org/757673002
Cr-Commit-Position: refs/heads/master@{#25493}
2014-11-24 19:16:26 +00:00
jarin
d9cabb9b22
[turbofan] Fix matching of the lea instruction.
...
Resets the scaled exponent to 0 when the scaling match fails.
BUG=
Review URL: https://codereview.chromium.org/756643002
Cr-Commit-Position: refs/heads/master@{#25491}
2014-11-24 17:45:33 +00:00
ulan
100db75808
Load prototype from map in PropertyHandlerCompiler::CheckPrototypes.
...
BUG=v8:3629
LOG=N
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/753223002
Cr-Commit-Position: refs/heads/master@{#25490}
2014-11-24 17:44:25 +00:00
yangguo
1a2a18b66c
Remove v8::StartupData::compressed_size.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/739253006
Cr-Commit-Position: refs/heads/master@{#25487}
2014-11-24 16:14:34 +00:00
yangguo
270dccf6db
Correctly find shared function info for debugging when compiling eagerly.
...
R=ulan@chromium.org
BUG=v8:3717
LOG=N
Review URL: https://codereview.chromium.org/758523004
Cr-Commit-Position: refs/heads/master@{#25486}
2014-11-24 15:43:35 +00:00
Michael Stanton
54b0109d42
Make use of post-scoping information to compute feedback vector requirements.
...
This avoids allocating vector ic slots that we don't use.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/758543002
Cr-Commit-Position: refs/heads/master@{#25485}
2014-11-24 15:00:07 +00:00
ishell
d8a5616809
Dictionary-mode PropertyDetails printing fixed.
...
BUG=chromium:435974
LOG=N
Review URL: https://codereview.chromium.org/755583003
Cr-Commit-Position: refs/heads/master@{#25484}
2014-11-24 14:55:46 +00:00
ishell
1f5f088969
Reland of "Enable inobject double fields unboxing for 64-bit archs."
...
Review URL: https://codereview.chromium.org/751643005
Cr-Commit-Position: refs/heads/master@{#25483}
2014-11-24 14:54:38 +00:00
ishell
25b8efffa3
Reland of "TransitionArray::Search() now returns insertion index if the entry was not found."
...
Review URL: https://codereview.chromium.org/739013004
Cr-Commit-Position: refs/heads/master@{#25482}
2014-11-24 14:31:36 +00:00
baixo
0e5c107c66
Ensure external snapshot is only set once.
...
BUG=421063
Review URL: https://codereview.chromium.org/746263002
Cr-Commit-Position: refs/heads/master@{#25481}
2014-11-24 12:44:39 +00:00
Benedikt Meurer
94f5b78b96
[turbofan] Combine Word32And with Int32Add and negative power of two.
...
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/749233002
Cr-Commit-Position: refs/heads/master@{#25479}
2014-11-24 12:30:30 +00:00
hpayer
1d0d520e77
Don't verify evacuation when it is not completed.
...
BUG=
Review URL: https://codereview.chromium.org/756553002
Cr-Commit-Position: refs/heads/master@{#25478}
2014-11-24 11:58:34 +00:00
Ben L. Titzer
a56900a975
[turbofan] Dump graph in RPO order as text.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/754803002
Cr-Commit-Position: refs/heads/master@{#25477}
2014-11-24 11:55:17 +00:00
yangguo
14a3b9188d
Fix RegExp.source for uncompiled regexp.
...
R=jkummerow@chromium.org
BUG=435825
LOG=N
Review URL: https://codereview.chromium.org/753983002
Cr-Commit-Position: refs/heads/master@{#25476}
2014-11-24 11:21:52 +00:00
baptiste.afsa
9b5c279b9f
[turbofan] Recognize sign extension of 8-bit and 16-bit values on arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/730183005
Cr-Commit-Position: refs/heads/master@{#25475}
2014-11-24 11:00:15 +00:00
andrew_low
c1bfc3485d
Fix alignment of Code::kConstantPoolOffset.
...
This is needed for 64bit alignment sensitive platforms (PowerPC)
Exposed bugs with new GC compare and swap changes updating the
field.
Example failing test:
out/ppc64.debug/cctest test-decls/ExistsInPrototype
BUG=
Review URL: https://codereview.chromium.org/740443002
Cr-Commit-Position: refs/heads/master@{#25472}
2014-11-24 10:22:17 +00:00
dcarney
3bfc3ae702
remove some isolate::currents from api.cc
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/691513005
Cr-Commit-Position: refs/heads/master@{#25471}
2014-11-24 09:45:00 +00:00
ishell
d6cd4eab84
Revert of Enable inobject double fields unboxing for 64-bit archs. (patchset #3 id:40001 of https://codereview.chromium.org/753503002/ )
...
Reason for revert:
GCMole and gc-stress issues.
Original issue's description:
> Enable inobject double fields unboxing for 64-bit archs.
TBR=verwaest@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/751863002
Cr-Commit-Position: refs/heads/master@{#25470}
2014-11-22 20:33:03 +00:00
ishell
726eb9d51c
Enable inobject double fields unboxing for 64-bit archs.
...
Review URL: https://codereview.chromium.org/753503002
Cr-Commit-Position: refs/heads/master@{#25469}
2014-11-22 17:30:27 +00:00
dslomov
4d4ed236d8
harmony-scoping: Disallow cross-script assignment to const
...
R=rossberg@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/745963002
Cr-Commit-Position: refs/heads/master@{#25468}
2014-11-21 18:09:33 +00:00
mstarzinger
7aad1d2e42
Revert "Remove deprecated ShouldSelfOptimize machinery."
...
This reverts commit 9da92c1a33
because of performance regressions.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/752613002
Cr-Commit-Position: refs/heads/master@{#25467}
2014-11-21 17:28:38 +00:00
danno
4f1cc51555
[turbofan]: remove optimization of adds/subs to inc and dec
...
They generally cause regressions on most modern Intel chips. Replace them with
addl/subl.
Review URL: https://codereview.chromium.org/737153003
Cr-Commit-Position: refs/heads/master@{#25466}
2014-11-21 13:18:46 +00:00
dcarney
ac3c4d40f5
[turbofan] put late ssa deconstruction in register allocator behind a flag
...
BUG=
Review URL: https://codereview.chromium.org/751543002
Cr-Commit-Position: refs/heads/master@{#25465}
2014-11-21 13:14:00 +00:00
yangguo
9b8d40594a
Rip out bzip compression for native sources.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/750543002
Cr-Commit-Position: refs/heads/master@{#25464}
2014-11-21 12:45:20 +00:00
jochen
34363bf5aa
Introduce a flag to change the new space growth factor
...
A useful value would be 4, so we get 1, 4, 16MB (instead of the default
value 2 which leads to 1, 2, 4, 8, 16)
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/753513002
Cr-Commit-Position: refs/heads/master@{#25462}
2014-11-21 12:14:29 +00:00
dcarney
dad405a258
[turbofan] put spill slot reuse behind a flag
...
BUG=
Review URL: https://codereview.chromium.org/748773002
Cr-Commit-Position: refs/heads/master@{#25461}
2014-11-21 11:33:05 +00:00
mstarzinger
9da92c1a33
Remove deprecated ShouldSelfOptimize machinery.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/582683002
Cr-Commit-Position: refs/heads/master@{#25459}
2014-11-21 11:23:52 +00:00
yangguo
61bee5c898
Correctly escape RegExp source.
...
R=ulan@chromium.org
BUG=v8:3229
LOG=N
Review URL: https://codereview.chromium.org/736003002
Cr-Commit-Position: refs/heads/master@{#25457}
2014-11-21 10:50:24 +00:00
Michael Stanton
cf572694fe
Assert to protect against polymorphic string loads fires on valid stores.
...
BUG=435477
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/751513002
Cr-Commit-Position: refs/heads/master@{#25456}
2014-11-21 10:29:08 +00:00
Michael Stanton
3d58b82add
Fix for 435073: CHECK failure in CHECK(p->IsSmi()) failed.
...
The bug was an error when copying arrays in crankshaft. If it's a holey smi
array, the copy must be done as FAST_HOLEY_ELEMENTS to prevent representation
changes from being inserted that deopt on encountering the hole.
Also, prevent inlining array pop() and shift() if the length is read-only.
BUG=435073
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/737383002
Cr-Commit-Position: refs/heads/master@{#25455}
2014-11-21 10:14:19 +00:00
Baptiste Afsa
fada2a08e5
[turbofan] Avoid useless zero-extension on arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/737733002
Cr-Commit-Position: refs/heads/master@{#25454}
2014-11-21 10:00:57 +00:00
dcarney
0ed433ce30
dump compiler stats from d8 on direct exit from js
...
BUG=
Review URL: https://codereview.chromium.org/753483002
Cr-Commit-Position: refs/heads/master@{#25453}
2014-11-21 09:53:12 +00:00
chunyang.dai
4c11d75dbd
Fix the compilation issue for turbofan unsupported backend which
...
is introduced by aed26c05a5
.
( [turbofan] Clean up and factor out branch generation logic.)
BUG=
Review URL: https://codereview.chromium.org/748673002
Cr-Commit-Position: refs/heads/master@{#25452}
2014-11-21 09:22:42 +00:00
Akos Palfi
9182813fb0
MIPS: [turbofan] Clean up and factor out branch generation logic.
...
Port aed26c05a50b2a1257ef8accc67143825f2e1f60
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/742243003
Cr-Commit-Position: refs/heads/master@{#25451}
2014-11-21 01:16:54 +00:00
caitpotter88
ad86a1a27a
Cache template literal callSiteObj
...
BUG=v8:3230
LOG=y
Review URL: https://codereview.chromium.org/742643003
Cr-Commit-Position: refs/heads/master@{#25450}
2014-11-20 22:37:55 +00:00
baixo
4d48e1b7ac
Do not put D8 and TEST natives into the external snapshot.
...
D8 natives, in particular, will cause Windows static builds to not link due to another definition in the generated file d8-js.cc.
BUG=421063
Review URL: https://codereview.chromium.org/738153003
Cr-Commit-Position: refs/heads/master@{#25449}
2014-11-20 21:04:26 +00:00
dslomov
5aed61cc38
Rename String.prototype.contains to 'includes'.
...
Per TC39 Nov 2014 decison.
R=arv@chromium.org ,yangguo@chromium.org
LOG=Y
Committed: b5379216e2
Review URL: https://codereview.chromium.org/742963002
Cr-Commit-Position: refs/heads/master@{#25448}
2014-11-20 19:21:36 +00:00
ulan
dc88962350
Do not bailout from optimizing functions that use f(x, arguments)
...
if there is not enough type-feedback to detect that f is Function.prototype.apply.
BUG=v8:3709
LOG=N
TEST=mjsunit/regress/regress-3709
Review URL: https://codereview.chromium.org/736043002
Cr-Commit-Position: refs/heads/master@{#25447}
2014-11-20 17:07:44 +00:00
titzer
87e9d839a2
[turbofan] Clean up and factor out branch generation logic.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/745633002
Cr-Commit-Position: refs/heads/master@{#25446}
2014-11-20 16:23:19 +00:00
mstarzinger
bf11bf4758
Remove superflous SharedFunctionInfo::uses_super call.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/736383002
Cr-Commit-Position: refs/heads/master@{#25445}
2014-11-20 16:22:04 +00:00
yangguo
c64b47f552
When optimizing deserialized code, make sure IC state is preserved.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/737373003
Cr-Commit-Position: refs/heads/master@{#25444}
2014-11-20 16:20:56 +00:00
Dan Carney
be782ea773
[turbofan] use double temp registers for stack-stack swap on arm64
...
TBR=vogelheim@chromium.org
BUG=
Review URL: https://codereview.chromium.org/744743002
Cr-Commit-Position: refs/heads/master@{#25443}
2014-11-20 16:11:34 +00:00
ulan
d703e87531
Reserve code range block for evacuation.
...
If we run out of code range, then GC wouldn't be able to compact code space,
because it wouldn't be able to allocate a new page. This can cause code space
fragmentation and OOM crashes.
BUG=chromium:430118
LOG=Y
Review URL: https://codereview.chromium.org/742733002
Cr-Commit-Position: refs/heads/master@{#25441}
2014-11-20 14:52:35 +00:00
dcarney
b11825fe94
[turbofan] More aggressive reuse of spill slots in the register allocator.
...
BUG=
Review URL: https://codereview.chromium.org/725083004
Cr-Commit-Position: refs/heads/master@{#25440}
2014-11-20 14:41:08 +00:00
Daniel Clifford
5a494cf00c
[turbofan]: More optimizations to add and subtract operations on x64
...
- Use "leal" for subtraction of integer constant when non-constant input to
subtract is used more than once.
- Use "incl", "decl", and "addl" when they are smaller/cheaper than their
leal/addl/subl equivalant.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/738073002
Cr-Commit-Position: refs/heads/master@{#25439}
2014-11-20 13:48:46 +00:00
Rodolph Perfetta
481772acdd
[turbofan] remove redundant '& 0x1F' for shifts.
...
JavaScript shifts perform an implicit '& 0x1F' on their right operand, this
patch removes it when the underlying architecture already does it.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/732103002
Cr-Commit-Position: refs/heads/master@{#25438}
2014-11-20 13:09:26 +00:00
mstarzinger
6d41045ba4
Enable TurboFan for Win64 targets.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/743963002
Cr-Commit-Position: refs/heads/master@{#25437}
2014-11-20 11:51:11 +00:00
Andreas Rossberg
4f63564700
Fix lower bound violation
...
R=jarin@chromium.org
BUG=433332
LOG=N
Review URL: https://codereview.chromium.org/739563002
Cr-Commit-Position: refs/heads/master@{#25436}
2014-11-20 11:22:49 +00:00
Andreas Rossberg
1808badc2d
Disable classes in sloppy mode unless --harmony-sloppy is set
...
Also clean up flag names a little.
Baseline: https://codereview.chromium.org/713413003/
R=arv@chromium.org , dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/722203006
Cr-Commit-Position: refs/heads/master@{#25435}
2014-11-20 10:52:03 +00:00
yangguo
529ff0cfbf
Implement log10 via fdlibm port.
...
R=rtoy@chromium.org
BUG=v8:3579
LOG=N
Review URL: https://codereview.chromium.org/739913003
Cr-Commit-Position: refs/heads/master@{#25433}
2014-11-20 09:37:27 +00:00
machenbach
b3acdf5347
Revert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https://codereview.chromium.org/742963002/ )
...
Reason for revert:
Breaks test262-es6:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/1289
Original issue's description:
> Rename String.prototype.contains to 'includes'.
>
> Per TC39 Nov 2014 decison.
>
> R=arv@chromium.org ,yangguo@chromium.org
> LOG=Y
>
> Committed: b5379216e2
TBR=arv@chromium.org ,yangguo@chromium.org,dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/745543002
Cr-Commit-Position: refs/heads/master@{#25432}
2014-11-20 09:03:54 +00:00
jochen
821736a674
Remove --clever-optimizations
...
We should always be clever
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/723023003
Cr-Commit-Position: refs/heads/master@{#25431}
2014-11-20 08:54:42 +00:00
dslomov
2dae17fb87
Rename String.prototype.contains to 'includes'.
...
Per TC39 Nov 2014 decison.
R=arv@chromium.org ,yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/742963002
Cr-Commit-Position: refs/heads/master@{#25430}
2014-11-20 00:32:13 +00:00
dslomov
69990745f7
Remove Weak{Map,Set}.prototype.clear.
...
Per Nov 2014 TC39 decision.
R=adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/739303002
Cr-Commit-Position: refs/heads/master@{#25429}
2014-11-19 21:53:01 +00:00