Commit Graph

23013 Commits

Author SHA1 Message Date
yangguo
e25058b0b7 Use shared container to manage imports/exports.
Also changed string.js and math.js to adapt this change.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28521}
2015-05-20 14:58:43 +00:00
mstarzinger
794aa07283 Remove obsolete Code::optimizable flag.
This flag mostly duplicates SharedFunctionInfo::optimization_disabled
and is only queried in places where the original is available. Remove
the brittle and error-prone duplication.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28520}
2015-05-20 14:44:46 +00:00
danno
c1253668bc Add constants for FrameState input parameters
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28519}
2015-05-20 13:41:50 +00:00
ishell
1c673a56c1 Fixed DCHECK in StoreIC::CompileHandler().
BUG=chromium:489597
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28518}
2015-05-20 13:36:27 +00:00
mbrandy
f32a3643b5 PPC: Fix '[strong] Function arity check should be based on required parameters'
lwa cannot encode unaligned displacements.  lwz is acceptable here
since the shift right will perform the sign-extension on PPC64 for us.

R=arv@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28517}
2015-05-20 13:30:29 +00:00
mvstanton
09aaf003a9 Cleanup interface descriptors to reflect that vectors are part of loads.
Also removed ornamentation like "VectorRaw" from stub names.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28516}
2015-05-20 13:18:52 +00:00
bmeurer
8236bfbae3 [turbofan] Pass deoptimization mode to intrinsic lowering.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28515}
2015-05-20 13:11:24 +00:00
bradnelson
e77c69b5ca Add perf json for simd.js benchmarks.
Using a script to generate the somewhat redundant json.

BUG=v8:4124
LOG=N
R=machenbach@chromium.org,bbudge@chromium.org
TEST=None

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

Cr-Commit-Position: refs/heads/master@{#28514}
2015-05-20 13:08:47 +00:00
hpayer
292a4b04c9 Move code around in IdleNotification.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28513}
2015-05-20 13:07:35 +00:00
hpayer
513acb41cd Reland Set lower allocation limit in idle notification only if no GC happend recently.last_gc_time_
TBR=ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=475674

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

Cr-Commit-Position: refs/heads/master@{#28512}
2015-05-20 12:59:00 +00:00
machenbach
64b1b1d130 Revert of Set lower allocation limit in idle notification only if no GC happend recently. (patchset #2 id:20001 of https://codereview.chromium.org/1143113002/)
Reason for revert:
[Sheriff] MSAN not happy:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/2352

Original issue's description:
> Set lower allocation limit in idle notification only if no GC happend recently.
>
> BUG=475674
> LOG=n
>
> Committed: https://crrev.com/35e3489e8f70c7ad5973324ad3cfa4ab27059ab4
> Cr-Commit-Position: refs/heads/master@{#28506}

TBR=ulan@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=475674

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

Cr-Commit-Position: refs/heads/master@{#28511}
2015-05-20 12:48:55 +00:00
danno
218e101297 Generalize builtins inlining flag to allow forced inlining of any function
Review URL: https://codereview.chromium.org/1140743004

Cr-Commit-Position: refs/heads/master@{#28510}
2015-05-20 12:47:43 +00:00
jacob.bramley
8af3c3a103 ARM64: Fix some signed-unsigned comparisons from cdc43bc (r28412).
These trigger warnings on cross-builds under GCC.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28509}
2015-05-20 12:37:13 +00:00
ulan
f2f8001f1b Take freed handles into account when scheduling idle GCs.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28508}
2015-05-20 12:09:52 +00:00
jacob.bramley
f88606e25d [ARM64] [turbofan] Use 'mvn' rather than an equivalent 'orn'.
`mvn xd, xn` is an architectural alias for `orn xd, xzr, xm`, so this
doesn't change code generation at all, but it's tidier and it addresses
a TODO.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28507}
2015-05-20 11:04:22 +00:00
hpayer
35e3489e8f Set lower allocation limit in idle notification only if no GC happend recently.
BUG=475674
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28506}
2015-05-20 10:59:27 +00:00
bmeurer
d3c1a7fbfc [turbofan] Add streaming operator for opcodes to ease debugging.
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28505}
2015-05-20 10:12:46 +00:00
jochen
ba0b7f060a Initialize "weakness_type" field in global handles
BUG=4122
R=vogelheim@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28504}
2015-05-20 09:47:38 +00:00
erikcorry
9ff1f53b08 Remove 64-bit unclean line from heap size estimation
R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28503}
2015-05-20 09:44:06 +00:00
erikcorry
1edf51cfe6 Regularize namespace closing curlies
R=verwaest@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28502}
2015-05-20 09:42:54 +00:00
jochen
bf032c2ec8 Update ReturnValue to take non-deprecated versions of handles
R=vogelheim@chromium.org
BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28501}
2015-05-20 08:59:34 +00:00
dslomov
a38e3a4518 [destructuring] Implement BindingArrayPattern
(everything except Spread is implemeneted)

R=arv@chromium.org,rossberg@chromium.org,wingo@igalia.com
BUG=v8:811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28500}
2015-05-20 08:08:14 +00:00
yangguo
9a1490ad6f Introduce extras export object.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28499}
2015-05-20 07:38:04 +00:00
paul.lind
dd0f469da3 Fix another -Wsign-compare bug with GCC 4.9.2.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28498}
2015-05-20 07:12:47 +00:00
rossberg
2fa664fbe2 Reland "[strong] Object literals create strong objects"
(patchset #4 id:60001 of https://codereview.chromium.org/1134333005/)"

This reverts commit 81c080ef8e.
Patchset #1 is the original CL.
Patchset #2 fixes a handlification bug that caused the crash.

R=dslomov@chromium.org
BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28497}
2015-05-20 07:07:42 +00:00
svenpanne
84aa494ebc Fixed various simulator-related space leaks.
Alas, this involved quite a bit of copy-n-paste between the
architectures, but this is caused by the very convoluted
relationships, lifetimes and distribution of responsibilities. This
should really be cleaned up by moving code around and using STL maps,
but that's not really a priority right now.

Bonus: Fixed leaks in the ARM64 disassembler tests.

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

Cr-Commit-Position: refs/heads/master@{#28496}
2015-05-20 05:55:45 +00:00
Daniel Ehrenberg
31fb502474 Implement %TypedArray%.{lastI,i}ndexOf
This patch adds the two TypedArray methods indexOf and lastIndexOf,
which are similar to the methods on Arrays. Tests are ported from
arrays as well.

BUG=v8:3578
LOG=Y
R=arv@chromium.org

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

Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#28495}
2015-05-20 01:09:05 +00:00
Daniel Ehrenberg
540bb0c80b Implement %TypedArray%.prototype.sort
The sort method of TypedArrays sorts in numerical order by default.
This patch implements sorting based on Arrays and adds a test.
The length of %TypedArray%.prototype.sort, like Array.prototype.sort,
seems to be unspecified in ES6, so this patch lets it have the value
1, to match our interpretation for Array.prototype.sort (though 0
would also be a sensible length).

R=arv@chromium.org
BUG=v8:3578
LOG=Y

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

Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#28494}
2015-05-20 00:56:06 +00:00
Daniel Ehrenberg
cc74268d30 Implement %TypedArray%.reverse
This patch adds the reverse method to TypedArrays, together with a
test. The test also runs for normal Arrays, since I didn't see a
test for reversing dense arrays.

BUG=v8:3578
LOG=Y
R=arv@chromium.org

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

Patch from Daniel Ehrenberg <dehrenberg@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#28493}
2015-05-20 00:38:49 +00:00
mbrandy
65141b68ca PPC: [strong] Function arity check should be based on required parameters
Port 78f0452d31

Original commit message:
Also check whether the arguments count is smaller than the number of
required parameters which is the same as the SharedFunctionInfo length.

R=arv@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28492}
2015-05-19 20:24:00 +00:00
arv
78f0452d31 [strong] Function arity check should be based on required parameters
Also check whether the arguments count is smaller than the number of
required parameters which is the same as the SharedFunctionInfo length.

BUG=v8:4102
LOG=N
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28491}
2015-05-19 18:44:05 +00:00
ulan
39491c5168 Restore NothingOrDone action in idle time handler.
This also adjusts transitioning between modes so that crbug.com/460090 remains fixed.

BUG=chromium:489323, chromium:460090
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#28490}
2015-05-19 18:12:07 +00:00
machenbach
6f58ffa140 Revert of Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight} (patchset #2 id:20001 of https://codereview.chromium.org/1139663005/)
Reason for revert:
[Sheriff] Breaks win nosnap:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6872

Original issue's description:
> Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight}
>
> This patch adds implementations for additional TypedArray methods
> from the ES6 spec, together with tests adapted from array code.
>
> R=arv@chromium.org
> BUG=v8:3578
> LOG=Y
>
> Committed: https://crrev.com/59ef8c5f3282f01b5990b3a46a2a3a829b699a13
> Cr-Commit-Position: refs/heads/master@{#28488}

TBR=arv@chromium.org,dehrenberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3578

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

Cr-Commit-Position: refs/heads/master@{#28489}
2015-05-19 16:55:45 +00:00
dehrenberg
59ef8c5f32 Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight}
This patch adds implementations for additional TypedArray methods
from the ES6 spec, together with tests adapted from array code.

R=arv@chromium.org
BUG=v8:3578
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28488}
2015-05-19 16:32:44 +00:00
dslomov
3199077791 [destructuring] Support computed property names in patterns.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28487}
2015-05-19 16:27:02 +00:00
mstarzinger
7bd2d3e32e [turbofan] Fix over-restictive assertion in code generator.
R=titzer@chromium.org
TEST=mjsunit/regress/regress-crbug-489293
BUG=chromium:489293
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28486}
2015-05-19 16:14:28 +00:00
mstarzinger
c06b1e05ca [turbofan] Turn JSIntrinsicLowering into an AdvancedReducer.
This in turn allows usage of AdvancedReducer::ReplaceWithValue which
has access to the underlying graph reducer. It will allow us to deal
with exception continuations correctly.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28485}
2015-05-19 15:10:23 +00:00
wingo
66665ae727 Reapply "Resolve references to "this" the same way as normal variables""
This reapplies https://codereview.chromium.org/1136073002, along with
the followups:

  Remove Scope::scope_uses_this_ flag
  https://codereview.chromium.org/1128963005

and

  PPC: Resolve references to "this" the same way as normal variables
  https://codereview.chromium.org/1134073003

R=rossberg@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28458}

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

Cr-Commit-Position: refs/heads/master@{#28484}
2015-05-19 14:50:59 +00:00
Michael Achenbach
ea01e6e3f3 Whitespace change to test new test suite.
Cr-Commit-Position: refs/heads/master@{#28483}
2015-05-19 14:44:05 +00:00
dslomov
5cdaa3e6e5 [destructuring] Implement initializers in patterns.
R=arv@chromium.org,rossberg@chromium.org,wingo@igalia.com
BUG=v8:811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28482}
2015-05-19 14:29:38 +00:00
sergiyb
dd26fbf2b5 Removed project_bases_legacy_from_git_repo_url from V8
This is not necessary because V8 is a Git-based project and relpath doesn't need
to be computed.

R=akuegel@chromium.org, machenbach@chromium.org
BUG=471767
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28481}
2015-05-19 14:05:36 +00:00
ishell
18b60594c4 Another regression test for resolving references to "this" in strict mode.
BUG=chromium:487105
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28480}
2015-05-19 12:51:42 +00:00
machenbach
8c15e5bdc3 [test] Make test as flaky
BUG=v8:4127
LOG=n
TBR=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28479}
2015-05-19 11:50:51 +00:00
brettw
e92804b02e Make the snapshot a public dependency of v8.
Adds a chain of public dependencies from the v8 target to the snapshot target.
A future version of GN will validate that any files taken as inputs to a step
were generated by public dependencies of that target. Some targets in Chrome
depend on the results of the snapshot.

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

Cr-Commit-Position: refs/heads/master@{#28478}
2015-05-19 11:36:26 +00:00
jkummerow
c0144c0c64 Fix has_pending_exception logic in API's Array::CloneElementAt
BUG=v8:4103
LOG=y
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28477}
2015-05-19 11:34:45 +00:00
erikcorry
8cb1c3540c Adjust benchmark framework to avoid spending 50% of time on 'new Date'
R=dslomov@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28476}
2015-05-19 11:19:36 +00:00
jkummerow
e5227ba5c3 Update safe_math_impl.h
Porting Chromium's https://codereview.chromium.org/1142783002/ to fix a division-by-zero bug.

BUG=chromium:488302
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28475}
2015-05-19 11:08:55 +00:00
ssid
66083dd05f Adding api to get last gc object statistics for chrome://tracing.
For dumping the number of objects and size of objects alive after the
last gc into chrome://tracing memory dumps, this CL adds new api to
get these number for each isolate.

Note: Chrome should be run with --js-flags='--track_gc_object_stats
--noincremental-marking' for object tracking.

BUG=476013
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28474}
2015-05-19 11:01:24 +00:00
wingo
24768fe200 Revert of Reapply "Resolve references to "this" the same way as normal variables"" (patchset #2 id:20001 of https://codereview.chromium.org/1136883006/)
Reason for revert:
Something is deserializing "this" declarations as Variable::NORMAL and not Variable::THIS https://codereview.chromium.org/1136123010/

Original issue's description:
> Reapply "Resolve references to "this" the same way as normal variables""
>
> This reapplies https://codereview.chromium.org/1136073002, along with
> the followups:
>
>   Remove Scope::scope_uses_this_ flag
>   https://codereview.chromium.org/1128963005
>
> and
>
>   PPC: Resolve references to "this" the same way as normal variables
>   https://codereview.chromium.org/1134073003
>
> R=yangguo@chromium.org, rossberg@chromium.org
> LOG=N
> BUG=
>
> Committed: https://crrev.com/1efc1e4f7a3d30d5225e9d5cb2585cad7cb17099
> Cr-Commit-Position: refs/heads/master@{#28458}

TBR=rossberg@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28473}
2015-05-19 10:57:51 +00:00
Djordje.Pesic
0f93a456ec Reland "MIPS: Add float instructions and test coverage, part one"
Implement assembler, disassembler tests for all instructions for mips32 and mips64. Additionally, add missing single precision float instructions for r2 and r6 architecture variants in assembler, simulator and disassembler with corresponding tests.

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

Cr-Commit-Position: refs/heads/master@{#28472}
2015-05-19 10:35:07 +00:00