platform/upstream/v8.git
9 years ago[destructuring] Grand for statement parsing unification.
dslomov [Thu, 21 May 2015 17:47:07 +0000 (10:47 -0700)]
[destructuring] Grand for statement parsing unification.

Also support patterns in ``for (var p in/of ...)``

This CL extends the rewriting we used to do for ``for (let p in/of...)`` to
``for (var p in/of ...)``. For all for..in/of loop declaring variable,
we rewrite
   for (var/let/const pattern in/of e) b
into
   for (x' in/of e) { var/let/const pattern = e; b }

This adds a small complication for debugger: for a statement
   for (var v in/of e) ...
we used to have
   var v;
   for (v in/of e) ...
and there was a separate breakpoint on ``var v`` line.
This breakpoint is actually useless since it is immediately followed by
a breakpoint on evaluation of ``e``, so this CL removes that breakpoint
location.

Similiraly, for let, it used to be that
  for (let v in/of e) ...
became
  for (x' in/of e) { let v; v  = x'; ... }
``let v``generetaed a useless breakpoint (with the location at the
loop's head. This CL removes that breakpoint as well.

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

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

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

9 years agoPrepare GetProperty(Attributes)WithInterceptor to support elements
verwaest [Thu, 21 May 2015 17:24:28 +0000 (10:24 -0700)]
Prepare GetProperty(Attributes)WithInterceptor to support elements

BUG=v8:4137
LOG=n

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

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

9 years agoSet V8_HAS_DECLSPEC_SELECTANY for clang-cl
hans [Thu, 21 May 2015 16:21:24 +0000 (09:21 -0700)]
Set V8_HAS_DECLSPEC_SELECTANY for clang-cl

This macro is used for defining static data members with
STATIC_CONST_MEMBER_DEFINITION. Clang-cl mimics MSVC's
behaviour here, so it also needs __declspec(selectany).

This change was prompted by Clang r237787 which changed
a bug where Clang would previously not emit symbols for
some static data members.

BUG=82385
LOG=N

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

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

9 years agoReland "Avoid excessive GCs in small heaps."
ulan [Thu, 21 May 2015 16:01:56 +0000 (09:01 -0700)]
Reland "Avoid excessive GCs in small heaps."

Original issue's description:
> Avoid excessive GCs in small heaps.
>
> Small heaps and small heap growing factor can lead to excessive GCs in corner cases.
>
> Consider function F(old_gen_size, factor) that returns the number of bytes that
> have to be allocated in the old generation to start incremental marking.
>
> F(4MB, 1.1) = 4MB (because of kMinimumOldGenerationAllocationLimit)
> F(6MB, 1.1) = 2MB (because of kMinimumOldGenerationAllocationLimit)
> F(8MB, 1.1) = 800KB
>
> Funtion F should be monotonic in old_gen_size, but it currently has a minimum
> at kMinimumOldGenerationAllocationLimit.
>
> This CL makes F monotonic.
>
> BUG=
>
> Committed: https://crrev.com/22b1da99732b4db0754bf267ec470a2831216fb2
> Cr-Commit-Position: refs/heads/master@{#28549}

TBR=hpayer@chromium.org

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

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

9 years ago[test] Apply more detailed origin tracking in MSAN builds.
machenbach [Thu, 21 May 2015 15:45:17 +0000 (08:45 -0700)]
[test] Apply more detailed origin tracking in MSAN builds.

BUG=chromium:425187
LOG=n
TBR=svenpanne@chromium.org
NOTRY=true

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

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

9 years agoPPC: [es6] Spread in array literals
mbrandy [Thu, 21 May 2015 15:35:46 +0000 (08:35 -0700)]
PPC: [es6] Spread in array literals

Port 9502e91adbed48a546463aa848656d07619d14e6

Original commit message:
This allows you to put iterables into your array literals
and the will get spread into the array.

  let x = [0, ...range(1, 3)];  // [0, 1, 2]

This is done by treating the array literal up to the first
spread element as usual, including using a boiler plate
array, and then appending the remaining expressions and rest
expressions.

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

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

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

9 years agoAdjust GetPropertyWithFailedAccessCheck to support elements
verwaest [Thu, 21 May 2015 15:24:53 +0000 (08:24 -0700)]
Adjust GetPropertyWithFailedAccessCheck to support elements

BUG=v8:4137
LOG=n

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

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

9 years agoRevert of Avoid excessive GCs in small heaps. (patchset #1 id:1 of https://codereview...
ulan [Thu, 21 May 2015 14:47:20 +0000 (07:47 -0700)]
Revert of Avoid excessive GCs in small heaps. (patchset #1 id:1 of https://codereview.chromium.org/1144223002/)

Reason for revert:
Regressed Sunspider.

Original issue's description:
> Avoid excessive GCs in small heaps.
>
> Small heaps and small heap growing factor can lead to excessive GCs in corner cases.
>
> Consider function F(old_gen_size, factor) that returns the number of bytes that
> have to be allocated in the old generation to start incremental marking.
>
> F(4MB, 1.1) = 4MB (because of kMinimumOldGenerationAllocationLimit)
> F(6MB, 1.1) = 2MB (because of kMinimumOldGenerationAllocationLimit)
> F(8MB, 1.1) = 800KB
>
> Funtion F should be monotonic in old_gen_size, but it currently has a minimum
> at kMinimumOldGenerationAllocationLimit.
>
> This CL makes F monotonic.
>
> BUG=
>
> Committed: https://crrev.com/22b1da99732b4db0754bf267ec470a2831216fb2
> Cr-Commit-Position: refs/heads/master@{#28549}

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

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

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

9 years ago[test] Raise timeout for js-perf-tests.
machenbach [Thu, 21 May 2015 14:36:40 +0000 (07:36 -0700)]
[test] Raise timeout for js-perf-tests.

TBR=dslomov@chromium.org
NOTRY=true

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

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

9 years agoSimplify GetProperty helpers to ease element support
verwaest [Thu, 21 May 2015 14:34:52 +0000 (07:34 -0700)]
Simplify GetProperty helpers to ease element support

BUG=v8:4137
LOG=n

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

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

9 years agoAdd a TurboFan skeleton for StringAddStub.
svenpanne [Thu, 21 May 2015 14:31:41 +0000 (07:31 -0700)]
Add a TurboFan skeleton for StringAddStub.

Currently the stub simply calls out to the runtime, this will be
improved in a later CLs. The current state at least avoids bit-rot and
later merging horror.

Fixes frame construction logic for stubs, too, and contains quite a few
tiny cleanups in stub-land.

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

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

9 years agoRevert of Remove obsolete JSFunction::IsOptimizable predicate. (patchset #1 id:1...
mstarzinger [Thu, 21 May 2015 13:34:51 +0000 (06:34 -0700)]
Revert of Remove obsolete JSFunction::IsOptimizable predicate. (patchset #1 id:1 of https://codereview.chromium.org/1150683002/)

Reason for revert:
Causes assertions to fire when serializing optimized code.

Original issue's description:
> Remove obsolete JSFunction::IsOptimizable predicate.
>
> This just delegates to SharedFunctionInfo::optimization_disabled and
> was primarily used for assertions. Removing it due to misleading name
> because already optimized functions reported being "non-optimizable".
>
> R=titzer@chromium.org
>
> Committed: https://crrev.com/181d7b85977eb752b19e1de902093783e31330ef
> Cr-Commit-Position: refs/heads/master@{#28551}

TBR=titzer@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoFix typo in standalone.gypi
jochen [Thu, 21 May 2015 13:13:21 +0000 (06:13 -0700)]
Fix typo in standalone.gypi

without the % we can't override the value which makes the Makefile thing
not work

R=vogelheim@chromium.org
LOG=n
BUG=none

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

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

9 years agoReduce new space size during idle times only in memory mode after scavenge, full...
hpayer [Thu, 21 May 2015 13:09:29 +0000 (06:09 -0700)]
Reduce new space size during idle times only in memory mode after scavenge, full gc, or finalized incremental full gc.

BUG=

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

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

9 years agoRemove obsolete JSFunction::IsOptimizable predicate.
mstarzinger [Thu, 21 May 2015 13:05:48 +0000 (06:05 -0700)]
Remove obsolete JSFunction::IsOptimizable predicate.

This just delegates to SharedFunctionInfo::optimization_disabled and
was primarily used for assertions. Removing it due to misleading name
because already optimized functions reported being "non-optimizable".

R=titzer@chromium.org

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

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

9 years ago[turbofan] Fix UnifyReturn magic in the inliner.
bmeurer [Thu, 21 May 2015 13:02:18 +0000 (06:02 -0700)]
[turbofan] Fix UnifyReturn magic in the inliner.

The inliner previously assumed that there will only be returns reaching
the end node, but that's not true.  This refactoring will make it
possible to also hook up Deoptimize, Throw and Terminate nodes reaching
end properly.

R=mstarzinger@chromium.org

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

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

9 years agoAvoid excessive GCs in small heaps.
ulan [Thu, 21 May 2015 12:50:45 +0000 (05:50 -0700)]
Avoid excessive GCs in small heaps.

Small heaps and small heap growing factor can lead to excessive GCs in corner cases.

Consider function F(old_gen_size, factor) that returns the number of bytes that
have to be allocated in the old generation to start incremental marking.

F(4MB, 1.1) = 4MB (because of kMinimumOldGenerationAllocationLimit)
F(6MB, 1.1) = 2MB (because of kMinimumOldGenerationAllocationLimit)
F(8MB, 1.1) = 800KB

Funtion F should be monotonic in old_gen_size, but it currently has a minimum
at kMinimumOldGenerationAllocationLimit.

This CL makes F monotonic.

BUG=

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

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

9 years agoDropping iterations and speedup from perf results.
bradnelson [Thu, 21 May 2015 12:49:37 +0000 (05:49 -0700)]
Dropping iterations and speedup from perf results.

The dashboard displays everything on one scale.
This isn't very useful.
Dropping these two fields as they're not really that
interesting anyway.

BUG=https://code.google.com/p/v8/issues/detail?id=4124
LOG=N
TEST=None
NOTRY=true
TBR=machenbach@chromium.org

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

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

9 years ago[destructuring] Implement pattern matching in lexcal for-of/for-in.
dslomov [Thu, 21 May 2015 12:36:11 +0000 (05:36 -0700)]
[destructuring] Implement pattern matching in lexcal for-of/for-in.

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

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

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

9 years agoStart adding support for elements to the LookupIterator
verwaest [Thu, 21 May 2015 12:19:39 +0000 (05:19 -0700)]
Start adding support for elements to the LookupIterator

BUG=

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

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

9 years ago[turbofan] Ship TF for "with" and "for-of" constructs.
mstarzinger [Thu, 21 May 2015 12:12:14 +0000 (05:12 -0700)]
[turbofan] Ship TF for "with" and "for-of" constructs.

R=danno@chromium.org
BUG=v8:4131
LOG=N

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

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

9 years ago[turbofan] Prepare mechanism to enable TF on language subset.
mstarzinger [Thu, 21 May 2015 11:41:14 +0000 (04:41 -0700)]
[turbofan] Prepare mechanism to enable TF on language subset.

This allows enabling TurboFan on a certain subset of language features
in the AstNumberingVisitor. The heuristics of when to optimize remain
unchanged, only the choice of which optimizing compiler to use changes.

R=bmeurer@chromium.org
BUG=v8:4131
LOG=N

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

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

9 years ago[turbofan] Enable deoptimization for non-asm.js TurboFan code.
bmeurer [Thu, 21 May 2015 11:33:42 +0000 (04:33 -0700)]
[turbofan] Enable deoptimization for non-asm.js TurboFan code.

Replace the --turbo-deoptimization flag with --turbo-asm-deoptimization
and enable deoptimization for non-asm.js TurboFan code unconditionally.

R=jarin@chromium.org

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

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

9 years agoCheck in hello world example so it stays up to date
jochen [Thu, 21 May 2015 11:19:32 +0000 (04:19 -0700)]
Check in hello world example so it stays up to date

BUG=none
R=vogelheim@chromium.org
LOG=n

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

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

9 years agoGeneralize HeapObject alignment requirements.
bbudge [Thu, 21 May 2015 11:06:37 +0000 (04:06 -0700)]
Generalize HeapObject alignment requirements.
Removes EnsureDouble* methods.
Adds a RequiredAlignment method.
Changes call sites.

LOG=N
BUG=v8:4124

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

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

9 years ago[turbofan] Add bounds check to Node::InputAt(index) and fix tests that go out of...
titzer [Thu, 21 May 2015 10:59:54 +0000 (03:59 -0700)]
[turbofan] Add bounds check to Node::InputAt(index) and fix tests that go out of bounds.

BUG=

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

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

9 years agoDebugger: use weak cells to implement ScriptCache.
yangguo [Thu, 21 May 2015 10:35:51 +0000 (03:35 -0700)]
Debugger: use weak cells to implement ScriptCache.

R=ulan@chromium.org

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

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

9 years agoIntroduce a new gyp flag to warn about to be deprecated APIs
jochen [Thu, 21 May 2015 10:34:42 +0000 (03:34 -0700)]
Introduce a new gyp flag to warn about to be deprecated APIs

This should help to keep syntax errors from creeping into v8.h

Also, I'll remove usages of to-be-deprecated APIs and turn this flag on
for standalone builds

BUG=4134
R=vogelheim@chromium.org
LOG=n

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

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

9 years agoMake new space allocation throughput estimation more accurate.
ulan [Thu, 21 May 2015 10:19:09 +0000 (03:19 -0700)]
Make new space allocation throughput estimation more accurate.

Sample new space allocation throughput at scavenge and at idle notificatioon.

This will allow better estimation of mutator idleness for switching between
latency and memory modes in idle notification handler.

BUG=chromium:486005
LOG=NO
TEST=cctest/test-heap/NewSpaceAllocationThroughput

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

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

9 years ago[turbofan] Fix variable liveness control structure creation.
jarin [Thu, 21 May 2015 09:57:27 +0000 (02:57 -0700)]
[turbofan] Fix variable liveness control structure creation.

R=bmeurer@chromium.org
BUG=

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

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

9 years ago[turbofan] --turbo should not imply --turbo-type-feedback.
Benedikt Meurer [Thu, 21 May 2015 09:42:03 +0000 (11:42 +0200)]
[turbofan] --turbo should not imply --turbo-type-feedback.

The --turbo flag should reflect our TurboFan staging configuration, and
for now that does not include the JSTypeFeedbackSpecializer.

R=mstarzinger@chromium.org

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

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

9 years ago[es6] Spread in array literals
arv [Thu, 21 May 2015 08:09:06 +0000 (01:09 -0700)]
[es6] Spread in array literals

This allows you to put iterables into your array literals
and the will get spread into the array.

  let x = [0, ...range(1, 3)];  // [0, 1, 2]

This is done by treating the array literal up to the first
spread element as usual, including using a boiler plate
array, and then appending the remaining expressions and rest
expressions.

BUG=v8:3018
LOG=N

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

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

9 years agoUse shared container to manage imports/exports.
yangguo [Thu, 21 May 2015 06:15:33 +0000 (23:15 -0700)]
Use shared container to manage imports/exports.

Also changed string.js and math.js to adapt this change.

R=jkummerow@chromium.org

Committed: https://crrev.com/e25058b0b7b9831162579564fc8935d568c1ecdd
Cr-Commit-Position: refs/heads/master@{#28521}

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

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

9 years agoX87: Cleanup interface descriptors to reflect that vectors are part of loads.
chunyang.dai [Thu, 21 May 2015 04:32:06 +0000 (21:32 -0700)]
X87: Cleanup interface descriptors to reflect that vectors are part of loads.

port 09aaf003a93162420de88a5449f7de6e7eb04815 (r28516).

original commit message:

    Also removed ornamentation like "VectorRaw" from stub names.

BUG=

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

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

9 years agoX87: [strong] Function arity check should be based on required parameters
chunyang.dai [Thu, 21 May 2015 04:30:56 +0000 (21:30 -0700)]
X87: [strong] Function arity check should be based on required parameters

port 78f0452d310221ac74b6221140d376d8302c4579 (r28491)

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.

BUG=

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 21 May 2015 04:29:43 +0000 (21:29 -0700)]
Update V8 DEPS.

Rolling v8/buildtools to dc487f429cb90cac92ec7a9cd9d49db13648064d

Rolling v8/tools/clang to c8d44a19b3bc34fe17b9b0361edebee4b9a70fdb

TBR=machenbach@chromium.org

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

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

9 years agoRe-land %TypedArray%.prototype.{map,filter,some}
dehrenberg [Thu, 21 May 2015 01:38:19 +0000 (18:38 -0700)]
Re-land %TypedArray%.prototype.{map,filter,some}

Previously this patch was attempted with reduce and reduceRight included;
however, some of those tests crashed in the trybots. This version has
just map, fiter and some, together with their tests.

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

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

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

9 years ago[test] Fix simdjs perf tests.
machenbach [Wed, 20 May 2015 18:33:50 +0000 (11:33 -0700)]
[test] Fix simdjs perf tests.

- Missing resource on android
- Higher timeout on arm
- Fewer runs on arm
- Drop total

BUG=v8:4124
LOG=N
NOTRY=true
TBR=bradnelson@chromium.org

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

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

9 years agoSkip presubmits when doing --download-data-only.
bradnelson [Wed, 20 May 2015 17:06:15 +0000 (10:06 -0700)]
Skip presubmits when doing --download-data-only.

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

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

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

9 years agoFix for-in for large indexes and indexes on proxies
verwaest [Wed, 20 May 2015 17:03:21 +0000 (10:03 -0700)]
Fix for-in for large indexes and indexes on proxies
BUG=v8:4130
LOG=n

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

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

9 years agoPPC: Cleanup interface descriptors to reflect that vectors are part of loads.
mbrandy [Wed, 20 May 2015 17:02:10 +0000 (10:02 -0700)]
PPC: Cleanup interface descriptors to reflect that vectors are part of loads.

Port 09aaf003a93162420de88a5449f7de6e7eb04815

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

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

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

9 years ago[turbofan] Pass deoptimization mode to type feedback specializer.
bmeurer [Wed, 20 May 2015 17:01:31 +0000 (10:01 -0700)]
[turbofan] Pass deoptimization mode to type feedback specializer.

R=jarin@chromium.org

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

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

9 years agoRevert of Use shared container to manage imports/exports. (patchset #2 id:20001 of...
jkummerow [Wed, 20 May 2015 15:59:51 +0000 (08:59 -0700)]
Revert of Use shared container to manage imports/exports. (patchset #2 id:20001 of https://codereview.chromium.org/1143993003/)

Reason for revert:
Breaks nosnap bots

Original issue's description:
> Use shared container to manage imports/exports.
>
> Also changed string.js and math.js to adapt this change.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/e25058b0b7b9831162579564fc8935d568c1ecdd
> Cr-Commit-Position: refs/heads/master@{#28521}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years ago[destructuring] Implement spread binding patterns.
dslomov [Wed, 20 May 2015 15:05:58 +0000 (08:05 -0700)]
[destructuring] Implement spread binding patterns.

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

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

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

9 years agoUse shared container to manage imports/exports.
yangguo [Wed, 20 May 2015 14:59:01 +0000 (07:59 -0700)]
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}

9 years agoRemove obsolete Code::optimizable flag.
mstarzinger [Wed, 20 May 2015 14:44:58 +0000 (07:44 -0700)]
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}

9 years agoAdd constants for FrameState input parameters
danno [Wed, 20 May 2015 13:42:08 +0000 (06:42 -0700)]
Add constants for FrameState input parameters

R=jarin@chromium.org

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

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

9 years agoFixed DCHECK in StoreIC::CompileHandler().
ishell [Wed, 20 May 2015 13:36:47 +0000 (06:36 -0700)]
Fixed DCHECK in StoreIC::CompileHandler().

BUG=chromium:489597
LOG=N

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

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

9 years agoPPC: Fix '[strong] Function arity check should be based on required parameters'
mbrandy [Wed, 20 May 2015 13:30:51 +0000 (06:30 -0700)]
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}

9 years agoCleanup interface descriptors to reflect that vectors are part of loads.
mvstanton [Wed, 20 May 2015 13:19:11 +0000 (06:19 -0700)]
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}

9 years ago[turbofan] Pass deoptimization mode to intrinsic lowering.
bmeurer [Wed, 20 May 2015 13:11:41 +0000 (06:11 -0700)]
[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}

9 years agoAdd perf json for simd.js benchmarks.
bradnelson [Wed, 20 May 2015 13:09:06 +0000 (06:09 -0700)]
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}

9 years agoMove code around in IdleNotification.
hpayer [Wed, 20 May 2015 13:07:57 +0000 (06:07 -0700)]
Move code around in IdleNotification.

BUG=

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

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

9 years agoReland Set lower allocation limit in idle notification only if no GC happend recently...
hpayer [Wed, 20 May 2015 12:59:16 +0000 (05:59 -0700)]
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}

9 years agoRevert of Set lower allocation limit in idle notification only if no GC happend recen...
machenbach [Wed, 20 May 2015 12:49:13 +0000 (05:49 -0700)]
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}

9 years agoGeneralize builtins inlining flag to allow forced inlining of any function
danno [Wed, 20 May 2015 12:48:02 +0000 (05:48 -0700)]
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}

9 years agoARM64: Fix some signed-unsigned comparisons from cdc43bc (r28412).
jacob.bramley [Wed, 20 May 2015 12:37:35 +0000 (05:37 -0700)]
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}

9 years agoTake freed handles into account when scheduling idle GCs.
ulan [Wed, 20 May 2015 12:10:09 +0000 (05:10 -0700)]
Take freed handles into account when scheduling idle GCs.

BUG=

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

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

9 years ago[ARM64] [turbofan] Use 'mvn' rather than an equivalent 'orn'.
jacob.bramley [Wed, 20 May 2015 11:04:34 +0000 (04:04 -0700)]
[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}

9 years agoSet lower allocation limit in idle notification only if no GC happend recently.
hpayer [Wed, 20 May 2015 10:59:45 +0000 (03:59 -0700)]
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}

9 years ago[turbofan] Add streaming operator for opcodes to ease debugging.
bmeurer [Wed, 20 May 2015 10:13:02 +0000 (03:13 -0700)]
[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}

9 years agoInitialize "weakness_type" field in global handles
jochen [Wed, 20 May 2015 09:47:57 +0000 (02:47 -0700)]
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}

9 years agoRemove 64-bit unclean line from heap size estimation
erikcorry [Wed, 20 May 2015 09:44:21 +0000 (02:44 -0700)]
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}

9 years agoRegularize namespace closing curlies
erikcorry [Wed, 20 May 2015 09:43:10 +0000 (02:43 -0700)]
Regularize namespace closing curlies

R=verwaest@chromium.org
BUG=

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

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

9 years agoUpdate ReturnValue to take non-deprecated versions of handles
jochen [Wed, 20 May 2015 08:59:43 +0000 (01:59 -0700)]
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}

9 years ago[destructuring] Implement BindingArrayPattern
dslomov [Wed, 20 May 2015 08:08:26 +0000 (01:08 -0700)]
[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}

9 years agoIntroduce extras export object.
yangguo [Wed, 20 May 2015 07:38:19 +0000 (00:38 -0700)]
Introduce extras export object.

BUG=

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

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

9 years agoFix another -Wsign-compare bug with GCC 4.9.2.
paul.lind [Wed, 20 May 2015 07:13:07 +0000 (00:13 -0700)]
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}

9 years agoReland "[strong] Object literals create strong objects"
rossberg [Wed, 20 May 2015 07:07:54 +0000 (00:07 -0700)]
Reland "[strong] Object literals create strong objects"

(patchset #4 id:60001 of https://codereview.chromium.org/1134333005/)"

This reverts commit 81c080ef8e7c1a38622b870b351bb1e11b6c8a62.
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}

9 years agoFixed various simulator-related space leaks.
svenpanne [Wed, 20 May 2015 05:56:06 +0000 (22:56 -0700)]
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}

9 years agoImplement %TypedArray%.{lastI,i}ndexOf
Daniel Ehrenberg [Wed, 20 May 2015 01:09:21 +0000 (18:09 -0700)]
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}

9 years agoImplement %TypedArray%.prototype.sort
Daniel Ehrenberg [Wed, 20 May 2015 00:56:15 +0000 (17:56 -0700)]
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}

9 years agoImplement %TypedArray%.reverse
Daniel Ehrenberg [Wed, 20 May 2015 00:38:59 +0000 (17:38 -0700)]
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}

9 years agoPPC: [strong] Function arity check should be based on required parameters
mbrandy [Tue, 19 May 2015 20:24:17 +0000 (13:24 -0700)]
PPC: [strong] Function arity check should be based on required parameters

Port 78f0452d310221ac74b6221140d376d8302c4579

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}

9 years ago[strong] Function arity check should be based on required parameters
arv [Tue, 19 May 2015 18:44:18 +0000 (11:44 -0700)]
[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}

9 years agoRestore NothingOrDone action in idle time handler.
ulan [Tue, 19 May 2015 18:12:18 +0000 (11:12 -0700)]
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}

9 years agoRevert of Implement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight} ...
machenbach [Tue, 19 May 2015 16:56:00 +0000 (09:56 -0700)]
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}

9 years agoImplement %TypedArray%.prototype.{map,filter,some,reduce,reduceRight}
dehrenberg [Tue, 19 May 2015 16:32:48 +0000 (09:32 -0700)]
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}

9 years ago[destructuring] Support computed property names in patterns.
dslomov [Tue, 19 May 2015 16:27:21 +0000 (09:27 -0700)]
[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}

9 years ago[turbofan] Fix over-restictive assertion in code generator.
mstarzinger [Tue, 19 May 2015 16:14:47 +0000 (09:14 -0700)]
[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}

9 years ago[turbofan] Turn JSIntrinsicLowering into an AdvancedReducer.
mstarzinger [Tue, 19 May 2015 15:10:34 +0000 (08:10 -0700)]
[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}

9 years agoReapply "Resolve references to "this" the same way as normal variables""
wingo [Tue, 19 May 2015 14:51:10 +0000 (07:51 -0700)]
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}

9 years agoWhitespace change to test new test suite.
Michael Achenbach [Tue, 19 May 2015 14:44:15 +0000 (16:44 +0200)]
Whitespace change to test new test suite.

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

9 years ago[destructuring] Implement initializers in patterns.
dslomov [Tue, 19 May 2015 14:29:50 +0000 (07:29 -0700)]
[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}

9 years agoRemoved project_bases_legacy_from_git_repo_url from V8
sergiyb [Tue, 19 May 2015 14:05:55 +0000 (07:05 -0700)]
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}

9 years agoAnother regression test for resolving references to "this" in strict mode.
ishell [Tue, 19 May 2015 12:52:02 +0000 (05:52 -0700)]
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}

9 years ago[test] Make test as flaky
machenbach [Tue, 19 May 2015 11:51:02 +0000 (04:51 -0700)]
[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}

9 years agoMake the snapshot a public dependency of v8.
brettw [Tue, 19 May 2015 11:36:37 +0000 (04:36 -0700)]
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}

9 years agoFix has_pending_exception logic in API's Array::CloneElementAt
jkummerow [Tue, 19 May 2015 11:35:02 +0000 (04:35 -0700)]
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}

9 years agoAdjust benchmark framework to avoid spending 50% of time on 'new Date'
erikcorry [Tue, 19 May 2015 11:19:53 +0000 (04:19 -0700)]
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}

9 years agoUpdate safe_math_impl.h
jkummerow [Tue, 19 May 2015 11:09:09 +0000 (04:09 -0700)]
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}

9 years agoAdding api to get last gc object statistics for chrome://tracing.
ssid [Tue, 19 May 2015 11:01:41 +0000 (04:01 -0700)]
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}

9 years agoRevert of Reapply "Resolve references to "this" the same way as normal variables...
wingo [Tue, 19 May 2015 10:58:01 +0000 (03:58 -0700)]
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}

9 years agoReland "MIPS: Add float instructions and test coverage, part one"
Djordje.Pesic [Tue, 19 May 2015 10:35:24 +0000 (03:35 -0700)]
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}

9 years agoMIPS: [turbofan] Support Float[32|64]Min and Float[32|64]Max.
balazs.kilvady [Tue, 19 May 2015 10:22:13 +0000 (03:22 -0700)]
MIPS: [turbofan] Support Float[32|64]Min and Float[32|64]Max.

MIPS64r6 and MIPS32r6 support for min and max and Float64Max machine operators.

BUG=

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

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

9 years agoAdding ecmascript simd tests.
bradnelson [Tue, 19 May 2015 10:14:49 +0000 (03:14 -0700)]
Adding ecmascript simd tests.

Relying on the polyfill for now.

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

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

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

9 years agoX87: Reapply "Resolve references to "this" the same way as normal variables""
chunyang.dai [Tue, 19 May 2015 10:05:35 +0000 (03:05 -0700)]
X87: Reapply "Resolve references to "this" the same way as normal variables""

port 1efc1e4f7a3d30d5225e9d5cb2585cad7cb17099 (r28458).

original commit message:

  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

BUG=

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

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

9 years ago[turbofan] Turn JSTypedLowering into an AdvancedReducer.
mstarzinger [Tue, 19 May 2015 09:57:54 +0000 (02:57 -0700)]
[turbofan] Turn JSTypedLowering 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/1134303003

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

9 years agoX87: Now that vector ics are established for load, keyed load and call ics, let's...
chunyang.dai [Tue, 19 May 2015 09:56:41 +0000 (02:56 -0700)]
X87: Now that vector ics are established for load, keyed load and call ics, let's remove dead code behind the flag.

port 323ced9e272e234d19db13d407b5bb9da266681d (r28422).

original commit message:

BUG=

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

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

9 years ago[turbofan] Carefully update frame states during inlining.
bmeurer [Tue, 19 May 2015 09:11:30 +0000 (02:11 -0700)]
[turbofan] Carefully update frame states during inlining.

During inlining we should pay attention to only rewire the outer frame
states of the inlinee, but leave any inner frame states of the inlinee
untouched.  Otherwise we might run into trouble once we start caching
graphs, or do getter/setter inlining.

R=jarin@chromium.org

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

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