platform/upstream/v8.git
9 years agoconvert remaining object functions to maybes
dcarney [Wed, 4 Mar 2015 12:58:31 +0000 (04:58 -0800)]
convert remaining object functions to maybes

BUG=v8:3929
LOG=y

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

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

9 years agoDefault-enable external startup data for Linux for stand-alone builds.
vogelheim [Wed, 4 Mar 2015 12:21:52 +0000 (04:21 -0800)]
Default-enable external startup data for Linux for stand-alone builds.

Notes:
- Other platforms to follow later.
- This follows Chromium practice, that mostly uses this feature these days.
- The statically linked-in startup data will stay. So whoever prefers
  the old way just needs to set the flag differently.

Reland crrev.com/959693002, once crrev.com/960883003 is in.

R=machenbach@chromium.org
BUG=

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

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

9 years agoARM: Load undefined receiver sentinel without constant pool
erikcorry [Wed, 4 Mar 2015 11:02:21 +0000 (03:02 -0800)]
ARM: Load undefined receiver sentinel without constant pool

Each call to emit_32 uses 5 constant pool slots:
* the "emit_32" string
* undefined (the receiver)
* the argument (heap number)
* the load IC
* the call IC

This change cuts that down 20% to 4, by loading the undefined from the heap roots.

R=verwaest@chromium.org
BUG=

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

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

9 years agoFix Initialize & Dispose for external snapshot. Make sure v8::V8::(Initialize|Dispose...
vogelheim [Wed, 4 Mar 2015 10:37:47 +0000 (02:37 -0800)]
Fix Initialize & Dispose for external snapshot. Make sure v8::V8::(Initialize|Dispose) can be called in any order.

This is a follow-on to crrev.com/960883003, which fixed a memory leak in this code, but uncovered another, more subtle bug:

Previously, the code expected you would v8::V8::Initialize once, and v8::V8::Dispose once. The first bug was that in this case the holder_ variable would point to deallocated memory. The second bug was that once the snapshot was disposed, there was no way to get it back on a future Initialize. These are uncovered by the InitializeAndDisposeMultiple test case.

The fix is to keep memory to the raw snapshot and to then cleanly build & destroy the tables in Initialize & Dispose. Since sometimes setNativesBlob is called just after Initialize, that situation must be handled, too.

BUG=

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

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

9 years agoThe Global Load IC doesn't yet play well with --vector-ics.
mvstanton [Wed, 4 Mar 2015 09:41:12 +0000 (01:41 -0800)]
The Global Load IC doesn't yet play well with --vector-ics.

Until this is addressed, we can simply use the regular IC, as we do
in times of serialization.

R=verwaest@chromium.org

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

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

9 years agoWhen using ninja and clang, make sure diagnostics are colored.
thakis [Wed, 4 Mar 2015 05:56:03 +0000 (21:56 -0800)]
When using ninja and clang, make sure diagnostics are colored.

BUG=none
LOG=N

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

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

9 years agoUse Rotate*() functions instead of doing this manually.
thakis [Wed, 4 Mar 2015 05:53:05 +0000 (21:53 -0800)]
Use Rotate*() functions instead of doing this manually.

Shouldn't make a difference in practice, but it's a bit more readable and it
gets the case of a 0 shift correct without undefined behavior.

BUG=463436
LOG=N

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

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

9 years agoARM assembler: fix undefined behaviour in fits_shifter
hans [Wed, 4 Mar 2015 03:13:30 +0000 (19:13 -0800)]
ARM assembler: fix undefined behaviour in fits_shifter

Bit-shifts have undefined behaviour if the shift amount is greater
or equal to the width of the type.

In this case the code would do imm32 >> 32 when rot == 0.

A newer version of Clang unrolled the loop, optimized the first
iteration away, causing the test suite to fail with:

  #
  # Fatal error in ../src/arm/assembler-arm.cc, line 1212
  # Check failed: !rn.is(ip).
  #

as well as crashing when running Chromium tests on Android (at least
we think this was the cause, see the bug).

BUG=463436, 444089
LOG=Y

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

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

9 years agoRevert of [x86] Use better left operand heuristic for Float64Add and Float64Mul....
bmeurer [Tue, 3 Mar 2015 19:18:40 +0000 (11:18 -0800)]
Revert of [x86] Use better left operand heuristic for Float64Add and Float64Mul. (patchset #1 id:1 of https://codereview.chromium.org/958583003/)

Reason for revert:
Tanks on Atom and Haswell

Original issue's description:
> [x86] Use better left operand heuristic for Float64Add and Float64Mul.
>
> R=dcarney@chromium.org
>
> Committed: https://crrev.com/9da259fb1f4ecfefeb2cf7efbe449d8aa1904032
> Cr-Commit-Position: refs/heads/master@{#26849}

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

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

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

9 years agoImplement subclassing Arrays.
dslomov [Tue, 3 Mar 2015 18:44:53 +0000 (10:44 -0800)]
Implement subclassing Arrays.

R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y

Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}

Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
Cr-Commit-Position: refs/heads/master@{#26963}

Committed: https://crrev.com/0705045b50a29cf1273e9e6b86fe6a627d8dcb43
Cr-Commit-Position: refs/heads/master@{#26966}

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

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

9 years ago[es6] Fix for-const loops
rossberg [Tue, 3 Mar 2015 18:34:30 +0000 (10:34 -0800)]
[es6] Fix for-const loops

R=dslomov@chromium.org
BUG=3983
LOG=Y

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

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

9 years ago[turbofan] Disable test-run-jsexceptions/DeoptFinallyReturn
mstarzinger [Tue, 3 Mar 2015 18:32:33 +0000 (10:32 -0800)]
[turbofan] Disable test-run-jsexceptions/DeoptFinallyReturn

Reason for disabling failure on ARM64 simulator in no-snap mode.

TBR=dslomov@chromium.org
TEST=cctest/test-run-jsexceptions/DeoptFinallyReturn
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoRevert of Implement subclassing Arrays. (patchset #8 id:130001 of https://codereview...
dslomov [Tue, 3 Mar 2015 17:48:05 +0000 (09:48 -0800)]
Revert of Implement subclassing Arrays. (patchset #8 id:130001 of https://codereview.chromium.org/975463002/)

Reason for revert:
Arm compilation again.

Aaaarrrrrghhhhhh!!!

Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}
>
> Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
> Cr-Commit-Position: refs/heads/master@{#26963}
>
> Committed: https://crrev.com/0705045b50a29cf1273e9e6b86fe6a627d8dcb43
> Cr-Commit-Position: refs/heads/master@{#26966}

TBR=arv@chromium.org,mvstanton@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930

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

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

9 years ago[turbofan] Add test coverage for deopt within try-catch.
mstarzinger [Tue, 3 Mar 2015 17:23:31 +0000 (09:23 -0800)]
[turbofan] Add test coverage for deopt within try-catch.

This just contains test, no fixes. Note that some of the tests are
still disabled because they either fail or we don't want ClusterFuzz
to pick up the flag yet.

R=jarin@chromium.org
TEST=cctest/test-run-jsexceptions/Deopt,mjsunit/compiler/try-deopt

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

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

9 years agoMIPS: Move stack unwinding logic into the runtime.
balazs.kilvady [Tue, 3 Mar 2015 17:15:15 +0000 (09:15 -0800)]
MIPS: Move stack unwinding logic into the runtime.

Port 4acbc93dbfe338adb217f4971e914f77afe504d9

BUG=

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

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

9 years agoImplement subclassing Arrays.
dslomov [Tue, 3 Mar 2015 17:14:07 +0000 (09:14 -0800)]
Implement subclassing Arrays.

R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y

Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}

Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
Cr-Commit-Position: refs/heads/master@{#26963}

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

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

9 years agoRevert of Implement subclassing Arrays. (patchset #7 id:110001 of https://codereview...
dslomov [Tue, 3 Mar 2015 16:41:44 +0000 (08:41 -0800)]
Revert of Implement subclassing Arrays. (patchset #7 id:110001 of https://codereview.chromium.org/975463002/)

Reason for revert:
Arm buildre complains again (why v8_linux_arm_dbg does not complain?)

Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}
>
> Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
> Cr-Commit-Position: refs/heads/master@{#26963}

TBR=arv@chromium.org,mvstanton@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930

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

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

9 years agoUse locker when creating snapshot if necessary.
yangguo [Tue, 3 Mar 2015 16:14:04 +0000 (08:14 -0800)]
Use locker when creating snapshot if necessary.

R=vogelheim@chromium.org

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

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

9 years agoImplement subclassing Arrays.
dslomov [Tue, 3 Mar 2015 16:10:27 +0000 (08:10 -0800)]
Implement subclassing Arrays.

R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y

Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}

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

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

9 years agoSpeed up identifier, keyword and smi parsing
verwaest [Tue, 3 Mar 2015 15:27:46 +0000 (07:27 -0800)]
Speed up identifier, keyword and smi parsing

BUG=

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

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

9 years agoRevert of Implement subclassing Arrays. (patchset #6 id:90001 of https://codereview...
mvstanton [Tue, 3 Mar 2015 14:56:00 +0000 (06:56 -0800)]
Revert of Implement subclassing Arrays. (patchset #6 id:90001 of https://codereview.chromium.org/975463002/)

Reason for revert:
ARM build failure...

Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}

TBR=arv@chromium.org,rossberg@chromium.org,dslomov@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930

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

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

9 years agoImplement subclassing Arrays.
dslomov [Tue, 3 Mar 2015 13:40:29 +0000 (05:40 -0800)]
Implement subclassing Arrays.

R=mvstanton@chromium.org,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y

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

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

9 years ago[turbofan] Support inlining of unguarded loops.
bmeurer [Tue, 3 Mar 2015 13:09:49 +0000 (05:09 -0800)]
[turbofan] Support inlining of unguarded loops.

Also allow inlining of native functions.

R=mstarzinger@chromium.org

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

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

9 years ago[turbofan] Take type into account when determining Word32 phi representation.
jarin [Tue, 3 Mar 2015 12:23:08 +0000 (04:23 -0800)]
[turbofan] Take type into account when determining Word32 phi representation.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoMove stack unwinding logic into the runtime.
mstarzinger [Tue, 3 Mar 2015 12:03:04 +0000 (04:03 -0800)]
Move stack unwinding logic into the runtime.

R=jarin@chromium.org

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

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

9 years agoSpeed up parsing of smis
verwaest [Tue, 3 Mar 2015 11:04:49 +0000 (03:04 -0800)]
Speed up parsing of smis

BUG=

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

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

9 years agoFix preparing log file name.
sejunho [Tue, 3 Mar 2015 11:03:41 +0000 (03:03 -0800)]
Fix preparing log file name.

Problem:
Excuting with flags as "--prof --logfile-per-isolate --logfile=/path/to/filename"
expected file name: /path/to/isolate-<isolate id>-filename
current result: isolate-<isolate id>-/path/to/filename

This patch makes the file name we expected.

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

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

9 years agoDon't apply pointer multipler to heap sizes on Android.
rmcilroy [Tue, 3 Mar 2015 10:18:57 +0000 (02:18 -0800)]
Don't apply pointer multipler to heap sizes on Android.

Android doesn't have swap space so if the heap goes over the physical memory
size the system will just kill us. Applying the Heap::kPointerMultipler
to heap size could cause the max heap size to be larger than physical memory.
Instead use the defaults which are based on actual physical memory configured
by Api::ConfigureDefaults().

BUG=432909
LOG=N

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

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

9 years agoCpuProfiler: do not calculate positions if it is not necessary (TryInline part).
loislo [Tue, 3 Mar 2015 08:42:27 +0000 (00:42 -0800)]
CpuProfiler: do not calculate positions if it is not necessary (TryInline part).

TryInline needed position only for the case when we track positions.
We can drop the position argument and use the current position from GraphBuilder.
The only problem that it doesn't match with the inline point.
The reason of that was the fact that builder had moved the position forward by
visiting arguments expressions.

I fixed this by restoring the current positon in HOptimizedGraphBuilderWithPositions::Visit*

BUG=452067
LOG=n

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

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

9 years agoconvert more object functions to return maybes
dcarney [Tue, 3 Mar 2015 07:14:28 +0000 (23:14 -0800)]
convert more object functions to return maybes

R=svenpanne@chromium.org

BUG=v8:3929
LOG=y

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

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

9 years agoContribution of PowerPC port (continuation of 422063005) - currency
michael_dawson [Tue, 3 Mar 2015 07:04:41 +0000 (23:04 -0800)]
Contribution of PowerPC port (continuation of 422063005) - currency

Contribution of PowerPC port (continuation of 422063005817143002,
866843003, and 901083004. This patch updates the ppc directories
to make them current with changes in common code, removes the
optimization to use the ool constant pool, and excludes tests that
don't pass under the ppc simulator given a 240s timeout.

Subsequent patches will cover:
   - remaining optimizations for PPC
   - remaining AIX changes not resolved by 4.8 compiler (4.8 is only recently available for AIX)
   - incremental updates required to ppc directories due to platform specific changes made
    in google repos while we complete the above steps.

modified:   src/compiler/ppc/code-generator-ppc.cc
modified:   src/ic/ppc/handler-compiler-ppc.cc
modified:   src/ppc/assembler-ppc-inl.h
modified:   src/ppc/assembler-ppc.cc
modified:   src/ppc/assembler-ppc.h
modified:   src/ppc/builtins-ppc.cc
modified:   src/ppc/code-stubs-ppc.cc
modified:   src/ppc/debug-ppc.cc
modified:   src/ppc/deoptimizer-ppc.cc
modified:   src/ppc/frames-ppc.cc
modified:   src/ppc/frames-ppc.h
modified:   src/ppc/full-codegen-ppc.cc
modified:   src/ppc/lithium-codegen-ppc.cc
modified:   src/ppc/lithium-ppc.cc
modified:   src/ppc/lithium-ppc.h
modified:   src/ppc/macro-assembler-ppc.cc
modified:   src/ppc/macro-assembler-ppc.h
modified:   test/cctest/cctest.status
modified:   test/mjsunit/mjsunit.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

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

9 years ago[x64] Use movaps instead of movsd for the move between double registers.
weiliang.lin [Tue, 3 Mar 2015 06:34:15 +0000 (22:34 -0800)]
[x64] Use movaps instead of movsd for the move between double registers.

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

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

9 years ago[turbofan] Fix ControlFlowOptimizer to also handle non-control nodes in the control...
bmeurer [Tue, 3 Mar 2015 06:11:37 +0000 (22:11 -0800)]
[turbofan] Fix ControlFlowOptimizer to also handle non-control nodes in the control chain.

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

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

9 years agoX87: Prefill with correct contextual load ICs in fullcodegen.
chunyang.dai [Tue, 3 Mar 2015 05:55:58 +0000 (21:55 -0800)]
X87: Prefill with correct contextual load ICs in fullcodegen.

port 7ee31a2348c67ee09664519818c8feb61c82fedf (r26941).

original commit message:

  Compute correct contextual load ICs in fullcodegen.

BUG=

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

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

9 years agoTweak memory management in the serializer.
yangguo [Mon, 2 Mar 2015 19:57:39 +0000 (11:57 -0800)]
Tweak memory management in the serializer.

R=vogelheim@chromium.org

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

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

9 years agoMIPS: Compute correct contextual load ICs in fullcodegen.
Balazs Kilvady [Mon, 2 Mar 2015 17:17:23 +0000 (18:17 +0100)]
MIPS: Compute correct contextual load ICs in fullcodegen.

Port 7ee31a2348c67ee09664519818c8feb61c82fedf

BUG=
R=dusan.milosavljevic@imgtec.com

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

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

9 years agofix webkit tests
Dan Carney [Mon, 2 Mar 2015 15:49:37 +0000 (16:49 +0100)]
fix webkit tests

r26943 just moved the problem around

TBR=svenpanne@chromium.org
BUG=

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

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

9 years ago[turbofan] Normalize union of representation and range to a range.
Jaroslav Sevcik [Mon, 2 Mar 2015 14:35:15 +0000 (15:35 +0100)]
[turbofan] Normalize union of representation and range to a range.

BUG=
R=bmeurer@chromium.org

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

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

9 years agocheck for null context on execution entry
Dan Carney [Mon, 2 Mar 2015 14:17:11 +0000 (15:17 +0100)]
check for null context on execution entry

blink is incorrectly calling api functions without a context.  we need this to find those places

R=svenpanne@chromium.org

BUG=v8:3929
LOG=y

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

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

9 years ago[turbofan] Strength reduction of Word32And with Int32Mul.
Benedikt Meurer [Mon, 2 Mar 2015 13:53:53 +0000 (14:53 +0100)]
[turbofan] Strength reduction of Word32And with Int32Mul.

- (x * (K << L)) & (-1 << L) => x * (K << L)
- ((K << L) * x) & (-1 << L) => x * (K << L)

R=dcarney@chromium.org

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

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

9 years agoCompute correct contextual load ICs in fullcodegen.
Toon Verwaest [Mon, 2 Mar 2015 13:36:38 +0000 (14:36 +0100)]
Compute correct contextual load ICs in fullcodegen.

BUG=
R=dcarney@chromium.org

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

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

9 years agoconvert object::* to return maybe values
Dan Carney [Mon, 2 Mar 2015 13:13:18 +0000 (14:13 +0100)]
convert object::* to return maybe values

BUG=v8:3929
LOG=y
R=svenpanne@chromium.org

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

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

9 years ago[turbofan] Use the typer to statically detect Smis.
Benedikt Meurer [Mon, 2 Mar 2015 13:10:27 +0000 (14:10 +0100)]
[turbofan] Use the typer to statically detect Smis.

R=rossberg@chromium.org

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

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

9 years ago[turbofan] Fix deferred replacement in simplified lowering.
Jaroslav Sevcik [Mon, 2 Mar 2015 12:49:33 +0000 (13:49 +0100)]
[turbofan] Fix deferred replacement in simplified lowering.

Deferred replacement must also replace in the pending node vector.

BUG=chromium:463056
LOG=n
R=bmeurer@chromium.org

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

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

9 years agoRemoved funky Maybe constructor and made fields private.
Sven Panne [Mon, 2 Mar 2015 12:22:27 +0000 (13:22 +0100)]
Removed funky Maybe constructor and made fields private.

BUG=v8:3929
LOG=y
R=dcarney@chromium.org

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

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

9 years agoPolish Maybe API a bit, removing useless creativity and fixing some signatures.
Sven Panne [Mon, 2 Mar 2015 11:26:55 +0000 (12:26 +0100)]
Polish Maybe API a bit, removing useless creativity and fixing some signatures.

BUG=v8:3929
LOG=y
R=dcarney@chromium.org

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

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

9 years ago[x86] Improve code generation for context materialization.
Benedikt Meurer [Mon, 2 Mar 2015 09:09:33 +0000 (10:09 +0100)]
[x86] Improve code generation for context materialization.

On Intel targets, it is cheaper to load the context from the frame
instead of loading the context as a constant (which usually involves a
PropertyCell because the context is in new space when we compile the
function).

R=jarin@chromium.org

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

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

9 years ago[turbofan] Skip write barriers when storing smi.
Benedikt Meurer [Mon, 2 Mar 2015 09:08:46 +0000 (10:08 +0100)]
[turbofan] Skip write barriers when storing smi.

On 64-bit targets, we can skip the write barrier for Store nodes if the
input is ChangeInt32ToTagged, because the value being stored is
definitely represented as a smi then.

R=jarin@chromium.org

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

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

9 years agoRevert of ES6: Make function name configurable (patchset #10 id:220001 of https:...
arv [Mon, 2 Mar 2015 00:18:50 +0000 (16:18 -0800)]
Revert of ES6: Make function name configurable (patchset #10 id:220001 of https://codereview.chromium.org/960343002/)

Reason for revert:
Breaks Chrome browser test that checks Object.name

[16509:16509:0228/030150:INFO:CONSOLE(43)] "Uncaught Error: Clobbered Object.name getter", source: http://www.chromium.org:33611/assertions.js (43)

http://build.chromium.org/p/client.v8/builders/Linux%20Tests%20%28dbg%29%281%29/builds/2328/steps/browser_tests/logs/stdio

Original issue's description:
> ES6: Make function name configurable
>
> This is partially based on r21609 but that CL was incomplete.
>
> Function name is still non writable so one has to use defineProperty
> to change the actual value.
>
> BUG=v8:3333
> LOG=N
> R=adamk, mstarzinger@chromium.org
>
> Committed: https://crrev.com/f7790f7670c8d859455a98fcb90ff1b66af1eca7
> Cr-Commit-Position: refs/heads/master@{#26924}

TBR=adamk@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3333

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

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

9 years agoX87: Disallow subclassing Arrays.
cdai2 [Sat, 28 Feb 2015 01:35:03 +0000 (09:35 +0800)]
X87: Disallow subclassing Arrays.

port 290ee378ea44bda379cb3e1864631895c7dea774 (r26931).

original commit message:

UG=
R=weiliang.lin@intel.com

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

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

9 years agoDisallow subclassing Arrays.
dslomov [Sat, 28 Feb 2015 00:28:20 +0000 (16:28 -0800)]
Disallow subclassing Arrays.

R=rossberg@chromium.org,arv@chromium.org
BUG=v8:3930
LOG=Y

Committed: https://crrev.com/87f3e08e72510ee5544e82bb7ad39b2b5f001ad3
Cr-Commit-Position: refs/heads/master@{#26925}

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

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

9 years agoRevert of Disallow subclassing Arrays. (patchset #3 id:40001 of https://codereview...
dslomov [Fri, 27 Feb 2015 22:26:27 +0000 (14:26 -0800)]
Revert of Disallow subclassing Arrays. (patchset #3 id:40001 of https://codereview.chromium.org/962263002/)

Reason for revert:
Fails on nosnap build

Original issue's description:
> Disallow subclassing Arrays.
>
> R=rossberg@chromium.org,arv@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/87f3e08e72510ee5544e82bb7ad39b2b5f001ad3
> Cr-Commit-Position: refs/heads/master@{#26925}

TBR=arv@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930

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

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

9 years agoRevert of Regression test for v8:3930. (patchset #1 id:1 of https://codereview.chromi...
dslomov [Fri, 27 Feb 2015 22:24:32 +0000 (14:24 -0800)]
Revert of Regression test for v8:3930. (patchset #1 id:1 of https://codereview.chromium.org/961353002/)

Reason for revert:
Fails on nosnap builds

Original issue's description:
> Regression test for v8:3930.
>
> R=arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=N
>
> Committed: https://crrev.com/48fb3e83c5882e9818bc1e0a035864b465602aca
> Cr-Commit-Position: refs/heads/master@{#26926}

TBR=arv@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930

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

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

9 years agoMake the auto-pusher recover easier.
machenbach [Fri, 27 Feb 2015 22:23:25 +0000 (14:23 -0800)]
Make the auto-pusher recover easier.

The auto-push script is only used in an automated fashion
on bots. It doesn't need to check for a clean git
environment as it has a special workdir checkout.

If the release creation fails for whatever reason (e.g.
a master restart happens in the middle), the workdir
checkout might be left dirty. Any new attempt of the auto
pusher then bails out.

After this change it will call the create_release script
in any case which tidies up the workspace on startup.

TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py

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

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

9 years agoFix block-for test
arv [Fri, 27 Feb 2015 21:22:39 +0000 (13:22 -0800)]
Fix block-for test

The test didn't call the test function.

BUG=v8:3932
LOG=N
TBR=ulan@chromium.org

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

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

9 years agoRegression test for v8:3930.
dslomov [Fri, 27 Feb 2015 21:21:32 +0000 (13:21 -0800)]
Regression test for v8:3930.

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

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

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

9 years agoDisallow subclassing Arrays.
dslomov [Fri, 27 Feb 2015 20:17:55 +0000 (12:17 -0800)]
Disallow subclassing Arrays.

R=rossberg@chromium.org,arv@chromium.org
BUG=v8:3930
LOG=Y

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

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

9 years agoES6: Make function name configurable
arv [Fri, 27 Feb 2015 19:28:55 +0000 (11:28 -0800)]
ES6: Make function name configurable

This is partially based on r21609 but that CL was incomplete.

Function name is still non writable so one has to use defineProperty
to change the actual value.

BUG=v8:3333
LOG=N
R=adamk, mstarzinger@chromium.org

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

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

9 years agoRemove trailing enum comma, I see arm compile failures due to this
ricow [Fri, 27 Feb 2015 18:42:43 +0000 (10:42 -0800)]
Remove trailing enum comma, I see arm compile failures due to this

R=yangguo@chromium.org
BUG=

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

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

9 years agoStage ES6 computed property names
arv [Fri, 27 Feb 2015 18:09:34 +0000 (10:09 -0800)]
Stage ES6 computed property names

BUG=v8:3754
LOG=N
R=dslomov@chromium.org, rossberg@chromium.org

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

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

9 years agoCreate ImportDeclarations for default imports.
adamk [Fri, 27 Feb 2015 18:05:56 +0000 (10:05 -0800)]
Create ImportDeclarations for default imports.

BUG=v8:1569
LOG=n

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

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

9 years agoAllow lookup of module exports by export name.
adamk [Fri, 27 Feb 2015 18:04:46 +0000 (10:04 -0800)]
Allow lookup of module exports by export name.

This required fixing the exports_ hash map to use the appropriate
comparison function instead of pointer comparison.

BUG=v8:1569
LOG=n

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

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

9 years agoAvoid repeating code when creating builtins.
bratell [Fri, 27 Feb 2015 15:21:42 +0000 (07:21 -0800)]
Avoid repeating code when creating builtins.

InstallBuiltinFunctionIds stood out when looking at code that grew
strangely when compiled with default optimizations.

This change from repeated code to a loop saves 6-7 KB of machine code.
I suspect it's faster but I also suspect it's fast enough either way so
that is not really a factor. Machine code reduction seen below.

Code formatted with git cl format.

clang x64:
Total change: -5985 bytes
-------------------------------------------
 +517 - Source: ?? - (gained 744, lost 227)
-------------------------------------------
  New symbols:
       +744: v8::internal::Genesis::InstallBuiltinFunctionIds()::builtins type=d, size=744 bytes
  Removed symbols:
         -4: .L.str98 type=r, size=4 bytes
... [stripped 30 similar lines]
        -19: .L.str100 type=r, size=19 bytes

----------------------------------------------------------------------------------------------
 -6502 - Source: /home/bratell/src/chromium/src/v8/src/bootstrapper.cc - (gained 0, lost 6502)
----------------------------------------------------------------------------------------------
  Removed symbols:
      -1135: v8::internal::ResolveBuiltinIdHolder(v8::internal::Handle<v8::internal::Context>, char const*) type=t, size=1135 bytes
  Shrunk symbols:
      -5367: v8::internal::Genesis::InstallBuiltinFunctionIds() type=t, (was 7105 bytes, now 1738 bytes)

BUG=

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

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

9 years agoUpdate V8 DEPS.
machenbach [Fri, 27 Feb 2015 15:00:18 +0000 (07:00 -0800)]
Update V8 DEPS.

Rolling v8/buildtools to 93b3d0af1b30db55ee42bd2e983f7753153217db

Rolling v8/tools/clang to eb87c73202018d13f2f713e1304ab4edf9a6f49f

TBR=jochen@chromium.org

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

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

9 years agoFix for mips64 after #26916
loislo [Fri, 27 Feb 2015 14:12:25 +0000 (06:12 -0800)]
Fix for mips64 after #26916

BUG=
TBR=svenpanne

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

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

9 years agoCpuProfiler: replace raw position with SourcePosition for DeoptReason
loislo [Fri, 27 Feb 2015 13:34:23 +0000 (05:34 -0800)]
CpuProfiler: replace raw position with SourcePosition for DeoptReason

Save Unknown position as zero in RelocInfo.
Remove copy constructor of SourcePosition because it is trivial.
Mechanical replace int raw_position with SourcePosition position.

BUG=452067
LOG=n

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

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

9 years agoensure host compiler is always clang when cross compiling from linux
dcarney [Fri, 27 Feb 2015 13:25:02 +0000 (05:25 -0800)]
ensure host compiler is always clang when cross compiling from linux

BUG=

Committed: https://crrev.com/56039af476797accc238dcb24c7ab926899287a0
Cr-Commit-Position: refs/heads/master@{#26881}

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

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

9 years agoconvert Value::*Value() function to return Maybe results
dcarney [Fri, 27 Feb 2015 13:04:34 +0000 (05:04 -0800)]
convert Value::*Value() function to return Maybe results

BUG=v8:3929
LOG=Y

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

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

9 years agoRemove obsolete Isolate::DoThrow helper.
mstarzinger [Fri, 27 Feb 2015 11:15:35 +0000 (03:15 -0800)]
Remove obsolete Isolate::DoThrow helper.

R=bmeurer@chromium.org

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

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

9 years agoConvert v8::Value::To* to use MaybeLocal
dcarney [Fri, 27 Feb 2015 10:39:25 +0000 (02:39 -0800)]
Convert v8::Value::To* to use MaybeLocal

BUG=v8:3929
LOG=y

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

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

9 years ago[turbofan] Avoid generating dead BooleanNot nodes in typed lowering.
bmeurer [Fri, 27 Feb 2015 10:24:57 +0000 (02:24 -0800)]
[turbofan] Avoid generating dead BooleanNot nodes in typed lowering.

Without this shortcut we generate one BooleanNot per JSUnaryNot with
number input, which is quite common in asm.js. These dead nodes then
survive until the late control reducer runs, and may prevent
optimizations in the mean time.

R=dcarney@chromium.org

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

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

9 years ago[turbofan] Properly unlink dead nodes in simplified lowering.
bmeurer [Fri, 27 Feb 2015 09:37:37 +0000 (01:37 -0800)]
[turbofan] Properly unlink dead nodes in simplified lowering.

R=jarin@chromium.org

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

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

9 years agoMIPS: Skip the mapcheck on the global object since the global proxy and cell are...
balazs.kilvady [Fri, 27 Feb 2015 09:15:27 +0000 (01:15 -0800)]
MIPS: Skip the mapcheck on the global object since the global proxy and cell are already checked (or the global object map for contextual global loads).

Port 6af7ca6be4cd768b3326f0b8c32d4fbc3baa20c8

BUG=

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

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

9 years agoX87: Skip the mapcheck on the global object since the global proxy and cell are alrea...
chunyang.dai [Fri, 27 Feb 2015 08:09:15 +0000 (00:09 -0800)]
X87: Skip the mapcheck on the global object since the global proxy and cell are already checked

port 6af7ca6be4cd768b3326f0b8c32d4fbc3baa20c8 (r26886)

original commit message:

  Skip the mapcheck on the global object since the global proxy and cell are already
  checked (or the global object map for contextual global loads).

BUG=

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

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

9 years ago[x64] Make r12 allocatable.
bmeurer [Fri, 27 Feb 2015 08:03:57 +0000 (00:03 -0800)]
[x64] Make r12 allocatable.

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

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

9 years agoAdd the corresponding change for turbofan unsupported port.
chunyang.dai [Fri, 27 Feb 2015 07:39:37 +0000 (23:39 -0800)]
Add the corresponding change for turbofan unsupported port.

 this is introduced by 88c4f52cb27474989a646d6c9433bbab3e55f8ae (r26783)

BUG=

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

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

9 years agoX87: Only dynamically perform access checks on the receiver if it's a JSGlobalProxy.
cdai2 [Fri, 27 Feb 2015 07:31:45 +0000 (15:31 +0800)]
X87: Only dynamically perform access checks on the receiver if it's a JSGlobalProxy.

port e9cdcb71743200e7dd18b0be62f764aa53729c63 (r26875)

original commit message:
  Only dynamically perform access checks on the receiver if it's a JSGlobalProxy.
  Proxies up the chain are guaranteed to provide access if we had access to the receiver,
  since otherwise we wouldn't have been able to compile the stub in the first place.
  If the security check would change, the window navigates, changing the map of the JSGlobalProxy.

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Move Maps' back pointers from "transitions" to "constructor" field.
cdai2 [Fri, 27 Feb 2015 07:02:59 +0000 (15:02 +0800)]
X87: Move Maps' back pointers from "transitions" to "constructor" field.

port affcfaf42801414d25b3e57271a9803a026f40ed (r26835).

original commit message:

  Move Maps' back pointers from "transitions" to "constructor" field

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoX87: Stop using HeapType in IC and Crankshaft.
cdai2 [Fri, 27 Feb 2015 07:01:54 +0000 (15:01 +0800)]
X87: Stop using HeapType in IC and Crankshaft.

port 119cb5661724006b736fcb6484258c752125e372 (r26696).

original commit message:

  Stop using HeapType in IC and Crankshaft

BUG=
R=weiliang.lin@intel.com

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

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

9 years agoTest StringLengthStub generation via TurboFan.
svenpanne [Fri, 27 Feb 2015 06:56:44 +0000 (22:56 -0800)]
Test StringLengthStub generation via TurboFan.

For now we just use the RawMachineAssembler, this will be changed
later to use the whole TurboFan pipeline.

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

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

9 years agoAdd the dummy implementation for turbofan unsupported port.
chunyang.dai [Fri, 27 Feb 2015 05:54:13 +0000 (21:54 -0800)]
Add the dummy implementation for turbofan unsupported port.

  This is introduced by acd9c46ca7a0ada723d717f2545fd484c824eaa2 (r26691).

BUG=

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

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

9 years agoRevert of Also skip when the target is the global object (patchset #1 id:1 of https...
machenbach [Thu, 26 Feb 2015 21:04:11 +0000 (13:04 -0800)]
Revert of Also skip when the target is the global object (patchset #1 id:1 of https://codereview.chromium.org/961723002/)

Reason for revert:
Breaks unscopables and fix attempt needed to be reverted too.

Original issue's description:
> Also skip when the target is the global object
>
> BUG=
>
> Committed: https://crrev.com/cc918d30b9d586ce974b71232473f2ae3c5e7847
> Cr-Commit-Position: refs/heads/master@{#26887}

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

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

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

9 years agoRevert of Invalidate the global property cell when converting from data to accessor...
machenbach [Thu, 26 Feb 2015 21:03:02 +0000 (13:03 -0800)]
Revert of Invalidate the global property cell when converting from data to accessor. (patchset #1 id:1 of https://codereview.chromium.org/961003002/)

Reason for revert:
Breaks gc stress, e.g.: http://build.chromium.org/p/client.v8/builders/V8%20GC%20Stress%20-%201/builds/2322

Original issue's description:
> Invalidate the global property cell when converting from data to accessor.
>
> BUG=
> TBR=jkummerow@chromium.org,
>
> Committed: https://crrev.com/6a12dc240b1faffa500ff269077d832ecc74239d
> Cr-Commit-Position: refs/heads/master@{#26896}

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

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

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

9 years agoRevert of MIPS: Also skip when the target is the global object. (patchset #1 id:1...
machenbach [Thu, 26 Feb 2015 21:01:54 +0000 (13:01 -0800)]
Revert of MIPS: Also skip when the target is the global object. (patchset #1 id:1 of https://codereview.chromium.org/957413002/)

Reason for revert:
Need to revert the ported CL.

Original issue's description:
> MIPS: Also skip when the target is the global object.
>
> Port cc918d30b9d586ce974b71232473f2ae3c5e7847
>
> BUG=
>
> Committed: https://crrev.com/b24a0efa447235e11b9ff9d1eeaada06131b2e04
> Cr-Commit-Position: refs/heads/master@{#26897}

TBR=danno@chromium.org,verwaest@chromium.org,paul.lind@imgtec.com,gergely.kis@imgtec.com,akos.palfi@imgtec.com,dusan.milosavljevic@imgtec.com,balazs.kilvady@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

9 years agoMIPS: Also skip when the target is the global object.
balazs.kilvady [Thu, 26 Feb 2015 19:30:42 +0000 (11:30 -0800)]
MIPS: Also skip when the target is the global object.

Port cc918d30b9d586ce974b71232473f2ae3c5e7847

BUG=

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

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

9 years agoInvalidate the global property cell when converting from data to accessor.
verwaest [Thu, 26 Feb 2015 18:48:48 +0000 (10:48 -0800)]
Invalidate the global property cell when converting from data to accessor.

BUG=
TBR=jkummerow@chromium.org,

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

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

9 years agoRe-introduce ImportDeclaration to the parser
adamk [Thu, 26 Feb 2015 18:40:50 +0000 (10:40 -0800)]
Re-introduce ImportDeclaration to the parser

This also adds a new VariableMode, IMPORT, which will be
used to do appropriate binding for Import-declared Variables.

Only named imports are handled for now. "import *" and default
import syntaxes have had their TODOs adjusted to match the new
code structure.

BUG=v8:1569
LOG=n

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

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

9 years agoMIPS: Only dynamically perform access checks on the receiver if it's a JSGlobalProxy.
balazs.kilvady [Thu, 26 Feb 2015 18:39:30 +0000 (10:39 -0800)]
MIPS: Only dynamically perform access checks on the receiver if it's a JSGlobalProxy.

Port e9cdcb71743200e7dd18b0be62f764aa53729c63

Original commit message:
Proxies up the chain are guaranteed to provide access if we had access to the receiver, since otherwise we wouldn't have been able to compile the stub in the first place. If the security check would change, the window navigates, changing the map of the JSGlobalProxy.

BUG=

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

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

9 years agoRevert "Revert of Fix memory leak caused by field type in descriptor array."
ulan [Thu, 26 Feb 2015 18:38:17 +0000 (10:38 -0800)]
Revert "Revert of Fix memory leak caused by field type in descriptor array."

This reverts commit b57be748b175695be2507cedf3423b59b9d6cd20 and
disables the test/mjsunit/debug-clearbreakpointgroup.js because
BreakLocationIterator::ClearBreakPoint is already broken for unrelated reasons (see v8:3924).

BUG=v8:3877
LOG=N
TEST=cctest/test-heap/Regress3877

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

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

9 years agoFix issue with class name TDZ in computed property names
arv [Thu, 26 Feb 2015 18:36:59 +0000 (10:36 -0800)]
Fix issue with class name TDZ in computed property names

BUG=v8:3923
LOG=N
R=marja,rossberg

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

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

9 years agoStore weak cell cache for map in the map itself.
ulan [Thu, 26 Feb 2015 18:35:50 +0000 (10:35 -0800)]
Store weak cell cache for map in the map itself.

BUG=

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

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

9 years agoRemove RecordTypeFeedback() methods from some AST classes and move into typing.cc.
titzer [Thu, 26 Feb 2015 18:34:41 +0000 (10:34 -0800)]
Remove RecordTypeFeedback() methods from some AST classes and move into typing.cc.

R=mvstanton@chromium.org
BUG=

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

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

9 years agoFix memory leak in natives-external.
vogelheim [Thu, 26 Feb 2015 18:33:33 +0000 (10:33 -0800)]
Fix memory leak in natives-external.

(Discovered when landing crrev.com/959693002)

R=jochen@chromium.org
BUG=

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

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

9 years agoMIPS64: Optimize generated code size for deoptimization table entry.
dusan.milosavljevic [Thu, 26 Feb 2015 18:32:26 +0000 (10:32 -0800)]
MIPS64: Optimize generated code size for deoptimization table entry.

Reuse optimization introduced in 6dee8884.

TEST=
BUG=

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

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

9 years agoAlso skip when the target is the global object
verwaest [Thu, 26 Feb 2015 15:29:07 +0000 (07:29 -0800)]
Also skip when the target is the global object

BUG=

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

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

9 years agoSkip the mapcheck on the global object since the global proxy and cell are already...
verwaest [Thu, 26 Feb 2015 15:12:01 +0000 (07:12 -0800)]
Skip the mapcheck on the global object since the global proxy and cell are already checked (or the global object map for contextual global loads).

BUG=

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

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

9 years agoRevert of Default-enable external startup data for Linux for stand-alone builds....
vogelheim [Thu, 26 Feb 2015 15:10:09 +0000 (07:10 -0800)]
Revert of Default-enable external startup data for Linux for stand-alone builds. (patchset #1 id:1 of https://codereview.chromium.org/959693002/)

Reason for revert:
Breaks "Simple Leaks Check"

Original issue's description:
> Default-enable external startup data for Linux for stand-alone builds.
>
> Notes:
> - Other platforms to follow later.
> - This follows Chromium practice, that mostly uses this feature these days.
> - The statically linked-in startup data will stay. So whoever prefers
>   the old way just needs to set the flag differently.
>
> BUG=
>
> Committed: https://crrev.com/6d0dcaabe55ca3556bebfd771fbc7fd560fdd4e0
> Cr-Commit-Position: refs/heads/master@{#26884}

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

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

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

9 years agoDefault-enable external startup data for Linux for stand-alone builds.
vogelheim [Thu, 26 Feb 2015 14:55:18 +0000 (06:55 -0800)]
Default-enable external startup data for Linux for stand-alone builds.

Notes:
- Other platforms to follow later.
- This follows Chromium practice, that mostly uses this feature these days.
- The statically linked-in startup data will stay. So whoever prefers
  the old way just needs to set the flag differently.

BUG=

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

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

9 years agoRevert of Fix memory leak caused by field type in descriptor array. (patchset #3...
marja [Thu, 26 Feb 2015 14:46:01 +0000 (06:46 -0800)]
Revert of Fix memory leak caused by field type in descriptor array. (patchset #3 id:40001 of https://codereview.chromium.org/955063002/)

Reason for revert:
Breaks test/mjsunit/debug-clearbreakpointgroup.js on arm64.debug.

Original issue's description:
> Fix memory leak caused by field type in descriptor array.
>
> When a field type is a map, it is wrapped in a weak cell upon storing to the descriptor array.
>
> Map::GetFieldType(i) does the unwrapping.
>
> BUG=v8:3877
> LOG=N
> TEST=cctest/test-heap/Regress3877
>
> Committed: https://crrev.com/77d3ae0e119893ac8d34ea6ca090cddd5bbf987e
> Cr-Commit-Position: refs/heads/master@{#26879}

TBR=verwaest@chromium.org,ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3877

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

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

9 years agoRevert of ensure host compiler is always clang when cross compiling from linux (patch...
dcarney [Thu, 26 Feb 2015 14:43:49 +0000 (06:43 -0800)]
Revert of ensure host compiler is always clang when cross compiling from linux (patchset #6 id:100001 of https://codereview.chromium.org/955393002/)

Reason for revert:
broke some things

Original issue's description:
> ensure host compiler is always clang when cross compiling from linux
>
> BUG=
>
> Committed: https://crrev.com/56039af476797accc238dcb24c7ab926899287a0
> Cr-Commit-Position: refs/heads/master@{#26881}

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

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

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