Commit Graph

24424 Commits

Author SHA1 Message Date
mbrandy
a30ffc77e8 PPC: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
Port cac64b9f63

Original commit message:
    We don't need the hole check and slow runtime mode for read-only
    properties this way.

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

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

Cr-Commit-Position: refs/heads/master@{#29882}
2015-07-27 20:12:26 +00:00
bmeurer
cac64b9f63 [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
We don't need the hole check and slow runtime mode for read-only
properties this way.

R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29881}
2015-07-27 18:45:36 +00:00
mbrandy
ee70ad1be7 PPC: Cross-script variables handling fixed. It was possible to write to read-only global variable.
Port 156042f7f7

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

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

Cr-Commit-Position: refs/heads/master@{#29880}
2015-07-27 18:01:36 +00:00
mbrandy
b8adca9668 PPC: Fix '[stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.'
R=michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29879}
2015-07-27 17:59:43 +00:00
mbrandy
12f433e274 PPC: VectorICs: vector [keyed]store ic MISS handling infrastructure.
Port a913f4bf5c

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

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

Cr-Commit-Position: refs/heads/master@{#29878}
2015-07-27 17:58:23 +00:00
adamk
6f4c0614d5 Remove old TODO and commented-out DCHECK in Isolate::RunMicrotasks
Per discussion on the bug, the DCHECK'd case actually occurs in normal
operation, outside of V8's control.

BUG=chromium:388244
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29877}
2015-07-27 15:58:41 +00:00
michael_dawson
6e9005710a Add Junliang to PPC owners list
BUG=
R=danno@chromium.org, mbrandy@us.ibm.com

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

Cr-Commit-Position: refs/heads/master@{#29876}
2015-07-27 15:14:13 +00:00
machenbach
2fdebc0407 [test] Replace android_commands in v8 perf runner.
BUG=chromium:267773
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29875}
2015-07-27 14:57:06 +00:00
yangguo
f67455174b Debugger: do not reject data parsed in the background when debugging.
This has become possible since we never compile for debugging in the
first compile pass of a script.

R=vogelheim@chromium.org
BUG=chromium:513335
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29874}
2015-07-27 14:20:10 +00:00
mlippautz
05aedb7738 Add regression test for issue 507979.
Regression test for CL 3eb91e8aec.

BUG=chromium:507979
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29873}
2015-07-27 13:29:28 +00:00
jochen
607ef7c600 Remove ExternalArray, derived types, and element kinds
BUG=v8:3996
R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29872}
2015-07-27 13:19:36 +00:00
yangguo
3069c43813 Debugger: correctly recompile toplevel eval functions for debugging.
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29871}
2015-07-27 13:15:26 +00:00
mvstanton
a913f4bf5c VectorICs: vector [keyed]store ic MISS handling infrastructure.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29870}
2015-07-27 12:50:19 +00:00
yangguo
48e38e569c Debugger: do not hold onto debug infos weakly.
SharedFunctionInfos that have a debug info must not be collected.
Otherwise we lose previously set break points. This means that
there is no need to hold onto debug infos weakly. The reason this
has not caused an issue up till now is that code flushing has been
disabled when the debugger is active.

R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29869}
2015-07-27 11:52:42 +00:00
jochen
2714ee5539 Make V8 compile with MSVS 2015
BUG=v8:4326
R=machenbach@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29868}
2015-07-27 11:51:23 +00:00
mbrandy
4ad22295d4 PPC: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
Port d6ee366d5c

Original commit message:
    This is the initial round of optimizations for the
    LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically
    turning them into platform code stubs to avoid the Crankshaft overhead
    in the fast case, and making the runtime interface cheaper.

R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:510694
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29867}
2015-07-27 11:20:11 +00:00
yangguo
e01f34fae6 Revert "In RegExp, lastIndex is read with ToLength, not ToInteger"
This reverts commit 1f61ac5033.

TBR=littledan@chromium.org
BUG=chromium:513160
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29866}
2015-07-27 10:58:53 +00:00
chunyang.dai
5c5c55fb94 X87: implement MathPow stub for X87.
In CL 0fe2fbd173 the implementation of
  MathPow for all ports are unified and MathPow stub code is invoked.
  So we move the direct runtime function call from full-codegen to MathPow
  stub for X87 platform.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29865}
2015-07-27 10:05:43 +00:00
hpayer
20ebc602c7 Remove slot buffer entries in deoptimized code objects after marking.
BUG=chromium:507211
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29864}
2015-07-27 09:49:13 +00:00
yangguo
30392b5ea5 Blacklist regress-3960 from turbofan.
TBR=adamk@chromium.org
BUG=v8:4325,chromium:513160
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29863}
2015-07-27 08:32:20 +00:00
yangguo
d2b4133c72 Revert of Debugger: correctly redirect eval code. (patchset #2 id:20001 of https://codereview.chromium.org/1258583002/)
Reason for revert:
Causes hang: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20novfp3/builds/1446

Original issue's description:
> Debugger: correctly redirect eval code.
>
> This also allows us to not always compile for debugging when debug is active.
>
> Committed: https://crrev.com/0cae607ff33725e868a217556a88ac4478774210
> Cr-Commit-Position: refs/heads/master@{#29848}

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

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

Cr-Commit-Position: refs/heads/master@{#29862}
2015-07-27 08:06:10 +00:00
paul.lind
567806c787 Add arch OWNERS files to full-codegen dir.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29861}
2015-07-27 06:28:15 +00:00
ishell
156042f7f7 Cross-script variables handling fixed. It was possible to write to read-only global variable.
Review URL: https://codereview.chromium.org/1259853002

Cr-Commit-Position: refs/heads/master@{#29860}
2015-07-27 05:53:05 +00:00
paul.lind
35d6012b9f MIPS64: Fix LoadGlobalViaContextStub
Also make a minor improvement in the mips32 StoreGlobalViaContextStub
and fix some bad comments in the macro-assembler.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29859}
2015-07-26 05:01:54 +00:00
v8-autoroll
2751cddc9d Update V8 DEPS.
Rolling v8/tools/clang to 86b91f8203d8b6cb2dabb8a9c5f2dd95135b4307

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29858}
2015-07-26 03:24:29 +00:00
v8-autoroll
36fe84e430 Update V8 DEPS.
Rolling v8/tools/clang to 101be7d177391384deb7f088aecd1f2d93af918f

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29857}
2015-07-25 03:26:16 +00:00
littledan
024e39613a Class block scoping tests
Class bindings are mutable and lexically scoped, with TDZ semantics.
They may not overlap with var bindings in the same scope. This patch
adds tests for those properties.

R=adamk
BUG=v8:3305
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29856}
2015-07-25 01:59:24 +00:00
littledan
2d2b72f638 Split off a separate --harmony_sloppy_let flag
--harmony_sloppy includes behavior to turn on sloppy mode lexical
bindings. Before this patch, it also included a way to parse let
which is likely web-incompatible (let is disallowed as an
identifier). This patch splits off the let parsing from the more
general block scoping code, so that block scoping can be developed
independently.

R=adamk
LOG=N
BUG=v8:3305

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

Cr-Commit-Position: refs/heads/master@{#29855}
2015-07-25 00:05:18 +00:00
hichris123
f06754a8e1 Make dates default to the local timezone if none specified
In ES5, dates were supposed to default to UTC if no timezone was specified. However, this changed in ES6, which specified that dates should be in the local timezone if no timezone was specified. This CL updates our behavior to match that part of the ES6 spec.

BUG=chromium:391730, v8:4242
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#29854}
2015-07-24 17:19:52 +00:00
bbudge
a02219e97e Disable failing simdjs tests.
These benchmarks are not updated to the latest spec and polyfill.

R=machenbach@chromium.org

LOG=N
BUG=v8:4124

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

Cr-Commit-Position: refs/heads/master@{#29853}
2015-07-24 15:03:55 +00:00
rmcilroy
9bb7b980de [interpreter] A couple of minor tweaks to BytecodeArray.
- Ensure frame_size is always set during allocation.
 - Add DCHECKs that frame_size is a valid value
 - Remove locals_count, which we don't need yet (possibly every)
 - Add a newline at the end of BytecodeArray::Dissassemble
   for each bytecode.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29852}
2015-07-24 14:56:34 +00:00
rossberg
fa987b4b63 Remove remnants of INTERNAL variable handling from Scope
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29851}
2015-07-24 14:48:30 +00:00
jochen
3eb91e8aec Don't try to get the mark bits of the one ptr filler object
BUG=chromium:???
LOG=n
R=mlippautz@chromium.org,hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29850}
2015-07-24 14:36:49 +00:00
bmeurer
440ae014e5 Reland^2 "Enable loads and stores to global vars through property cell shortcuts installed into parent script context".
This reverts commit 362b378501.

R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29849}
2015-07-24 14:23:12 +00:00
yangguo
0cae607ff3 Debugger: correctly redirect eval code.
This also allows us to not always compile for debugging when debug is active.

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

Cr-Commit-Position: refs/heads/master@{#29848}
2015-07-24 14:14:33 +00:00
mvstanton
878071af3e VectorICs: VisitClassLiteral needs adjustment for IC slot usage.
Also, generic lowering for keyed stores needs to handle the case when
there is no IC slot available (it can use the generic keyed store).

BUG=
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29847}
2015-07-24 14:08:52 +00:00
yangguo
cd9ae446ea Debugger: always include deoptimization support for debug code.
R=mstarzinger@chromium.org
BUG=chromium:513496
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29846}
2015-07-24 13:43:46 +00:00
rossberg
3e40b64ade Find right scope associated with prologue
R=mstarzinger@chromium.org
BUG=513474,513475,513611,513612
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29845}
2015-07-24 13:08:32 +00:00
bmeurer
dd1a26de5c [mips] Fix Load/StoreGlobalContext stubs.
Fix invalid tail calls and wrong context register.

R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29844}
2015-07-24 12:37:17 +00:00
oth
cb6e705686 [Interpreter] Add BytecodeArray class and add to SharedFunctionInfo.
BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29843}
2015-07-24 12:03:03 +00:00
yangguo
cc8fa95f7c Debugger: fix deoptimizing inlined function.
BUG=v8:4320
LOG=N
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29842}
2015-07-24 10:37:57 +00:00
ulan
0752abb114 Extract function to compute mutator utilization.
This function will be used later instead of HasLowAllocationRate
to decide how many pages to compact.

BUG=chromium:502247
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#29841}
2015-07-24 10:31:32 +00:00
yangguo
3be39a24bf Move Full-codegen into its own folder.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29840}
2015-07-24 10:11:57 +00:00
chunyang.dai
4c6989914e X87: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
port d6ee366d5c (r29834).

original commit message:

    This is the initial round of optimizations for the
    LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically
    turning them into platform code stubs to avoid the Crankshaft overhead
    in the fast case, and making the runtime interface cheaper.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29839}
2015-07-24 10:08:54 +00:00
chunyang.dai
c4cd117e2d X87: [interpreter] Add basic framework for bytecode handler code generation.
port 7877c4e0c7 (r29814).

original commit message:

    Adds basic support for generation of interpreter bytecode handler code
    snippets. The InterpreterAssembler class exposes a set of low level,
    interpreter specific operations which can be used to build a Turbofan
    graph. The Interpreter class generates a bytecode handler snippet for
    each bytecode by assembling operations using an InterpreterAssembler.

    Currently only two simple bytecodes are supported: LoadLiteral0 and Return.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29838}
2015-07-24 10:03:28 +00:00
chunyang.dai
2571c69dcb X87: Unify "runtime-style" IC functions with Runtime intrinsics
port bc8041dc2b (r29811).

original commit message:

    Previous to this CL, ICs used a slightly different code idiom
    to get to C++ code from generated code than runtime intrinsics,
    using an IC_Utility class that in essence provided exactly
    the same functionality as Runtime::FunctionForId, but in its
    own quirky way.

    This CL unifies the two mechanisms, folding IC_Utility
    away by making all IC entry points in C++ code, e.g. IC
    miss handlers, full-fledged runtime intrinsics. This makes
    it possible to eliminate a bunch of ad-hoc declarations and
    adapters that the IC system had to needlessly re-invent.

    As a bonus and the original reason for this yak-shave:
    IC-related C++ runtime functions are now callable from
    TurboFan.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29837}
2015-07-24 09:59:07 +00:00
chunyang.dai
1359017f80 X87: HydrogenCodeStubs consume stack arguments via descriptor.
port 3334b830a5 (r20813).

original commit message:

    HydrogenCodeStubs consume stack arguments via descriptor.

    All of this is controlled by the CallDescriptor. It's simply the case
    that if you specify less registers than the function arity calls for,
    the rest are assumed to be on the stack.

    Bailout handlers accept these constant stack arguments too.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29836}
2015-07-24 09:57:49 +00:00
machenbach
7d02830e74 Revert of Revert "In RegExp, lastIndex is read with ToLength, not ToInteger" (patchset #1 id:1 of https://codereview.chromium.org/1243053005/)
Reason for revert:
[Sheriff] This causes a breakage with custom snapshot (bisected locally):
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/1190

Original issue's description:
> Revert "In RegExp, lastIndex is read with ToLength, not ToInteger"
>
> $toLength is slow, causing a 3.8%-8% regression in the Octane RegExp
> benchmark. Reverting this patch brings it back up. To make this change,
> we'll need a faster implementation fo $toLength.
>
> BUG=chromium:513160
> LOG=Y
> R=adamk
>
> Committed: https://crrev.com/477d651c6a978bdf34954048a235895c62dab0ac
> Cr-Commit-Position: refs/heads/master@{#29830}

TBR=adamk@chromium.org,littledan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:513160

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

Cr-Commit-Position: refs/heads/master@{#29835}
2015-07-24 08:26:06 +00:00
bmeurer
d6ee366d5c [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
This is the initial round of optimizations for the
LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically
turning them into platform code stubs to avoid the Crankshaft overhead
in the fast case, and making the runtime interface cheaper.

R=ishell@chromium.org
BUG=chromium:510694
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29834}
2015-07-24 07:17:05 +00:00
Michael Achenbach
48d87b57c5 Whitespace change to check git quota issues.
Cr-Commit-Position: refs/heads/master@{#29833}
2015-07-24 06:48:51 +00:00