Commit Graph

31782 Commits

Author SHA1 Message Date
machenbach
46c21b2c71 Revert of [turbofan] Introduce CheckUnless. (patchset #1 id:1 of https://codereview.chromium.org/2080113002/ )
Reason for revert:
[Sheriff] Speculative revert: Seems to lead to devtools crashes:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/5259

Original issue's description:
> [turbofan] Introduce CheckUnless.
>
> Similarly to CheckIf, CheckUnless is a deoptimization without a specific
> frame state. A frame state is assigned during effect-control linearization
> (and CheckUnless is turned into DeoptimizeUnless).
>
> At the moment, the new operator is only used at one place in native context
> specialization, but we should use it everywhere. The advantage of
> CHeckUnless is that it avoids non-truncating uses of values by frame
> states. This particular change is aimed at Octane's crypto, where this
> enables to turn one NumberMultiply into Int32Mul, and thus improve
> the score by more than 10% (it also needs minus zero truncation and
> typing to be improved, but those CLs are already in flight).
>
> BUG=v8:4470
> R=bmeurer@chromium.org
>
> Committed: https://crrev.com/85fde59d538e0dcaf461108086c2f7cf904f567a
> Cr-Commit-Position: refs/heads/master@{#37085}

TBR=bmeurer@chromium.org,jarin@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4470

Review-Url: https://codereview.chromium.org/2078333002
Cr-Commit-Position: refs/heads/master@{#37090}
2016-06-20 07:42:17 +00:00
yangguo
9c3d730d42 Simplify AssemblerPositionsRecorder.
R=bmeurer@chromium.org, jgruber@chromium.org

Review-Url: https://codereview.chromium.org/2072963003
Cr-Commit-Position: refs/heads/master@{#37089}
2016-06-20 07:30:55 +00:00
bmeurer
3c9ff7ecf8 [ieee754] Use uint32_t/uint64_t instead of u_int32_t/u_int64_t.
The uint32_t/uint64_t types are more portable than the old style, pre
C99 u_int32_t/u_int64_t types.

R=yangguo@chromium.org
BUG=v8:5086

Review-Url: https://codereview.chromium.org/2080573002
Cr-Commit-Position: refs/heads/master@{#37088}
2016-06-20 06:56:55 +00:00
bmeurer
c87168bc8c [builtins] Introduce proper Float64Tan operator.
Import base::ieee754::tan() from fdlibm and introduce Float64Tan TurboFan
operator based on that, similar to what we do for Float64Cos and Float64Sin.
Rewrite Math.tan() as TurboFan builtin and use those operators to also
inline Math.tan() into optimized TurboFan functions.

Drive-by-fix: Kill the %_ConstructDouble intrinsics, and provide only
the %ConstructDouble runtime entry for writing tests.

BUG=v8:5086,v8:5126
R=yangguo@chromium.org

Review-Url: https://codereview.chromium.org/2083453002
Cr-Commit-Position: refs/heads/master@{#37087}
2016-06-20 05:51:52 +00:00
mtrofin
c1d01aea11 [wasm] Separate compilation from instantiation
Compilation of wasm functions happens before instantiation. Imports are linked afterwards, at instantiation time. Globals and memory are also
allocated and then tied in via relocation at instantiation time.

This paves the way for implementing Wasm.compile, a prerequisite to
offering the compiled code serialization feature.

Currently, the WasmModule::Compile method just returns a fixed array
containing the code objects. More appropriate modeling of the compiled module to come.

Opportunistically centralized the logic on how to update memory
references, size, and globals, since that logic is the exact same on each
architecture, except for the actual storing of values back in the
instruction stream.

BUG=v8:5072

Review-Url: https://codereview.chromium.org/2056633002
Cr-Commit-Position: refs/heads/master@{#37086}
2016-06-20 05:23:37 +00:00
jarin
85fde59d53 [turbofan] Introduce CheckUnless.
Similarly to CheckIf, CheckUnless is a deoptimization without a specific
frame state. A frame state is assigned during effect-control linearization
(and CheckUnless is turned into DeoptimizeUnless).

At the moment, the new operator is only used at one place in native context
specialization, but we should use it everywhere. The advantage of
CHeckUnless is that it avoids non-truncating uses of values by frame
states. This particular change is aimed at Octane's crypto, where this
enables to turn one NumberMultiply into Int32Mul, and thus improve
the score by more than 10% (it also needs minus zero truncation and
typing to be improved, but those CLs are already in flight).

BUG=v8:4470
R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2080113002
Cr-Commit-Position: refs/heads/master@{#37085}
2016-06-20 03:48:18 +00:00
jarin
e03c090d1b [turbofan] Compute better types for additions with minus zero.
Review-Url: https://codereview.chromium.org/2081553002
Cr-Commit-Position: refs/heads/master@{#37084}
2016-06-20 03:45:19 +00:00
bjaideep
f7e7c32da2 PPC/s390: [builtins] Introduce proper Float64Cos and Float64Sin.
Port c781e83194
Port 4d4eb61111

Original commit message:

    Import base::ieee754::cos() and base::ieee754::sin() from fdlibm and
    introduce Float64Cos and Float64Sin TurboFan operator based on that,
    similar to what we do for Float64Log. Rewrite Math.cos() and Math.sin()
    as TurboFan builtins and use those operators to also inline Math.cos()
    and Math.sin() into optimized TurboFan functions.

    Unify Atanh, Cbrt and Expm1 as exports from flibm.

R=bmeurer@chromium.org, mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=v8:5086,v8:5118,v8:5103
LOG=N

Review-Url: https://codereview.chromium.org/2078273002
Cr-Commit-Position: refs/heads/master@{#37083}
2016-06-20 03:31:01 +00:00
v8-autoroll
8e168b066f Update V8 DEPS.
Rolling v8/tools/mb to 3d628fb28050a1deef98e3be5d5b37b5fd8ed27f

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2079213002
Cr-Commit-Position: refs/heads/master@{#37082}
2016-06-20 03:25:22 +00:00
jarin
c500a3d318 [turbofan] Numeric type feedback for mul, div and mod.
This introduces handling number feedback for multiplication, division
and modulus. At the moment, the only effect is using deoptimizing
number conversion instead of ToNumber call.

Review-Url: https://codereview.chromium.org/2074903002
Cr-Commit-Position: refs/heads/master@{#37081}
2016-06-19 18:46:42 +00:00
jarin
a8b5e235d3 [turbofan] Allow truncating minus zero in add, sub, mul if we have word32 truncation.
Review-Url: https://codereview.chromium.org/2080093002
Cr-Commit-Position: refs/heads/master@{#37080}
2016-06-19 18:04:41 +00:00
v8-autoroll
2e49501084 Update V8 DEPS.
Rolling v8/build to dfed34c541415c22c3d6037e7e62224a2511f1e4

Rolling v8/tools/mb to 69858344b036b3694334ffe53829fe4cfad89822

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2076393003
Cr-Commit-Position: refs/heads/master@{#37079}
2016-06-19 08:18:35 +00:00
jing.bao
5c985733f9 Fix FLAG_code_comments crash for WASM functions
BUG=

Review-Url: https://codereview.chromium.org/2071753002
Cr-Commit-Position: refs/heads/master@{#37078}
2016-06-19 08:18:34 +00:00
machenbach
a17f3d248e Revert of [Turbofan] Clean up register allocator and verifier code. (patchset #1 id:1 of https://codereview.chromium.org/2081443002/ )
Reason for revert:
[Sheriff] Speculative revert. Looks like this lets a few ignition+turbofan tests time out under tsan:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10171

Original issue's description:
> [Turbofan] Clean up register allocator and verifier code.
>
> - Improves RegisterName display in register allocator.
> - Removes GetFixedRegisters method in preparation for having multiple fp
> reg types.
> - Clean up some verifier code.
>
> LOG=N
> BUG=v8:4124
>
> Committed: https://crrev.com/d99e1ab60557e86b62ccc6c91514e817c0df370d
> Cr-Commit-Position: refs/heads/master@{#37076}

TBR=mtrofin@chromium.org,bbudge@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4124

Review-Url: https://codereview.chromium.org/2078243002
Cr-Commit-Position: refs/heads/master@{#37077}
2016-06-19 07:36:16 +00:00
bbudge
d99e1ab605 [Turbofan] Clean up register allocator and verifier code.
- Improves RegisterName display in register allocator.
- Removes GetFixedRegisters method in preparation for having multiple fp
reg types.
- Clean up some verifier code.

LOG=N
BUG=v8:4124

Review-Url: https://codereview.chromium.org/2081443002
Cr-Commit-Position: refs/heads/master@{#37076}
2016-06-18 23:19:49 +00:00
bjaideep
57733bdd78 PPC/s390: [builtins] Always pass target and new target to C++ builtins
Port f5b83dec4e

Original commit message:

    As a first step towards showing builtin frames in stack traces, we will now
    push target and new target unconditionally.

    Since the various specializations of BuiltinArguments are made redundant by
    this change, we can remove them and all related code.

R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=
LOG=N

Review-Url: https://codereview.chromium.org/2079073003
Cr-Commit-Position: refs/heads/master@{#37075}
2016-06-18 09:38:30 +00:00
v8-autoroll
c4d2b19137 Update V8 DEPS.
Rolling v8/build to d45e523e2428a9500e5d4c9e64d9345e75ac315a

Rolling v8/tools/gyp to c61b0b35c8396bfd59efc6cfc11401d912b0f510

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2078163002
Cr-Commit-Position: refs/heads/master@{#37074}
2016-06-18 09:38:29 +00:00
bjaideep
a54e289e68 PPC/s390: [builtins] Introduce proper Float64Exp operator.
Port d5f2ac5e33

Original commit message:

    Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp
    TurboFan operator based on that, similar to what we do for Float64Log.
    Rewrite Math.exp() as TurboFan builtin and use that operator to also
    inline Math.exp() into optimized TurboFan functions.

R=bmeurer@chromium.org, mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108,chromium:620786
LOG=N

Review-Url: https://codereview.chromium.org/2075263002
Cr-Commit-Position: refs/heads/master@{#37073}
2016-06-18 09:38:28 +00:00
bmeurer
c781e83194 [builtins] Introduce proper Float64Cos and Float64Sin.
Import base::ieee754::cos() and base::ieee754::sin() from fdlibm and
introduce Float64Cos and Float64Sin TurboFan operator based on that,
similar to what we do for Float64Log. Rewrite Math.cos() and Math.sin()
as TurboFan builtins and use those operators to also inline Math.cos()
and Math.sin() into optimized TurboFan functions.

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
R=mvstanton@chromium.org
BUG=v8:5086,v8:5118

Review-Url: https://codereview.chromium.org/2073123002
Cr-Commit-Position: refs/heads/master@{#37072}
2016-06-17 15:24:15 +00:00
bjaideep
1298aef51f PPC/s390: [build] fix target_arch for ppc/s390 native builds
target_arch is incorrectly set for the ppc/s390 native builds.
    The target name returned by g++ is not a subset of the target name
    passed as Make argument and therefore defaults to ia32. Adding
    a few more swap rules to set the target_arch correctly.
    This change shouldn't affect the simulator builds.

    The change to set target_arch to ia32 was added as part of:
    https://codereview.chromium.org/2045173003

R=machenbach@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=
LOG=N

Review-Url: https://codereview.chromium.org/2077733002
Cr-Commit-Position: refs/heads/master@{#37071}
2016-06-17 13:57:09 +00:00
ishell
6955c55321 [turbofan] CodeAssembler is now able to generate calls of JavaScript objects.
... and a drive-by-fix of a comment generation in CodeAssembler.

Review-Url: https://codereview.chromium.org/2076953002
Cr-Commit-Position: refs/heads/master@{#37070}
2016-06-17 13:51:12 +00:00
ishell
b98e3949a3 [test] Move CodeAssembler tests to a separate file.
Review-Url: https://codereview.chromium.org/2072813003
Cr-Commit-Position: refs/heads/master@{#37069}
2016-06-17 13:23:14 +00:00
ishell
e4fba99bbb [test] Reduce number of variants that test/mjsunit/es6/tail-call-megatest.js checks.
Review-Url: https://codereview.chromium.org/2073103002
Cr-Commit-Position: refs/heads/master@{#37068}
2016-06-17 12:29:56 +00:00
machenbach
6a39399763 [mb] Remove redundant flags
BUG=chromium:616035
TBR=kjellander@chromium.org, vogelheim@chromium.org, jochen@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2071313002
Cr-Commit-Position: refs/heads/master@{#37067}
2016-06-17 12:29:55 +00:00
cbruni
44bf44f3dc [counter] Adding missing runtime call counters in the compiler
BUG=

Review-Url: https://codereview.chromium.org/2069373002
Cr-Commit-Position: refs/heads/master@{#37066}
2016-06-17 12:04:50 +00:00
ivica.bogosavljevic
d3f3f6c818 Implement WASM big-endian support.
Implement WASM support on big-endian platforms. WASM has
an implicit requirement that it is running on little-endian
machine. We achieve WASM support on BE by keeping data
in memory in little-endian order, and changing data
endianness before storing to memory and after loading from
memory.

BUG=

Review-Url: https://codereview.chromium.org/2034093002
Cr-Commit-Position: refs/heads/master@{#37065}
2016-06-17 11:53:24 +00:00
adamk
43a10a0c4a Disable Array.prototype.values
It still seems to break things in the wild, see attached Chromium
bug for details.

BUG=v8:4247, chromium:615873

Review-Url: https://codereview.chromium.org/2076763003
Cr-Commit-Position: refs/heads/master@{#37064}
2016-06-17 10:40:12 +00:00
mlippautz
849d6b45ef [heap] Preallocate ArrayBufferTracker for new space pages
BUG=chromium:619491
LOG=N

Review-Url: https://codereview.chromium.org/2076093002
Cr-Commit-Position: refs/heads/master@{#37063}
2016-06-17 10:28:49 +00:00
hlopko
eaafd900e9 Introduce EmbedderHeapTracer::EnterFinalPause()
I need this method because of ActiveScriptWrappables, which have to be processed
at the atomic pause even for incremental solution, as there is no other way of
detecting when an object starts or stops being active than querying it.

LOG=no
BUG=468240

Review-Url: https://codereview.chromium.org/2065833003
Cr-Commit-Position: refs/heads/master@{#37062}
2016-06-17 10:25:47 +00:00
jgruber
f5b83dec4e [builtins] Always pass target and new target to C++ builtins
As a first step towards showing builtin frames in stack traces, we will now
push target and new target unconditionally.

Since the various specializations of BuiltinArguments are made redundant by
this change, we can remove them and all related code.

R=bmeurer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2074063002
Cr-Commit-Position: refs/heads/master@{#37061}
2016-06-17 10:19:53 +00:00
mvstanton
42279f16af [Math builtins]: Cleanup in ieee754, restoring MSUN version of log2().
Also added comments for the fdlibm.js port of log10, chosen over the MSUN
version for greater precision.

R=bmeurer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2071823002
Cr-Commit-Position: refs/heads/master@{#37060}
2016-06-17 10:16:54 +00:00
epertoso
c534bd41a0 [x64] Small fixes in the assembler and disassembler.
Disassembler:
added decoding of a few instructions that were previously unsupported, fixed the decoding of pextr.

Assembler:

pmulld(XMMRegister, Operand) was actually emitting a pmuludq.

punpckldq(XMMRegister, XMMRegister) was implemented a second time as punpackldq.

BUG=

Review-Url: https://codereview.chromium.org/2070863002
Cr-Commit-Position: refs/heads/master@{#37059}
2016-06-17 09:28:47 +00:00
mvstanton
4d4eb61111 [builtins] Unify Atanh, Cbrt and Expm1 as exports from flibm.
BUG=v8:5103

Review-Url: https://codereview.chromium.org/2068743002
Cr-Commit-Position: refs/heads/master@{#37058}
2016-06-17 09:14:38 +00:00
mstarzinger
5c5f5c0835 [turbofan] Shortcut checkpoint creation in graph builder.
R=jarin@chromium.org
BUG=v8:5021

Review-Url: https://codereview.chromium.org/2074673002
Cr-Commit-Position: refs/heads/master@{#37057}
2016-06-17 08:38:07 +00:00
machenbach
3249e23e5a [mb] Add presubmit checks
Also comment out some currently unused configs the presubmit
check now complains about. They'll be used soon, once
respective bots are added.

BUG=chromium:616035
TBR=kjellander@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2076053002
Cr-Commit-Position: refs/heads/master@{#37056}
2016-06-17 08:35:15 +00:00
clemensh
b8238f8977 [wasm] Split off debug info from wasm object
All debugging-related information is now stored inside a dedicated
object, which is only allocated if debugging support is needed.
This is also where later a reference to the interpreter will be stored
for executing to-be-debugged functions and providing stack inspection.

R=titzer@chromium.org, ahaas@chromium.org
BUG=chromium:613110

Review-Url: https://codereview.chromium.org/2050953003
Cr-Commit-Position: refs/heads/master@{#37055}
2016-06-17 08:35:14 +00:00
machenbach
c7443874a1 [mb] Fix typo in mb config
BUG=chromium:616035
TBR=kjellander@chromium.org
NOTRY=true
NOTREECHECKS=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2072833004
Cr-Commit-Position: refs/heads/master@{#37054}
2016-06-17 07:50:18 +00:00
jgruber
198e09de5a [builtins] Use BUILTIN frame in DatePrototype_GetField
Construct a BUILTIN frame before throwing an exception from runtime.

R=bmeurer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2078443002
Cr-Commit-Position: refs/heads/master@{#37053}
2016-06-17 07:44:42 +00:00
machenbach
fe8f31e864 [gn] Fix another ia32/x86 typo.
BUG=chromium:619503
TBR=jochen@chromium.org, vogelheim@chromium.org, dpranke@chromium.org, thakis@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2072203002
Cr-Commit-Position: refs/heads/master@{#37052}
2016-06-17 07:44:41 +00:00
jgruber
f47b9e9810 [builtins] Introduce a proper BUILTIN frame type.
This adds a new BUILTIN frame type, which supports variable number of
arguments for builtins implemented in hand-written native code (we will
extend this mechanism to TurboFan builtins at some point). Convert the
Math.max and Math.min builtins to construct a BUILTIN frame if required.

This does not yet work for C++ builtins, but that'll be the next step.

R=bmeurer@chromium.org, jarin@chromium.org
BUG=v8:4815
LOG=n

Review-Url: https://codereview.chromium.org/2069423002
Cr-Commit-Position: refs/heads/master@{#37051}
2016-06-17 07:41:34 +00:00
machenbach
9347cae998 Add linux64 mb configs.
Depends on https://codereview.chromium.org/2071583003/ to
skip redundant clang=1 configs.

BUG=chromium:616035
NOTRY=true

Review-Url: https://codereview.chromium.org/2071793002
Cr-Commit-Position: refs/heads/master@{#37050}
2016-06-17 07:33:16 +00:00
mtrofin
7442f537bc [build] Provide tracing dependency via variable
This avoids introducing an include path outside v8. Instead, the path
to where tracing includes are located is provided via a variable.

Please refer to https://codereview.chromium.org/2068073002.

Once the v8 change makes its way to chromium, we can remove the
TODO in this current change.

BUG=

Review-Url: https://codereview.chromium.org/2061933002
Cr-Commit-Position: refs/heads/master@{#37049}
2016-06-17 07:21:57 +00:00
dpranke
8756f6e90b Update GN build to use v8_target_cpu instead of v8_target_arch.
R=jochen@chromium.org, machenbach@chromium.org, thakis@chromium.org
BUG=chromium:619503

Review-Url: https://codereview.chromium.org/2074003002
Cr-Commit-Position: refs/heads/master@{#37048}
2016-06-17 07:07:30 +00:00
bmeurer
d5f2ac5e33 [builtins] Introduce proper Float64Exp operator.
Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp
TurboFan operator based on that, similar to what we do for Float64Log.
Rewrite Math.exp() as TurboFan builtin and use that operator to also
inline Math.exp() into optimized TurboFan functions.

CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108,chromium:620786
R=mvstanton@chromium.org

Committed: https://crrev.com/93e26314afc9da9b5b8bd998688262444ed73260
Review-Url: https://codereview.chromium.org/2077533002
Cr-Original-Commit-Position: refs/heads/master@{#37037}
Cr-Commit-Position: refs/heads/master@{#37047}
2016-06-17 05:20:59 +00:00
martyn.capewell
d3597aee1f [turbofan] Replace shr of masked bits with zero
If (mask >>> s) == 0, ((x & mask) >> s) == 0, so replace the node with zero in
MachineOperatorReducer.

BUG=

Review-Url: https://codereview.chromium.org/2069973002
Cr-Commit-Position: refs/heads/master@{#37046}
2016-06-17 04:49:32 +00:00
v8-autoroll
01e956c50e Update V8 DEPS.
Rolling v8/build to 6b34ef332946c38d33d0c08c1915d4b392808ebb

Rolling v8/tools/mb to 340ee1614f0ab8aa8b1846d10b26426789dbca0e

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2071073003
Cr-Commit-Position: refs/heads/master@{#37045}
2016-06-17 03:25:58 +00:00
mtrofin
273bb58c33 [wasm] memory size is an uint32_t, not a size_t.
BUG=

Review-Url: https://codereview.chromium.org/2077623002
Cr-Commit-Position: refs/heads/master@{#37044}
2016-06-16 22:23:10 +00:00
jyan
6710159716 PPC/S390: [builtins] Introduce proper Float64Log2 and Float64Log10 operators.
port d9bf520a22

R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com

BUG=v8:5095

Review-Url: https://codereview.chromium.org/2070893002
Cr-Commit-Position: refs/heads/master@{#37043}
2016-06-16 18:05:00 +00:00
mlippautz
2263ee9bf4 Revert of [heap] Add page evacuation mode for new->new (patchset #18 id:440001 of https://codereview.chromium.org/1957323003/ )
Reason for revert:
Fragmentation of LABs could result in increasing memory usage (pages) instead of shrinking.

BUG=chromium:620320
LOG=N

Original issue's description:
> [heap] Add page evacuation mode for new->new
>
> Adds an evacuation mode that allows moving pages within new space without
> copying objects.
>
> Basic idea:
> a) Move page within new space
> b) Sweep page to make iterable and process ArrayBuffers
> c) Finish sweep till next scavenge
>
> Threshold is currently 70% live bytes, i.e., the same threshold we use
> to determine fragmented pages.
>
> BUG=chromium:581412
> LOG=N
> CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel
>
> Committed: https://crrev.com/49b23201671b25092a3c22eb85783f39b95a5f87
> Cr-Commit-Position: refs/heads/master@{#36990}

TBR=ulan@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:581412

Review-Url: https://codereview.chromium.org/2063013005
Cr-Commit-Position: refs/heads/master@{#37042}
2016-06-16 16:55:46 +00:00
jyan
b60da28ced S390: [wasm] Relocatable Globals.
Port 2d1f977c93

Original commit message:

    Support for relocatable globals, to facilitate compilation before
    instantiation.

R=mtrofin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com

BUG=v8:5072
LOG=N

Review-Url: https://codereview.chromium.org/2071883002
Cr-Commit-Position: refs/heads/master@{#37041}
2016-06-16 15:22:32 +00:00