platform/upstream/v8.git
8 years agoFix BUILD.gn.
Ben L. Titzer [Thu, 30 Jul 2015 12:42:00 +0000 (14:42 +0200)]
Fix BUILD.gn.

TBR=bmeurer@chromium.org
BUG=

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

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

8 years ago[turbofan] Factor C call descriptor building into compiler/c-linkage.cc.
titzer [Thu, 30 Jul 2015 12:36:15 +0000 (05:36 -0700)]
[turbofan] Factor C call descriptor building into compiler/c-linkage.cc.

This is the first step in cutting the Gordian linkage/linkage-impl knot.

This basically changes the axis along which we organize call descriptor
building logic from having platform-specific files dedicated to all call
descriptor types to having call-descriptor-type-specific files that have

The next step is to factor the JS, code stub, and runtime call descriptors
similarly, dumping them into:
  compiler/js-linkage.cc
  compiler/runtime-linkage.cc
  compiler/code-stub-linkage.cc

 or, alternatively, all of them just into compiler/js-linkage.cc.

This also anticipates a wasm-linkage.cc file in the future.

R=bmeurer@chromium.org,danno@chromium.org
BUG=

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

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

8 years agoUse proper verify method when checking slots buffer entries.
hpayer [Thu, 30 Jul 2015 12:22:21 +0000 (05:22 -0700)]
Use proper verify method when checking slots buffer entries.

BUG=chromium:454297
LOG=n

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

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

8 years ago[interpreter] Add Interpreter{Entry,Exit}Trampoline builtins.
rmcilroy [Thu, 30 Jul 2015 11:36:26 +0000 (04:36 -0700)]
[interpreter] Add Interpreter{Entry,Exit}Trampoline builtins.

Adds interpreter entry and exit trampoline builtins. Also implements the
Return bytecode handler and fixes a few bugs in InterpreterAssembler
highlighted by running on other architectures.

MIPS and MIPS64 port contributed by Paul Lind (paul.lind@imgtec.com)

BUG=v8:4280
LOG=N

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

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

8 years agoVectorICs: --print-ast now prints allocated vector slots
mvstanton [Thu, 30 Jul 2015 11:09:42 +0000 (04:09 -0700)]
VectorICs: --print-ast now prints allocated vector slots

Looks like this:
--- AST ---
FUNC
. NAME "foo"
. INFERRED NAME ""
. RETURN
. . PROPERTY ICSlot(0, LOAD_IC)
. . . VAR PROXY ICSlot(1, LOAD_IC) (mode = DYNAMIC_GLOBAL) "a"
. . . NAME x

BUG=
R=rossberg@chromium.org

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

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

8 years agoBugfix: CCTest test-func-name-inference/InConstructor is broken
mvstanton [Thu, 30 Jul 2015 10:43:05 +0000 (03:43 -0700)]
Bugfix: CCTest test-func-name-inference/InConstructor is broken

BUG=v8:4331
LOG=N

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

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

8 years agoFix idle notification for background tab.
ulan [Thu, 30 Jul 2015 10:38:13 +0000 (03:38 -0700)]
Fix idle notification for background tab.

The idle time handler should never return DONE or DO_SCAVENGE for
background tabs. Upon receiving DONE chrome will stop sending idle notifications.

BUG=chromium:515174
LOG=NO

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

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

8 years agoMove final parts of class literal setup into a single runtime call
conradw [Thu, 30 Jul 2015 10:38:07 +0000 (03:38 -0700)]
Move final parts of class literal setup into a single runtime call

This avoids multiple ToFastProperties runtime calls and additional stack
pushes in strong mode.

BUG=

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

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

8 years agoStop overallocating feedback vector slots.
mvstanton [Thu, 30 Jul 2015 10:37:58 +0000 (03:37 -0700)]
Stop overallocating feedback vector slots.

When a Property or a VariableProxy is used as the left hand side of an
assignment statement, there is no need to allocate a LOAD_IC feedback
vector slot for it. Alter the numbering phase to support this.

BUG=

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

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

8 years ago[runtime] DeclareGlobals and DeclareLookupSlot don't need context parameters.
bmeurer [Thu, 30 Jul 2015 09:29:41 +0000 (02:29 -0700)]
[runtime] DeclareGlobals and DeclareLookupSlot don't need context parameters.

All runtime function get a context anyway, which is the same as the
explicit one in case of DeclareGlobals and DeclareLookupSlot. So
we can remove the additional parameter there.

As an additional bonus, improve the runtime interface to DeclareLookupSlot.

R=yangguo@chromium.org

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

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

8 years agoAdd test for referring function name for classes.
yangguo [Thu, 30 Jul 2015 09:21:16 +0000 (02:21 -0700)]
Add test for referring function name for classes.

R=mvstanton@chromium.org
BUG=v8:4333
LOG=N

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

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

8 years agoMIPS: Fix disassembler for J and JAL instructions.
Ilija.Pavlovic [Thu, 30 Jul 2015 09:16:35 +0000 (02:16 -0700)]
MIPS: Fix disassembler for J and JAL instructions.

Adapted disassembler for J and JAL instructions.

TEST=cctest/test-disasm-mips/Type0,
     cctest/test-disasm-mips64/Type3
BUG=

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

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

8 years agoMIPS64: Fix the integer division in crankshaft.
akos.palfi [Thu, 30 Jul 2015 09:16:18 +0000 (02:16 -0700)]
MIPS64: Fix the integer division in crankshaft.

Replaces the 64-bit div instruction with 32-bit division in DivI.
Also fixes the Ddiv implementation in the simulator.

TEST=mjsunit/asm/int32div
BUG=

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

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

8 years ago[turbofan] Fix invalid access to Parameter index.
bmeurer [Thu, 30 Jul 2015 09:16:12 +0000 (02:16 -0700)]
[turbofan] Fix invalid access to Parameter index.

A Parameter operator contains a ParameterInfo payload, not an int
payload, so the OpParameter<int> cast is invalid (and only worked by
coincidence currently).

BUG=chromium:515215
LOG=n
R=yangguo@chromium.org

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

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

8 years agoSpeed up cctest/test-debug/DebugBreakLoop.
yangguo [Thu, 30 Jul 2015 09:11:24 +0000 (02:11 -0700)]
Speed up cctest/test-debug/DebugBreakLoop.

R=jkummerow@chromium.org

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

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

8 years ago[arm] Fix --enable-vldr-imm.
jacob.bramley [Thu, 30 Jul 2015 09:11:12 +0000 (02:11 -0700)]
[arm] Fix --enable-vldr-imm.

This fixes several bugs related to float64 pool constants.

Note that float64 pool constants are still disabled by default, and are
only used if --enable-vldr-imm is provided.

BUG=

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

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

8 years agoReduce allowance in the first code page at start up.
yangguo [Thu, 30 Jul 2015 09:11:06 +0000 (02:11 -0700)]
Reduce allowance in the first code page at start up.

This has become possible since we moved a few experimental
Javascript features to default.

R=hpayer@chromium.org
BUG=chromium:506044
LOG=N

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

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

8 years agoReland^3 "Enable loads and stores to global vars through property cell shortcuts...
Benedikt Meurer [Thu, 30 Jul 2015 08:58:38 +0000 (10:58 +0200)]
Reland^3 "Enable loads and stores to global vars through property cell shortcuts installed into par… (patchset #1 id:1 of https://codereview.chromium.org/1254723004/)"

This reverts commit 2c16d81b256ed664c376342313558a37bbce0131.

R=hablich@chromium.org

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

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

8 years ago[cq] Increase commit burst delay.
machenbach [Thu, 30 Jul 2015 08:38:20 +0000 (01:38 -0700)]
[cq] Increase commit burst delay.

TBR=jkummerow@chromium.org, hablich@chromium.org
NOTRY=true
NOTREECHECKS=true

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

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

8 years agoOptimize ToString and NonStringToString.
bbudge [Thu, 30 Jul 2015 08:21:43 +0000 (01:21 -0700)]
Optimize ToString and NonStringToString.

Moves some uncommon type checking from ToString and
NonStringToString into DefaultString. This should
speed up string operations.

LOG=N
BUG=none

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

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

8 years ago[d8] Fix tsan bugs
binji [Thu, 30 Jul 2015 08:20:35 +0000 (01:20 -0700)]
[d8] Fix tsan bugs

script_executed and last_run are read/written by multiple threads. Also
externalized_shared_contents_ is modified by multiple threads.

BUG=4306
R=jarin@chromium.org
LOG=n

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

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

8 years ago[d8 Workers] Fix bug creating Worker during main thread termination
binji [Thu, 30 Jul 2015 08:19:29 +0000 (01:19 -0700)]
[d8 Workers] Fix bug creating Worker during main thread termination

When the main thread terminates, it forcibly terminates all Worker threads.
When this happens, the threads objects were only half-created; they had a
JavaScript Worker object, but not a C++ worker object.

This CL fixes that bug, as well as some other fixes:
* Signatures on Worker methods
* Use SetAlignedPointerFromInternalField instead of using an External.
* Remove state_ from Worker. Simplify to atomic bool running_.

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

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

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

8 years ago[interpreter] Change interpreter to use an BytecodeArray pointer and and offset.
rmcilroy [Thu, 30 Jul 2015 08:18:23 +0000 (01:18 -0700)]
[interpreter] Change interpreter to use an BytecodeArray pointer and and offset.

Changes the interpreter to use a BytecodeArray pointer and an offset to avoid
having an inner pointer to a BytecodeArray object in registers during dispatch.

BUG=v8:4280
LOG=N

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

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

8 years agoAssign more bits to safepoint table offset.
yangguo [Thu, 30 Jul 2015 08:17:15 +0000 (01:17 -0700)]
Assign more bits to safepoint table offset.

1 << 24 is apparently not large enough for some optimized code.

R=jkummerow@chromium.org
BUG=v8:4272
LOG=N

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

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

8 years agoOptimize ToNumber and NonNumberToNumber.
bbudge [Thu, 30 Jul 2015 08:16:08 +0000 (01:16 -0700)]
Optimize ToNumber and NonNumberToNumber.

Moves some uncommon type checking from ToNumber and
NonNumberToNumber into DefaultNumber. This should
speed up numeric operations especially as more "value types
are added.

LOG=N
BUG=513196, v8:4124

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

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

8 years agoPPC: Support for conditional return instruction.
mbrandy [Thu, 30 Jul 2015 07:30:27 +0000 (00:30 -0700)]
PPC: Support for conditional return instruction.

R=dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
NOTREECHECKS=true

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

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

8 years agoPPC: [stubs] Don't pass name to Load/StoreGlobalViaContext stubs.
mbrandy [Thu, 30 Jul 2015 07:28:37 +0000 (00:28 -0700)]
PPC: [stubs] Don't pass name to Load/StoreGlobalViaContext stubs.

Port 5dff4bdff06c0463db1e876af7541af2b715392c

Original commit message:
    No need to pass the name explicitly to the stubs; the runtime can
    extract the name from the ScopeInfo (the extension of the
    ScriptContext) on-demand easily without any performance impact.

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

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

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

8 years agoRevert^3 "Enable loads and stores to global vars through property cell shortcuts...
jkummerow [Wed, 29 Jul 2015 11:48:44 +0000 (04:48 -0700)]
Revert^3 "Enable loads and stores to global vars through property cell shortcuts installed into par… (patchset #1 id:1 of https://codereview.chromium.org/1254723004/)

Reason for revert:
Suspected to cause Canary crashes

Original issue's description:
> Reland^2 "Enable loads and stores to global vars through property cell shortcuts installed into parent script context".
>
> This reverts commit 362b378501ac2220655e16f49c6d1aa734e657f4.
>
> R=ishell@chromium.org
>
> Committed: https://crrev.com/440ae014e56924b52337c3747221b79283f07b81
> Cr-Commit-Position: refs/heads/master@{#29849}

TBR=ishell@chromium.org,v8-mips-ports@googlegroups.com,plind44@gmail.com,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true

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

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

8 years agoDebugger: skip function prologue when computing redirect PC.
yangguo [Wed, 29 Jul 2015 11:19:10 +0000 (04:19 -0700)]
Debugger: skip function prologue when computing redirect PC.

R=jkummerow@chromium.org
NOTREECHECKS=true

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

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

8 years agoPretenuring decision of outermost literal is propagated to inner literals.
Hannes Payer [Wed, 29 Jul 2015 09:56:21 +0000 (11:56 +0200)]
Pretenuring decision of outermost literal is propagated to inner literals.

Literals should stay together to simplify allocation folding. This CL takes the pretenuring information from the outermost literal and applies it to the inner liberals.

BUG=chromium:514721
LOG=n
R=mvstanton@chromium.org

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

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

8 years agoUpdate V8 DEPS.
v8-autoroll [Wed, 29 Jul 2015 08:13:05 +0000 (01:13 -0700)]
Update V8 DEPS.

Rolling v8/buildtools to f0b8022601cf9c3c1a2f7efcea48e2fe81d3b143

TBR=machenbach@chromium.org
NOTREECHECKS=true

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

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

8 years agoAdd per-file OWNERS for PPC-specific cctests
mbrandy [Wed, 29 Jul 2015 08:11:57 +0000 (01:11 -0700)]
Add per-file OWNERS for PPC-specific cctests

BUG=
R=jkummerow@chromium.org
NOTREECHECKS=true
NOTRY=true

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

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

8 years ago[test] Fix for keying variants.
machenbach [Wed, 29 Jul 2015 07:40:50 +0000 (00:40 -0700)]
[test] Fix for keying variants.

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

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

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

8 years ago[test] Key variant flags by variant name everywhere.
machenbach [Wed, 29 Jul 2015 07:14:15 +0000 (00:14 -0700)]
[test] Key variant flags by variant name everywhere.

This allows variants to be named on test failures (follow
up) and then to be used in the test runner for a repro.

This also speeds up variant iteration for test262 and fixes
a bug with variants for benchmarks.

BUG=chromium:511215
NOTREECHECKS=true
LOG=n

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

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

9 years agoFix prototype registration upon SlowToFast migration
jkummerow [Tue, 28 Jul 2015 15:41:20 +0000 (08:41 -0700)]
Fix prototype registration upon SlowToFast migration

When a prototype object migrates from a slow to a fast map, where the slow map
was registered as a user of its own prototype, then the registration must be
transferred to the new map (just like MigrateToMap does for all other cases).

BUG=chromium:513602
LOG=y
NOTREECHECKS=true

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

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

9 years agoMoved project configs to infra/config branch
nodir [Tue, 28 Jul 2015 15:08:05 +0000 (08:08 -0700)]
Moved project configs to infra/config branch

luci-config has been switched to read from
https://chromium.googlesource.com/v8/v8/+/infra/config

R=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=513460

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

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

9 years agoBugfix: Incorrect type feedback vector structure on recompile.
mvstanton [Tue, 28 Jul 2015 14:02:49 +0000 (07:02 -0700)]
Bugfix: Incorrect type feedback vector structure on recompile.

Scoping rules are different on recompile vis-a-vis global loads.

BUG=chromium:514526
LOG=y
NOTREECHECKS=true

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

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

9 years ago[test] Shorten excessive webkit test.
machenbach [Tue, 28 Jul 2015 10:17:18 +0000 (03:17 -0700)]
[test] Shorten excessive webkit test.

BUG=

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

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

9 years ago[test] Skip slow test in novfp3 mode.
machenbach [Tue, 28 Jul 2015 09:54:04 +0000 (02:54 -0700)]
[test] Skip slow test in novfp3 mode.

TBR=yangguo@chromium.org
NOTRY=true

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

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

9 years agoReland of "Remove ExternalArray, derived types, and element kinds"
jochen [Tue, 28 Jul 2015 09:29:34 +0000 (02:29 -0700)]
Reland of "Remove ExternalArray, derived types, and element kinds"

Original issue's description:
> Remove ExternalArray, derived types, and element kinds
>
> BUG=v8:3996
> R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org
> LOG=y
>
> Committed: https://crrev.com/607ef7c6009a24ebf195b4cab7b0b436c5afd21c
> Cr-Commit-Position: refs/heads/master@{#29872}

BUG=v8:3996
R=bmeurer@chromium.org
LOG=y

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

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

9 years agoX87: [stubs] Don't pass name to Load/StoreGlobalViaContext stubs.
chunyang.dai [Tue, 28 Jul 2015 08:37:21 +0000 (01:37 -0700)]
X87: [stubs] Don't pass name to Load/StoreGlobalViaContext stubs.

port 5dff4bdff06c0463db1e876af7541af2b715392c (r29886).

original commit message:

    No need to pass the name explicitly to the stubs; the runtime can
    extract the name from the ScopeInfo (the extension of the
    ScriptContext) on-demand easily without any performance impact.

BUG=

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

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

9 years agoX87: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
chunyang.dai [Tue, 28 Jul 2015 08:34:33 +0000 (01:34 -0700)]
X87: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.

port cac64b9f634743f7f5311d4dca8d50157b10fab5 (r29881)

original commit message:

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

BUG=

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

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

9 years agoX87: VectorICs: vector [keyed]store ic MISS handling infrastructure.
chunyang.dai [Tue, 28 Jul 2015 08:32:46 +0000 (01:32 -0700)]
X87: VectorICs: vector [keyed]store ic MISS handling infrastructure.

port a913f4bf5c40ef88c52e7cf821540f0faf5524f9 (r29870).

original commit message:

BUG=

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

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

9 years ago[stubs] Use a single slot for context globals.
bmeurer [Tue, 28 Jul 2015 08:18:17 +0000 (01:18 -0700)]
[stubs] Use a single slot for context globals.

Don't use different read/write slots for context globals, but
let them share the same slot, which reduces the number of
initial misses, and also saves some memory for large scripts.

R=yangguo@chromium.org

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

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

9 years agoRevert of Activate preserving of optimized code map accross GCs. (patchset #1 id...
hpayer [Tue, 28 Jul 2015 07:28:03 +0000 (00:28 -0700)]
Revert of Activate preserving of optimized code map accross GCs. (patchset #1 id:1 of https://codereview.chromium.org/1217863006/)

Reason for revert:
This CL may be the reason for the spike on memory corruption. Tentatively reverting this CL.

BUG=chromium:512780
LOG=n

Original issue's description:
> Activate preserving of optimized code map accross GCs.
>
> This enables --noflush-optimized-code-cache which allows preserving
> entries in the optimized code map accross GCs. This only applies to
> values being reachable through other paths.
>
> R=hpayer@chromium.org,hablich@chromium.org
>
> Committed: https://crrev.com/1a8776db25b63c4ce718423772d1fd13f58eeab5
> Cr-Commit-Position: refs/heads/master@{#29755}

TBR=hablich@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years ago[stubs] Also handle properties of the JSBuiltinsObject in the fast case.
bmeurer [Tue, 28 Jul 2015 06:48:08 +0000 (23:48 -0700)]
[stubs] Also handle properties of the JSBuiltinsObject in the fast case.

We can apply the shortcut used for data properties of the JSGlobalObject
to builtin properties as well. This mostly affects the custom properties
we use for the Math functions (i.e. rngstate for Math.random() and kMath
for sin, cos and friends).

Drive-by-fix: Also mark the internal builtin typed arrays properties
(rngstate, kMath and rempio2result) as READ_ONLY, as they should not be
touched after genesis.

R=yangguo@chromium.org

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

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

9 years ago[stubs] Don't pass name to Load/StoreGlobalViaContext stubs.
bmeurer [Tue, 28 Jul 2015 06:04:04 +0000 (23:04 -0700)]
[stubs] Don't pass name to Load/StoreGlobalViaContext stubs.

No need to pass the name explicitly to the stubs; the runtime can
extract the name from the ScopeInfo (the extension of the
ScriptContext) on-demand easily without any performance impact.

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 28 Jul 2015 03:25:45 +0000 (20:25 -0700)]
Update V8 DEPS.

Rolling v8/third_party/android_tools to e17c167589c7cff61a00c4d3674765536ee8d46c

TBR=machenbach@chromium.org

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

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

9 years agoUpdate PPC OWNERS
mbrandy [Mon, 27 Jul 2015 21:37:48 +0000 (14:37 -0700)]
Update PPC OWNERS

R=michael_dawson@ca.ibm.com, danno@chromium.org, yangguo@chromium.org
BUG=

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

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

9 years agoRevert of Remove ExternalArray, derived types, and element kinds (patchset #5 id...
machenbach [Mon, 27 Jul 2015 20:32:00 +0000 (13:32 -0700)]
Revert of Remove ExternalArray, derived types, and element kinds (patchset #5 id:80001 of https://codereview.chromium.org/1254623002/)

Reason for revert:
[Sheriff] Breaks several layout tests, e.g.:
http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/1067

Several output lines change from PASS to FAIL. If the changes are intended, please land a needsmanualrebaseline change in blink first.

Original issue's description:
> Remove ExternalArray, derived types, and element kinds
>
> BUG=v8:3996
> R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org
> LOG=y
>
> Committed: https://crrev.com/607ef7c6009a24ebf195b4cab7b0b436c5afd21c
> Cr-Commit-Position: refs/heads/master@{#29872}

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

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

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

9 years agoPPC: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
mbrandy [Mon, 27 Jul 2015 20:12:10 +0000 (13:12 -0700)]
PPC: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.

Port cac64b9f634743f7f5311d4dca8d50157b10fab5

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}

9 years ago[stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
bmeurer [Mon, 27 Jul 2015 18:45:26 +0000 (11:45 -0700)]
[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}

9 years agoPPC: Cross-script variables handling fixed. It was possible to write to read-only...
mbrandy [Mon, 27 Jul 2015 18:01:22 +0000 (11:01 -0700)]
PPC: Cross-script variables handling fixed. It was possible to write to read-only global variable.

Port 156042f7f71effd101fbfb2ca1b5a2c3aec62079

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}

9 years agoPPC: Fix '[stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.'
mbrandy [Mon, 27 Jul 2015 17:59:22 +0000 (10:59 -0700)]
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}

9 years agoPPC: VectorICs: vector [keyed]store ic MISS handling infrastructure.
mbrandy [Mon, 27 Jul 2015 17:58:18 +0000 (10:58 -0700)]
PPC: VectorICs: vector [keyed]store ic MISS handling infrastructure.

Port a913f4bf5c40ef88c52e7cf821540f0faf5524f9

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}

9 years agoRemove old TODO and commented-out DCHECK in Isolate::RunMicrotasks
adamk [Mon, 27 Jul 2015 15:58:28 +0000 (08:58 -0700)]
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}

9 years agoAdd Junliang to PPC owners list
michael_dawson [Mon, 27 Jul 2015 15:13:47 +0000 (08:13 -0700)]
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}

9 years ago[test] Replace android_commands in v8 perf runner.
machenbach [Mon, 27 Jul 2015 14:56:54 +0000 (07:56 -0700)]
[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}

9 years agoDebugger: do not reject data parsed in the background when debugging.
yangguo [Mon, 27 Jul 2015 14:19:53 +0000 (07:19 -0700)]
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}

9 years agoAdd regression test for issue 507979.
mlippautz [Mon, 27 Jul 2015 13:29:14 +0000 (06:29 -0700)]
Add regression test for issue 507979.

Regression test for CL 3eb91e8aec8e628adc1046fca16c5dfd1d129118.

BUG=chromium:507979
LOG=N

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

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

9 years agoRemove ExternalArray, derived types, and element kinds
jochen [Mon, 27 Jul 2015 13:19:09 +0000 (06:19 -0700)]
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}

9 years agoDebugger: correctly recompile toplevel eval functions for debugging.
yangguo [Mon, 27 Jul 2015 13:15:06 +0000 (06:15 -0700)]
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}

9 years agoVectorICs: vector [keyed]store ic MISS handling infrastructure.
mvstanton [Mon, 27 Jul 2015 12:49:58 +0000 (05:49 -0700)]
VectorICs: vector [keyed]store ic MISS handling infrastructure.

BUG=

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

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

9 years agoDebugger: do not hold onto debug infos weakly.
yangguo [Mon, 27 Jul 2015 11:52:22 +0000 (04:52 -0700)]
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}

9 years agoMake V8 compile with MSVS 2015
jochen [Mon, 27 Jul 2015 11:51:16 +0000 (04:51 -0700)]
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}

9 years agoPPC: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
mbrandy [Mon, 27 Jul 2015 11:19:46 +0000 (04:19 -0700)]
PPC: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.

Port d6ee366d5c5aef7c6bc550889a33520058b4e33a

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}

9 years agoRevert "In RegExp, lastIndex is read with ToLength, not ToInteger"
yangguo [Mon, 27 Jul 2015 10:58:33 +0000 (03:58 -0700)]
Revert "In RegExp, lastIndex is read with ToLength, not ToInteger"

This reverts commit 1f61ac50338cc2ef1a54735206351f9798687248.

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

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

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

9 years agoX87: implement MathPow stub for X87.
chunyang.dai [Mon, 27 Jul 2015 10:05:27 +0000 (03:05 -0700)]
X87: implement MathPow stub for X87.

  In CL 0fe2fbd173c5e547e021476428001cac6fcdf7a9 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}

9 years agoRemove slot buffer entries in deoptimized code objects after marking.
hpayer [Mon, 27 Jul 2015 09:48:54 +0000 (02:48 -0700)]
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}

9 years agoBlacklist regress-3960 from turbofan.
yangguo [Mon, 27 Jul 2015 08:32:02 +0000 (01:32 -0700)]
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}

9 years agoRevert of Debugger: correctly redirect eval code. (patchset #2 id:20001 of https...
yangguo [Mon, 27 Jul 2015 08:05:49 +0000 (01:05 -0700)]
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}

9 years agoAdd arch OWNERS files to full-codegen dir.
paul.lind [Mon, 27 Jul 2015 06:27:58 +0000 (23:27 -0700)]
Add arch OWNERS files to full-codegen dir.

BUG=

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

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

9 years agoCross-script variables handling fixed. It was possible to write to read-only global...
ishell [Mon, 27 Jul 2015 05:52:58 +0000 (22:52 -0700)]
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}

9 years agoMIPS64: Fix LoadGlobalViaContextStub
paul.lind [Sun, 26 Jul 2015 05:01:42 +0000 (22:01 -0700)]
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}

9 years agoUpdate V8 DEPS.
v8-autoroll [Sun, 26 Jul 2015 03:24:15 +0000 (20:24 -0700)]
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}

9 years agoUpdate V8 DEPS.
v8-autoroll [Sat, 25 Jul 2015 03:26:05 +0000 (20:26 -0700)]
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}

9 years agoClass block scoping tests
littledan [Sat, 25 Jul 2015 01:59:16 +0000 (18:59 -0700)]
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}

9 years agoSplit off a separate --harmony_sloppy_let flag
littledan [Sat, 25 Jul 2015 00:05:08 +0000 (17:05 -0700)]
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}

9 years agoMake dates default to the local timezone if none specified
hichris123 [Fri, 24 Jul 2015 17:19:33 +0000 (10:19 -0700)]
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}

9 years agoDisable failing simdjs tests.
bbudge [Fri, 24 Jul 2015 15:03:48 +0000 (08:03 -0700)]
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}

9 years ago[interpreter] A couple of minor tweaks to BytecodeArray.
rmcilroy [Fri, 24 Jul 2015 14:56:26 +0000 (07:56 -0700)]
[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}

9 years agoRemove remnants of INTERNAL variable handling from Scope
rossberg [Fri, 24 Jul 2015 14:48:12 +0000 (07:48 -0700)]
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}

9 years agoDon't try to get the mark bits of the one ptr filler object
jochen [Fri, 24 Jul 2015 14:36:32 +0000 (07:36 -0700)]
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}

9 years agoReland^2 "Enable loads and stores to global vars through property cell shortcuts...
bmeurer [Fri, 24 Jul 2015 14:23:03 +0000 (07:23 -0700)]
Reland^2 "Enable loads and stores to global vars through property cell shortcuts installed into parent script context".

This reverts commit 362b378501ac2220655e16f49c6d1aa734e657f4.

R=ishell@chromium.org

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

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

9 years agoDebugger: correctly redirect eval code.
yangguo [Fri, 24 Jul 2015 14:14:10 +0000 (07:14 -0700)]
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}

9 years agoVectorICs: VisitClassLiteral needs adjustment for IC slot usage.
mvstanton [Fri, 24 Jul 2015 14:08:29 +0000 (07:08 -0700)]
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}

9 years agoDebugger: always include deoptimization support for debug code.
yangguo [Fri, 24 Jul 2015 13:43:38 +0000 (06:43 -0700)]
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}

9 years agoFind right scope associated with prologue
rossberg [Fri, 24 Jul 2015 13:08:12 +0000 (06:08 -0700)]
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}

9 years ago[mips] Fix Load/StoreGlobalContext stubs.
bmeurer [Fri, 24 Jul 2015 12:37:07 +0000 (05:37 -0700)]
[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}

9 years ago[Interpreter] Add BytecodeArray class and add to SharedFunctionInfo.
oth [Fri, 24 Jul 2015 12:02:41 +0000 (05:02 -0700)]
[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}

9 years agoDebugger: fix deoptimizing inlined function.
yangguo [Fri, 24 Jul 2015 10:37:37 +0000 (03:37 -0700)]
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}

9 years agoExtract function to compute mutator utilization.
ulan [Fri, 24 Jul 2015 10:31:20 +0000 (03:31 -0700)]
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}

9 years agoMove Full-codegen into its own folder.
yangguo [Fri, 24 Jul 2015 10:11:46 +0000 (03:11 -0700)]
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}

9 years agoX87: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
chunyang.dai [Fri, 24 Jul 2015 10:08:47 +0000 (03:08 -0700)]
X87:  [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.

port d6ee366d5c5aef7c6bc550889a33520058b4e33a (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}

9 years agoX87: [interpreter] Add basic framework for bytecode handler code generation.
chunyang.dai [Fri, 24 Jul 2015 10:03:11 +0000 (03:03 -0700)]
X87: [interpreter] Add basic framework for bytecode handler code generation.

port 7877c4e0c77b5c2b97678406eab7e9ad6eba4a4d (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}

9 years agoX87: Unify "runtime-style" IC functions with Runtime intrinsics
chunyang.dai [Fri, 24 Jul 2015 09:58:47 +0000 (02:58 -0700)]
X87: Unify "runtime-style" IC functions with Runtime intrinsics

port bc8041dc2b4c8431c5c2476496acd3b7b8b3f61e (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}

9 years agoX87: HydrogenCodeStubs consume stack arguments via descriptor.
chunyang.dai [Fri, 24 Jul 2015 09:57:39 +0000 (02:57 -0700)]
X87: HydrogenCodeStubs consume stack arguments via descriptor.

port 3334b830a512eda1f8eed678a0e6fda52b23472a (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}

9 years agoRevert of Revert "In RegExp, lastIndex is read with ToLength, not ToInteger" (patchse...
machenbach [Fri, 24 Jul 2015 08:25:59 +0000 (01:25 -0700)]
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}

9 years ago[stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
bmeurer [Fri, 24 Jul 2015 07:16:46 +0000 (00:16 -0700)]
[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}

9 years agoWhitespace change to check git quota issues.
Michael Achenbach [Fri, 24 Jul 2015 06:48:32 +0000 (08:48 +0200)]
Whitespace change to check git quota issues.

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