platform/upstream/v8.git
9 years agoDebugger: require debugger to be active when dealing with breaks.
yangguo [Tue, 16 Jun 2015 07:11:11 +0000 (00:11 -0700)]
Debugger: require debugger to be active when dealing with breaks.

This invariant will save us some head ache.
The changes to test-debug/DebugStub is due to the fact that it abuses
the ability to set break points in code that has no debug break slots.
This is now no longer possible.

R=ulan@chromium.org
BUG=v8:4132
LOG=N

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

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

9 years ago[deoptimizer] Use TranslationIterator for OptimizedFrame again.
bmeurer [Tue, 16 Jun 2015 06:04:42 +0000 (23:04 -0700)]
[deoptimizer] Use TranslationIterator for OptimizedFrame again.

Using TranslatedState and friends is too expensive compared to the low
level TranslationIterator, because some code (i.e. in Speedometer)
depends on the OptimizedFrame summary/function listing to be very fast.

BUG=chromium:499338
LOG=n
R=jarin@chromium.org

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

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

9 years ago[turbofan] Remove dead code from JSGenericLowering.
mstarzinger [Tue, 16 Jun 2015 04:01:56 +0000 (21:01 -0700)]
[turbofan] Remove dead code from JSGenericLowering.

R=bmeurer@chromium.org

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 16 Jun 2015 03:26:23 +0000 (20:26 -0700)]
Update V8 DEPS.

Rolling v8/build/gyp to 79de4031069f37870f04e8b6bbf42f0c7fec37aa

Rolling v8/tools/clang to 66ba82eea5b4e2309c220cc3e0f2d67ebc3fff4c

TBR=machenbach@chromium.org

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

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

9 years agoMIPS: Fix for Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right...
paul.lind [Tue, 16 Jun 2015 02:29:29 +0000 (19:29 -0700)]
MIPS: Fix for Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right operand.

Fix a missed addiu->Addu, and a bad default use of 'at' register in https://codereview.chromium.org/1185143002/

TEST=test/mjsunit/regress/regress-500176
BUG=chromium:500176
LOG=N

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

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

9 years agoInline code generation for %_IsTypedArray
littledan [Mon, 15 Jun 2015 22:16:33 +0000 (15:16 -0700)]
Inline code generation for %_IsTypedArray

This patch implements %_IsTypedArray in fullcodegen, Hydrogen and
Turbofan in order to implement fast type checks to enable ES6
TypedArray features and semantics efficiently.

R=adamk,titzer
LOG=Y
BUG=v8:4085

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

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

9 years agoAvoid using computed property literals in TypedArrays code
littledan [Mon, 15 Jun 2015 21:11:05 +0000 (14:11 -0700)]
Avoid using computed property literals in TypedArrays code

Computed property literals don't seem to work in nosnap yet,
leading to a syntax error.

R=adamk,arv

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

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

9 years agoAllow TypedArrays to be initialized with iterables
littledan [Mon, 15 Jun 2015 18:54:27 +0000 (11:54 -0700)]
Allow TypedArrays to be initialized with iterables

In ES6, the TypedArray constructor can be called either with an
array-like object or an iterable. The code previously handled
only array-like objects. This patch switches to supporting
iterables while throwing in an optimization to make Arrays
get allocated the old way, without an extra copy.

BUG=v8:4090
LOG=Y
R=adamk

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

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

9 years agoMIPS: Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right operand.
dusan.milosavljevic [Mon, 15 Jun 2015 17:58:30 +0000 (10:58 -0700)]
MIPS: Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right operand.

TEST=test/mjsunit/regress/regress-500176
BUG=chromium:500176
LOG=N

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

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

9 years ago[destructuring] Parse binding patterns in formal parameters.
dslomov [Mon, 15 Jun 2015 17:06:34 +0000 (10:06 -0700)]
[destructuring] Parse binding patterns in formal parameters.

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

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

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

9 years ago[turbofan] Remove the TryLowerDirectJSCall hack from generic lowering.
bmeurer [Mon, 15 Jun 2015 14:06:11 +0000 (07:06 -0700)]
[turbofan] Remove the TryLowerDirectJSCall hack from generic lowering.

The TryLowerDirectJSCall method tried to lower to a direct JavaScript
function call depending on the type of the receiver, but only if the
target is a cosntant JSFunction. Since this depends on types and is not
required for correctness, it shouldn't be part of generic lowering
anyway. So this functionality was moved to typed lowering instead, and
we use proper types for the target instead.

R=mstarzinger@chromium.org

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

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

9 years agoRemove the --collect-maps flag. Maps should be always collected.
ulan [Mon, 15 Jun 2015 12:28:31 +0000 (05:28 -0700)]
Remove the --collect-maps flag. Maps should be always collected.

Reasons:
- It is not used.
- It complicates code in GC.

BUG=chromium:499713
LOG=NO

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

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

9 years ago[strong] Make strong 'this' optional for experimentation
rossberg [Mon, 15 Jun 2015 12:22:33 +0000 (05:22 -0700)]
[strong] Make strong 'this' optional for experimentation

R=arv@chromium.org, conradw@chromium.org
BUG=v8:3956
LOG=N

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

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

9 years ago[turbofan] Remove context canonicalization hack from generic lowering.
bmeurer [Mon, 15 Jun 2015 12:21:28 +0000 (05:21 -0700)]
[turbofan] Remove context canonicalization hack from generic lowering.

This hack doesn't help currently, since it only applies to asm.js where
we do function context specialization and there we already have a
canonicalized context (and the CodeGenerator materializes that from the
frame).

R=mstarzinger@chromium.org

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

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

9 years agoMIPS64: Reland 'Enable shorten-64-to-32 warning.'
balazs.kilvady [Mon, 15 Jun 2015 12:05:08 +0000 (05:05 -0700)]
MIPS64: Reland 'Enable shorten-64-to-32 warning.'

Port cdc43bc5fd02fff2905e2e28a79054d0d1eee3ea

Original review: https://codereview.chromium.org/1133163005/

Original commit message:
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
that arise.

BUG=

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

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

9 years agoFix -Wsign-compare errors in TF tests under GCC 4.9.2
wingo [Mon, 15 Jun 2015 12:03:34 +0000 (05:03 -0700)]
Fix -Wsign-compare errors in TF tests under GCC 4.9.2

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

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

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

9 years agoRevert of Fix clobbered register when setting this_function variable. (patchset ...
machenbach [Mon, 15 Jun 2015 11:56:09 +0000 (04:56 -0700)]
Revert of Fix clobbered register when setting this_function variable. (patchset #2 id:20001 of https://codereview.chromium.org/1185703002/)

Reason for revert:
[Sheriff] Makes mjsunit/es6/block-const-assign flaky, e.g.:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/4082

Original issue's description:
> Fix clobbered register when setting this_function variable.
>
> R=arv@chromium.org
> TEST=mjsunit/regress/regress-crbug-498022
> BUG=chromium:498022
> LOG=N
>
> Committed: https://crrev.com/bf2bbc8ba508ccd21edf3c08d2e4192c4764ae91
> Cr-Commit-Position: refs/heads/master@{#29020}

TBR=arv@chromium.org,rossberg@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:498022

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

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

9 years ago[mjsunit] regress/regress-crbug-491062 takes too long with --always-opt.
bmeurer [Mon, 15 Jun 2015 10:27:17 +0000 (03:27 -0700)]
[mjsunit] regress/regress-crbug-491062 takes too long with --always-opt.

R=ishell@chromium.org

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

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

9 years agoFix clobbered register when setting this_function variable.
mstarzinger [Mon, 15 Jun 2015 10:18:45 +0000 (03:18 -0700)]
Fix clobbered register when setting this_function variable.

R=arv@chromium.org
TEST=mjsunit/regress/regress-crbug-498022
BUG=chromium:498022
LOG=N

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

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

9 years agoFix debug printing of inputs in the deoptimizer, pull out printing into separate...
jarin [Mon, 15 Jun 2015 10:14:28 +0000 (03:14 -0700)]
Fix debug printing of inputs in the deoptimizer, pull out printing into separate methods.

Also fixed the duplicated output of context deopt.

BUG=

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

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

9 years ago[mjsunit] Remove unsupported flag --turbo-deoptimization from tests.
bmeurer [Mon, 15 Jun 2015 09:42:57 +0000 (02:42 -0700)]
[mjsunit] Remove unsupported flag --turbo-deoptimization from tests.

R=svenpanne@chromium.org

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

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

9 years ago[mjsunit] Remove obsolete nosse2 tests.
bmeurer [Mon, 15 Jun 2015 09:31:50 +0000 (02:31 -0700)]
[mjsunit] Remove obsolete nosse2 tests.

R=svenpanne@chromium.org

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

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

9 years agoSerializer: clear string hash for code serializer.
yangguo [Mon, 15 Jun 2015 08:41:13 +0000 (01:41 -0700)]
Serializer: clear string hash for code serializer.

R=jochen@chromium.org
BUG=v8:4179
LOG=N

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

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

9 years agoCompute the heap growing factor based on mutator utilization and allocation throughput.
ulan [Mon, 15 Jun 2015 08:32:52 +0000 (01:32 -0700)]
Compute the heap growing factor based on mutator utilization and allocation throughput.

Doc: https://goo.gl/LLGvBs

BUG=

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

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

9 years agoReland "Keep track of array buffers in new space separately"
jochen [Mon, 15 Jun 2015 07:57:32 +0000 (00:57 -0700)]
Reland "Keep track of array buffers in new space separately"

Original review https://codereview.chromium.org/1133773002/

BUG=v8:3996
TBR=hpayer@chromium.org
LOG=n

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

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

9 years agoUpdate V8 DEPS.
machenbach [Mon, 15 Jun 2015 07:53:55 +0000 (00:53 -0700)]
Update V8 DEPS.

Rolling v8/third_party/android_tools to ed3dde6470c39b196c70f0c20374894d169754ec

Resubmission of https://codereview.chromium.org/1183753006/

TBR=ulan@chromium.org

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

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

9 years agoAdd test for code caching API.
yangguo [Mon, 15 Jun 2015 06:36:55 +0000 (23:36 -0700)]
Add test for code caching API.

R=vogelheim@chromium.org

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

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

9 years ago[turbofan] Mark MachineType as uint16_t.
bmeurer [Mon, 15 Jun 2015 06:27:10 +0000 (23:27 -0700)]
[turbofan] Mark MachineType as uint16_t.

This fixes a few funky implicit conversions for the enum (that are
inconsistent across compilers) and also helps to save space, i.e. for
the representations_ vector in the InstructionSequence.

R=svenpanne@chromium.org

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

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

9 years ago[turbofan] Remove unused typedef VirtualRegisterSet.
bmeurer [Mon, 15 Jun 2015 06:07:45 +0000 (23:07 -0700)]
[turbofan] Remove unused typedef VirtualRegisterSet.

TBR=svenpanne@chromium.org

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

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

9 years agoRevert of Reland "Keep track of array buffers in new space separately" (patchset...
jochen [Sun, 14 Jun 2015 18:23:17 +0000 (11:23 -0700)]
Revert of Reland "Keep track of array buffers in new space separately" (patchset #2 id:20001 of https://codereview.chromium.org/1177083003/)

Reason for revert:
Still broken

Original issue's description:
> Reland "Keep track of array buffers in new space separately"
>
> Original review https://codereview.chromium.org/1133773002/
>
> BUG=v8:3996
> TBR=hpayer@chromium.org
> LOG=n
>
> Committed: https://crrev.com/89b9a2cfb317e52186f682c91502b22932d52db3
> Cr-Commit-Position: refs/heads/master@{#28987}

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

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

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

9 years agoAlso handle elements in *RealNamed* api methods
verwaest [Sat, 13 Jun 2015 11:16:00 +0000 (04:16 -0700)]
Also handle elements in *RealNamed* api methods

Apparently the *RealNamed* API methods only have named variants, but were always used by the embedder to find elements as well. We'd never find them though, since we wouldn't even look
there.

This CL ensures we check whether the name is actually an array index.

I guess for all named API functions we should assume they are used similar to o["name"] where name could also be a number... At least we should make it uniform between embedder and V8. This matches us up with their expectations for now...

BUG=v8:4137
LOG=n

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 13 Jun 2015 03:25:05 +0000 (20:25 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to bb23ac0328fd3d051fc2f5ff027c8e0f87cc6fb5

TBR=machenbach@chromium.org

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

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

9 years agoRemove some unused definitions from d8.h
binji [Fri, 12 Jun 2015 19:40:58 +0000 (12:40 -0700)]
Remove some unused definitions from d8.h

BUG=none
LOG=n

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

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

9 years agoCurrently on X87 platform we use only Double register (stack register) for Turbofan...
chunyang.dai [Fri, 12 Jun 2015 17:22:48 +0000 (10:22 -0700)]
Currently on X87 platform we use only Double register (stack register) for Turbofan. So we directly
use 1 as allocatable Double register number when setting up the default register configuration..

It does not change the double register configuration of other platforms.

BUG=v8:4135
LOG=N

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

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

9 years agoIntroduce LookupIterator::PropertyOrElement which converts name to index if possible.
verwaest [Fri, 12 Jun 2015 16:30:03 +0000 (09:30 -0700)]
Introduce LookupIterator::PropertyOrElement which converts name to index if possible.

BUG=v8:4137
LOG=n

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

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

9 years agoX87: Disable the test case for X87 since ea2cb139d.
chunyang.dai [Fri, 12 Jun 2015 15:22:29 +0000 (08:22 -0700)]
X87: Disable the test case for X87 since ea2cb139d.

      The strong-object-set-proto test cases will throw one expected exception
      and the exception message should include the source position in the JS
      file. But crankshaft compiler does not generate the source position for
      it when creating the flow graph by default. The source position information
      is always zero. So it failed when comparing with the reference file.

      If we use crankshaft compiler on IA32 platform to run this test case, it
      has the same failure.

      we will open these test case for x87 once turbofan for X87 is enabled.

BUG=

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

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

9 years agoIntroduce DefineOwnPropertyIgnoreAttributes and make it call SetPropertyWithInterceptor.
verwaest [Fri, 12 Jun 2015 14:13:56 +0000 (07:13 -0700)]
Introduce DefineOwnPropertyIgnoreAttributes and make it call SetPropertyWithInterceptor.

Otherwise using Object.defineProperty with window.localStorage will not actually store the value into the database but on the object itself.

BUG=v8:4137
LOG=n

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

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

9 years ago[test] More debugging output in test runner.
machenbach [Fri, 12 Jun 2015 13:43:52 +0000 (06:43 -0700)]
[test] More debugging output in test runner.

Also use again the taskkill method, recently removed in
https://codereview.chromium.org/1156133006/

BUG=chromium:485932
LOG=n
TBR=jkummerow@chromium.org
NOTREECHECKS=true

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

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

9 years agoReland of Replace SetObjectProperty / DefineObjectProperty with less powerful alterna...
verwaest [Fri, 12 Jun 2015 12:39:32 +0000 (05:39 -0700)]
Reland of Replace SetObjectProperty / DefineObjectProperty with less powerful alternatives where relevant. (patchset #3 id:40001 of https://codereview.chromium.org/1178503004/)

BUG=v8:4137
LOG=n

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

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

9 years agoMap::TryUpdate() must be in sync with Map::Update().
ishell [Fri, 12 Jun 2015 12:36:36 +0000 (05:36 -0700)]
Map::TryUpdate() must be in sync with Map::Update().

This CL fixes elements kind transitions handling in Map::TryUpdate().

BUG=v8:4121
LOG=Y

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

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

9 years agoAdd script context with context-allocated "const this"
wingo [Fri, 12 Jun 2015 12:34:10 +0000 (05:34 -0700)]
Add script context with context-allocated "const this"

This is a reapplication of https://codereview.chromium.org/1173333004.

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

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

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

9 years ago[turbofan] Use appropriate type for NodeId.
bmeurer [Fri, 12 Jun 2015 12:03:03 +0000 (05:03 -0700)]
[turbofan] Use appropriate type for NodeId.

Up until now we used int32_t for NodeId, but that was not ideal because
negative values are invalid for NodeId and we use it as an array index
for example in the NodeMarker class, where C++ compilers on x64 have to
generate code that does proper sign extension for the indices, which is
completely unnecessary.

R=svenpanne@chromium.org

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

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

9 years agoRevert of Add script context with context-allocated "const this" (patchset #2 id...
wingo [Fri, 12 Jun 2015 11:53:03 +0000 (04:53 -0700)]
Revert of Add script context with context-allocated "const this" (patchset #2 id:20001 of https://codereview.chromium.org/1173333004/)

Reason for revert:
nosnap failure

Original issue's description:
> Add script context with context-allocated "const this"
>
> This is a reapplication of https://codereview.chromium.org/1179893002/.
>
> R=rossberg@chromium.org,mstarzinger@chromium.org
> LOG=N
> BUG=498811
>
> Committed: https://crrev.com/cfc764f4050edc74aef92daa4c39ccc113893968
> Cr-Commit-Position: refs/heads/master@{#28994}

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

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

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

9 years agoMIPS64: Fix memory allocation when code range is used for LO space only.
dusan.milosavljevic [Fri, 12 Jun 2015 11:42:06 +0000 (04:42 -0700)]
MIPS64: Fix memory allocation when code range is used for LO space only.

Allocation must respect requested reserve size, not requested commit area size.

Additionally fix check failures in debug mode for mips64.
After CL: https://codereview.chromium.org/1147503002/
memory for large code objects is allocated from code range,
memory for regular code objects is allocated normally.

TEST=cctest/test-spaces/MemoryChunk
BUG=

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

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

9 years agoAdd script context with context-allocated "const this"
wingo [Fri, 12 Jun 2015 11:11:13 +0000 (04:11 -0700)]
Add script context with context-allocated "const this"

This is a reapplication of https://codereview.chromium.org/1179893002/.

R=rossberg@chromium.org,mstarzinger@chromium.org
LOG=N
BUG=498811

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

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

9 years ago[turbofan] Move RawMachineAssembler to unittests.
bmeurer [Fri, 12 Jun 2015 10:33:13 +0000 (03:33 -0700)]
[turbofan] Move RawMachineAssembler to unittests.

R=mstarzinger@chromium.org

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

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

9 years agoRevert of Add script context with context-allocated "const this" (patchset #7 id...
machenbach [Fri, 12 Jun 2015 10:07:22 +0000 (03:07 -0700)]
Revert of Add script context with context-allocated "const this" (patchset #7 id:120001 of https://codereview.chromium.org/1179893002/)

Reason for revert:
[Sheriff] Breaks gc mole:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gcmole/builds/2435

Original issue's description:
> Add script context with context-allocated "const this"
>
> R=rossberg@chromium.org
> LOG=N
> BUG=498811
>
> Committed: https://crrev.com/fa32d461c16a053cc6d48d3fb326016bc2765765
> Cr-Commit-Position: refs/heads/master@{#28988}

TBR=rossberg@chromium.org,mstarzinger@chromium.org,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=498811

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

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

9 years agoRevert of MIPS64: Enable shorten-64-to-32 warning. (patchset #12 id:240001 of https...
yangguo [Fri, 12 Jun 2015 09:58:23 +0000 (02:58 -0700)]
Revert of MIPS64: Enable shorten-64-to-32 warning. (patchset #12 id:240001 of https://codereview.chromium.org/1133163005/)

Reason for revert:
Compile failure: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Mac64%20-%20debug/builds/3070/steps/compile/logs/stdio

Original issue's description:
> MIPS64: Enable shorten-64-to-32 warning.
>
> Port cdc43bc5fd02fff2905e2e28a79054d0d1eee3ea
>
> Original commit message:
> Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
> that arise.
>
> BUG=
>
> Committed: https://crrev.com/9af578a7c83b58a0ce25345998d9287cbf2030cb
> Cr-Commit-Position: refs/heads/master@{#28990}

TBR=danno@chromium.org,martyn.capewell@arm.com,paul.lind@imgtec.com,akos.palfi@imgtec.com,dusan.milosavljevic@imgtec.com,jkummerow@chromium.org,machenbach@chromium.org,svenpanne@chromium.org,balazs.kilvady@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

9 years agoMIPS64: Enable shorten-64-to-32 warning.
balazs.kilvady [Fri, 12 Jun 2015 09:39:54 +0000 (02:39 -0700)]
MIPS64: Enable shorten-64-to-32 warning.

Port cdc43bc5fd02fff2905e2e28a79054d0d1eee3ea

Original commit message:
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
that arise.

BUG=

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

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

9 years agoExternal snapshot: allow empty snapshot for external snapshot.
yangguo [Fri, 12 Jun 2015 09:36:58 +0000 (02:36 -0700)]
External snapshot: allow empty snapshot for external snapshot.

R=vogelheim@chromium.org

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

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

9 years agoAdd script context with context-allocated "const this"
wingo [Fri, 12 Jun 2015 09:35:50 +0000 (02:35 -0700)]
Add script context with context-allocated "const this"

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

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

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

9 years agoReland "Keep track of array buffers in new space separately"
jochen [Fri, 12 Jun 2015 09:34:38 +0000 (02:34 -0700)]
Reland "Keep track of array buffers in new space separately"

Original review https://codereview.chromium.org/1133773002/

BUG=v8:3996
TBR=hpayer@chromium.org
LOG=n

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

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

9 years agoWhitespace change to test infra clean-ups.
Michael Achenbach [Fri, 12 Jun 2015 09:25:38 +0000 (11:25 +0200)]
Whitespace change to test infra clean-ups.

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

9 years agoUpdate PrintStack signature in gdbinit
jochen [Fri, 12 Jun 2015 08:35:41 +0000 (01:35 -0700)]
Update PrintStack signature in gdbinit

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

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

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

9 years agoAdd support for walking stack frames from hydrogen stubs
jochen [Fri, 12 Jun 2015 08:27:51 +0000 (01:27 -0700)]
Add support for walking stack frames from hydrogen stubs

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

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

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

9 years ago[turbofan] Inline hot functions for NodeMarkerBase.
Benedikt Meurer [Fri, 12 Jun 2015 08:04:58 +0000 (10:04 +0200)]
[turbofan] Inline hot functions for NodeMarkerBase.

R=jarin@chromium.org

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

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

9 years agoWhitespace change to test infra clean-ups.
Michael Achenbach [Fri, 12 Jun 2015 07:20:06 +0000 (09:20 +0200)]
Whitespace change to test infra clean-ups.

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

9 years agoRevert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium...
machenbach [Fri, 12 Jun 2015 06:49:33 +0000 (23:49 -0700)]
Revert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium.org/1182513002/)

Reason for revert:
[Sheriff] Speculative revert for changing layout tests:
https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_32/379/layout-test-results/results.html

Exact blame assignment is not possible as our blink bots were in a bad state for a few builds.

Original issue's description:
> [es6] Bound function names
>
> https://people.mozilla.org/~jorendorff/es6-draft.html#sec-function.prototype.bind
>
> Bound functions should have a name based on the function that was
> bound.
>
> BUG=N
> LOG=N
> R=adamk   CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/4e2a673881c55a13124dd62f2d05c8d9fe233cd3
> Cr-Commit-Position: refs/heads/master@{#28968}

TBR=adamk@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N

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

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

9 years ago[turbofan] Use RootIndexMap to speed up IsMaterializableFromRoot predicate.
bmeurer [Fri, 12 Jun 2015 06:30:56 +0000 (23:30 -0700)]
[turbofan] Use RootIndexMap to speed up IsMaterializableFromRoot predicate.

R=jarin@chromium.org

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

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

9 years agoRevert of Keep track of array buffers in new space separately (patchset #4 id:60001...
bmeurer [Fri, 12 Jun 2015 06:29:04 +0000 (23:29 -0700)]
Revert of Keep track of array buffers in new space separately (patchset #4 id:60001 of https://codereview.chromium.org/1133773002/)

Reason for revert:
GC stress unhappy

Original issue's description:
> Keep track of array buffers in new space separately
>
> BUG=v8:3996
> R=hpayer@chromium.org
> LOG=n
>
> Committed: https://crrev.com/506397d0a4241c19f5fab890e49e22d1d9b28bdc
> Cr-Commit-Position: refs/heads/master@{#28978}

TBR=hpayer@chromium.org,jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996

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

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

9 years agoKeep track of array buffers in new space separately
jochen [Fri, 12 Jun 2015 05:35:24 +0000 (22:35 -0700)]
Keep track of array buffers in new space separately

BUG=v8:3996
R=hpayer@chromium.org
LOG=n

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

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

9 years agoReland [arm64][turbofan]: Handle any immediate shift.
jacob.bramley [Fri, 12 Jun 2015 05:03:01 +0000 (22:03 -0700)]
Reland [arm64][turbofan]: Handle any immediate shift.

With this patch, we can generate simple immediate-shift instructions for
immediates outside the range "0 <= imm < width". Several related
instruction selectors have also been updated accordingly.

Example of generated code:

    ---- Before ---         ---- After ----
    movz w0, #33            lsr w0, w1, #1
    lsr  w0, w1, w0

BUG=

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

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

9 years ago[turbofan] Prefer add/shift over madd on ARM64
martyn.capewell [Fri, 12 Jun 2015 05:00:59 +0000 (22:00 -0700)]
[turbofan] Prefer add/shift over madd on ARM64

Before selecting multiply-accumulate for a multiplication with add operation,
check that the multiply can't be reduced to add-with-shift. This prevents
simple multiplications by 3, 5, etc turning into register moves and madd
instructions.

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

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

9 years ago[turbofan] Fix throwing conversion inserted by JSTypedLowering.
mstarzinger [Fri, 12 Jun 2015 04:42:04 +0000 (21:42 -0700)]
[turbofan] Fix throwing conversion inserted by JSTypedLowering.

This fixes the graph wiring of implicit JSToNumber nodes inserted by
JSTypedLowering, to be correctly hooked into a surrounding exceptional
continuation.

R=bmeurer@chromium.org
TEST=mjsunit/compiler/try-binop,test262

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 12 Jun 2015 03:27:11 +0000 (20:27 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to 8b3ed2cb2e2512fa1074043cea3ada1143b80f26

TBR=machenbach@chromium.org

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

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

9 years agoUse LookupIterator in GetOldValue
verwaest [Thu, 11 Jun 2015 23:02:32 +0000 (16:02 -0700)]
Use LookupIterator in GetOldValue

BUG=v8:4137
LOG=n

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

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

9 years agoAdd ToObject call in Array.prototype.sort
dehrenberg [Thu, 11 Jun 2015 21:43:08 +0000 (14:43 -0700)]
Add ToObject call in Array.prototype.sort

The spec says ToObject is called on the receiver, and this is
observable if you call sort on a primitive. This patch trivially
adds the call and a test.

BUG=v8:4125
R=adamk
LOG=Y

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

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

9 years ago[es6] Make sure we call add property when adding a new property
arv [Thu, 11 Jun 2015 21:24:31 +0000 (14:24 -0700)]
[es6] Make sure we call add property when adding a new property

When setting a property using `super.prop = val` we need to use
add property if we are adding a new property and not set property.

BUG=493566
LOG=N
R=verwaest@chromium.org, dslomov@chromium.org

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

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

9 years agoRemove ASSERT, this method can handle ExternalArrays just fine.
Toon Verwaest [Thu, 11 Jun 2015 20:46:26 +0000 (22:46 +0200)]
Remove ASSERT, this method can handle ExternalArrays just fine.

BUG=v8:4137
LOG=n
R=arv@chromium.org

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

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

9 years agoIn Array.of and Array.from, fall back to DefineOwnProperty
dehrenberg [Thu, 11 Jun 2015 20:40:54 +0000 (13:40 -0700)]
In Array.of and Array.from, fall back to DefineOwnProperty

%AddElement is not intended for objects which are not arrays, and
its behavior may go away with future refactorings. This patch gets
rid of it if the receiver of from or of is not the intrinsic Array
object.

Array.of and Array.from previously papered over failures in calling
[[DefineOwnProperty]] when setting array elements. This patch
makes them lead to exceptions, and adds tests to assert that
the appropriate exceptions are thrown.

BUG=v8:4168
R=adamk
CC=rossberg,verwaest
LOG=Y

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

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

9 years ago[es6] Bound function names
arv [Thu, 11 Jun 2015 20:36:37 +0000 (13:36 -0700)]
[es6] Bound function names

https://people.mozilla.org/~jorendorff/es6-draft.html#sec-function.prototype.bind

Bound functions should have a name based on the function that was
bound.

BUG=N
LOG=N
R=adamk   CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

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

9 years agoReland of Use the LookupIterator in SetAccessor (patchset #1 id:1 of https://coderevi...
verwaest [Thu, 11 Jun 2015 20:20:46 +0000 (13:20 -0700)]
Reland of Use the LookupIterator in SetAccessor (patchset #1 id:1 of https://codereview.chromium.org/1175323004/)

Reason: Didn't break anything

Original issue's description:
> Revert of Use the LookupIterator in SetAccessor (patchset #2 id:20001 of https://codereview.chromium.org/1178673003/)
>
> Reason for revert:
> Blocks reverting of https://codereview.chromium.org/1175973002
>
> Original issue's description:
> > Use the LookupIterator in SetAccessor
> >
> > BUG=v8:4137
> > LOG=n
> >
> > Committed: https://crrev.com/f93276bfe093f576595c5dcac69cf8f9163915d9
> > Cr-Commit-Position: refs/heads/master@{#28955}
>
> TBR=jkummerow@chromium.org,verwaest@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:4137
>
> Committed: https://crrev.com/11dbd29de57b290ee8dac2a782a53f879beb416f
> Cr-Commit-Position: refs/heads/master@{#28956}

TBR=jkummerow@chromium.org,ishell@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4137

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

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

9 years agoRevert of Revert of Remove GetAttributes from the mix to avoid another virtual dispat...
verwaest [Thu, 11 Jun 2015 20:17:25 +0000 (13:17 -0700)]
Revert of Revert of Remove GetAttributes from the mix to avoid another virtual dispatch. (patchset #1 id:1 of https://codereview.chromium.org/1179933002/)

Reason for revert:
Reland, this didn't break anything.

Original issue's description:
> Revert of Remove GetAttributes from the mix to avoid another virtual dispatch. (patchset #2 id:40001 of https://codereview.chromium.org/1175973002/)
>
> Reason for revert:
> It broke webkit_unit_tests
>
> Original issue's description:
> > Remove GetAttributes from the mix to avoid another virtual dispatch.
> >
> > BUG=chromium:495949,v8:4137
> > LOG=n
> >
> > Committed: https://crrev.com/2269b8b5a696bf4eef13590093151bff624d4175
> > Cr-Commit-Position: refs/heads/master@{#28953}
>
> TBR=verwaest@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:495949,v8:4137
>
> Committed: https://crrev.com/ae639d2ad646237e2f413259a0f116845ef96440
> Cr-Commit-Position: refs/heads/master@{#28958}

TBR=ishell@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:495949,v8:4137

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

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

9 years agoRestore ExecutableAccessorInfoHandling for now
Toon Verwaest [Thu, 11 Jun 2015 20:14:46 +0000 (22:14 +0200)]
Restore ExecutableAccessorInfoHandling for now

BUG=v8:4137
LOG=n
R=ishell@chromium.org

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

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

9 years agoDecompiler improvements.
mtrofin [Thu, 11 Jun 2015 20:10:27 +0000 (13:10 -0700)]
Decompiler improvements.

The main motivation is simplifying profiling activities:

1) Use hex instead of decimal for offsets, just like perf does. This
affects --print-opt-code

2) When printing block information, indicate loop information: if
block is header, where the end is; if block is in a loop, where the
loop starts. This affects --code-comments.

Using --print-opt-code --code-comments, and cross-referencing with data
obtained from perf, one may now find the block a hotspot belongs to
without needing to do hex2dec/dec2hex conversions. Once found, loop info
is available locally, on the block.

BUG=

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

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

9 years agoUse LookupIterator for elements in the observed part of DefineAccessor
verwaest [Thu, 11 Jun 2015 20:09:19 +0000 (13:09 -0700)]
Use LookupIterator for elements in the observed part of DefineAccessor

BUG=v8:4137
LOG=n

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

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

9 years agoUse LookupIterator for elements in GetAccessor
verwaest [Thu, 11 Jun 2015 20:08:11 +0000 (13:08 -0700)]
Use LookupIterator for elements in GetAccessor

BUG=v8:4137
LOG=n

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

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

9 years agoBound functions should also have configurable length
arv [Thu, 11 Jun 2015 20:07:03 +0000 (13:07 -0700)]
Bound functions should also have configurable length

BUG=v8:4116
LOG=N
R=adamk@chromium.org

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

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

9 years agoPPC: smi test optimization
dstence [Thu, 11 Jun 2015 20:05:55 +0000 (13:05 -0700)]
PPC: smi test optimization

R=mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

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

9 years agoReconfigure on the right holder, which might be a hidden object.
Toon Verwaest [Thu, 11 Jun 2015 18:51:48 +0000 (20:51 +0200)]
Reconfigure on the right holder, which might be a hidden object.

BUG=v8:4137
LOG=n
R=ishell@chromium.org

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

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

9 years agoRevert of Remove GetAttributes from the mix to avoid another virtual dispatch. (patch...
ishell [Thu, 11 Jun 2015 17:25:22 +0000 (10:25 -0700)]
Revert of Remove GetAttributes from the mix to avoid another virtual dispatch. (patchset #2 id:40001 of https://codereview.chromium.org/1175973002/)

Reason for revert:
It broke webkit_unit_tests

Original issue's description:
> Remove GetAttributes from the mix to avoid another virtual dispatch.
>
> BUG=chromium:495949,v8:4137
> LOG=n
>
> Committed: https://crrev.com/2269b8b5a696bf4eef13590093151bff624d4175
> Cr-Commit-Position: refs/heads/master@{#28953}

TBR=verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:495949,v8:4137

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

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

9 years agoRevert of Replace SetObjectProperty / DefineObjectProperty with less powerful alterna...
ishell [Thu, 11 Jun 2015 17:21:11 +0000 (10:21 -0700)]
Revert of Replace SetObjectProperty / DefineObjectProperty with less powerful alternatives where relevant. (patchset #3 id:40001 of https://codereview.chromium.org/1178503004/)

Reason for revert:
Blocks revert of https://codereview.chromium.org/1175973002

Original issue's description:
> Replace SetObjectProperty / DefineObjectProperty with less powerful alternatives where relevant.
>
> @yangguo: please look at the debugger part of the CL.
> @ishell: please look at the rest.
>
> Additionally:
> - Ensure the LookupIterator for named properties does not accidentally get indexes in.
> - Fix the return value for typed array assignments to be the incoming value.
>
> BUG=v8:4137
> LOG=n
>
> Committed: https://crrev.com/15aa811f8fe2708a757c3b53ca89db736aa8b222
> Cr-Commit-Position: refs/heads/master@{#28954}

TBR=yangguo@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4137

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

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

9 years agoRevert of Use the LookupIterator in SetAccessor (patchset #2 id:20001 of https:/...
ishell [Thu, 11 Jun 2015 17:19:57 +0000 (10:19 -0700)]
Revert of Use the LookupIterator in SetAccessor (patchset #2 id:20001 of https://codereview.chromium.org/1178673003/)

Reason for revert:
Blocks reverting of https://codereview.chromium.org/1175973002

Original issue's description:
> Use the LookupIterator in SetAccessor
>
> BUG=v8:4137
> LOG=n
>
> Committed: https://crrev.com/f93276bfe093f576595c5dcac69cf8f9163915d9
> Cr-Commit-Position: refs/heads/master@{#28955}

TBR=jkummerow@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4137

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

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

9 years agoUse the LookupIterator in SetAccessor
verwaest [Thu, 11 Jun 2015 17:03:50 +0000 (10:03 -0700)]
Use the LookupIterator in SetAccessor

BUG=v8:4137
LOG=n

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

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

9 years agoReplace SetObjectProperty / DefineObjectProperty with less powerful alternatives...
verwaest [Thu, 11 Jun 2015 16:37:35 +0000 (09:37 -0700)]
Replace SetObjectProperty / DefineObjectProperty with less powerful alternatives where relevant.

@yangguo: please look at the debugger part of the CL.
@ishell: please look at the rest.

Additionally:
- Ensure the LookupIterator for named properties does not accidentally get indexes in.
- Fix the return value for typed array assignments to be the incoming value.

BUG=v8:4137
LOG=n

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

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

9 years agoRemove GetAttributes from the mix to avoid another virtual dispatch.
verwaest [Thu, 11 Jun 2015 16:07:20 +0000 (09:07 -0700)]
Remove GetAttributes from the mix to avoid another virtual dispatch.

BUG=chromium:495949,v8:4137
LOG=n

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

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

9 years agoX87: [strong] Refactor ObjectStrength into a replacement for strong boolean args
cdai2 [Thu, 11 Jun 2015 16:00:39 +0000 (00:00 +0800)]
X87:  [strong] Refactor ObjectStrength into a replacement for strong boolean args

port dd8544495109804c632bfbcefc3c5c701e0a8c43 (r28839)

original commit message:

    Boolean "is_strong" parameters have begun to proliferate across areas where
    strong mode semantics are different. This CL repurposes the existing
    ObjectStrength enum as a replacement for them.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Vector ICs: ClassLiterals need to allocate a vector slot for home objects.
cdai2 [Thu, 11 Jun 2015 15:59:33 +0000 (23:59 +0800)]
X87: Vector ICs: ClassLiterals need to allocate a vector slot for home objects.

port b27016b78a7dd58dc682eed51500ba603b3e46b0 (r28827).

original commit message:

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Vector ICs: debugger should save registers for vector store ics.
cdai2 [Thu, 11 Jun 2015 15:57:33 +0000 (23:57 +0800)]
X87: Vector ICs: debugger should save registers for vector store ics.

port bd32a9f711cb14c2b7c34512d43e78bd24960124 (r28825).

original commit message:

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Refactor lexical home object binding.
cdai2 [Thu, 11 Jun 2015 15:54:09 +0000 (23:54 +0800)]
X87: Refactor lexical home object binding.

port 345fa142a9fca4b468417350ac26f61101d626e8 (r28802).

    port of r28769 overwrite some of r28802 so we port them again.

original commit message:

    Before this we had 3 super related lexical bindings that got injected
    into method bodies: .home_object, .this_function,  and new.target.
    With this change we get rid of the .home_object one in favor of using
    .this_function[home_object_symbol] which allows some simplifications
    throughout the code base.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: [date] Refactor the %_DateField intrinsic to be optimizable.
cdai2 [Thu, 11 Jun 2015 15:51:34 +0000 (23:51 +0800)]
X87: [date] Refactor the %_DateField intrinsic to be optimizable.

port e4782a9b468258344d512a5f7dadbf1584928849 (r28782)

original commit message:

    Previously the %_DateField intrinsic would also check the object and
    throw an exception if you happen to pass something that is not a valid
    JSDate, which (a) violates our policy for instrinsics and (b) is hard to
    optimize in TurboFan (even Crankshaft has a hard time, but there we will
    never inline the relevant builtins, so it doesn't show up). The throwing
    part is now a separate intrinsics %_ThrowIfNotADate that throws an
    exception in full codegen and deoptimizes in Crankshaft, which means the
    code for the current use cases is roughly the same (modulo some register
    renamings/gap moves).

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoFix GCMole issue
Toon Verwaest [Thu, 11 Jun 2015 15:41:08 +0000 (17:41 +0200)]
Fix GCMole issue

BUG=
R=ishell@chromium.org

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

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

9 years agoUse the LookupIterator for SetElement and friends
verwaest [Thu, 11 Jun 2015 15:07:00 +0000 (08:07 -0700)]
Use the LookupIterator for SetElement and friends

BUG=v8:4137
LOG=n

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

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

9 years ago[turbofan] Merge sar/shr into MulHigh on ARM64
martyn.capewell [Thu, 11 Jun 2015 14:49:59 +0000 (07:49 -0700)]
[turbofan] Merge sar/shr into MulHigh on ARM64

Merge a following arithmetic or logical right shift into the existing shift
of ARM64's Int32MulHigh or Uint32MulHigh code.

BUG=

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

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

9 years agoRevert of [arm64][turbofan]: Handle any immediate shift. (patchset #1 id:1 of https...
jacob.bramley [Thu, 11 Jun 2015 14:46:31 +0000 (07:46 -0700)]
Revert of [arm64][turbofan]: Handle any immediate shift. (patchset #1 id:1 of https://codereview.chromium.org/1179733004/)

Reason for revert:
Breaks InstructionSelectorTest.Word64ShrWithWord64AndWithImmediate on debug builds (but not optdebug builds). I'll investigate.

Original issue's description:
> [arm64][turbofan]: Handle any immediate shift.
>
> With this patch, we can generate simple immediate-shift instructions for
> immediates outside the range "0 <= imm < width". Several related
> instruction selectors have also been updated accordingly.
>
> Example of generated code:
>
>     ---- Before ---         ---- After ----
>     movz w0, #33            lsr w0, w1, #1
>     lsr  w0, w1, w0
>
> BUG=
>
> Committed: https://crrev.com/36d771bbfa4af5efcc1c1dcf5b234445cb7ee722
> Cr-Commit-Position: refs/heads/master@{#28943}

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

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

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

9 years ago[arm64][turbofan]: Handle any immediate shift.
jacob.bramley [Thu, 11 Jun 2015 13:50:51 +0000 (06:50 -0700)]
[arm64][turbofan]: Handle any immediate shift.

With this patch, we can generate simple immediate-shift instructions for
immediates outside the range "0 <= imm < width". Several related
instruction selectors have also been updated accordingly.

Example of generated code:

    ---- Before ---         ---- After ----
    movz w0, #33            lsr w0, w1, #1
    lsr  w0, w1, w0

BUG=

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

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

9 years ago[turbofan] Materialize all from non-writable roots from root array.
bmeurer [Thu, 11 Jun 2015 12:42:42 +0000 (05:42 -0700)]
[turbofan] Materialize all from non-writable roots from root array.

R=jarin@chromium.org

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

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

9 years ago[test] Skip slow test.
machenbach [Thu, 11 Jun 2015 12:25:50 +0000 (05:25 -0700)]
[test] Skip slow test.

NOTRY=true

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

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

9 years ago[turbofan] Structure AccessBuilder interface a bit.
mstarzinger [Thu, 11 Jun 2015 12:21:55 +0000 (05:21 -0700)]
[turbofan] Structure AccessBuilder interface a bit.

R=bmeurer@chromium.org

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

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

9 years agoAlways print external time in --trace-gc to make it toolable.
hpayer [Thu, 11 Jun 2015 12:20:47 +0000 (05:20 -0700)]
Always print external time in --trace-gc to make it toolable.

BUG=

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

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