Commit Graph

37288 Commits

Author SHA1 Message Date
julien.gilli
cd96c7ccd5 add post-mortem metadata for frames type
Previously (and still currently for some of them), post-mortem debugging
tools were using StandardFrameConstants::kContextOffset as the offset to
get the value that represents a frame's type.

However since https://codereview.chromium.org/1696043002, a new, more
general offset was introduced:
CommonFrameConstants::kContextOrFrameTypeOffset.

In order for post-mortem debugging tools to use this constant, it is
included in the generated post-mortem metadata.

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

Review-Url: https://codereview.chromium.org/2655553006
Cr-Commit-Position: refs/heads/master@{#42746}
2017-01-27 18:19:08 +00:00
bjaideep
e668872857 PPC/s390: [turbofan] Introduce JSCallForwardVarargs operator.
Port 69747e2658

Original Commit Message:

    We turn a JSCallFunction node for

      f.apply(receiver, arguments)

    into a JSCallForwardVarargs node, when the arguments refers to the
    arguments of the outermost optimized code object, i.e. not an inlined
    arguments, and the apply method refers to Function.prototype.apply,
    and there's no other user of arguments except in frame states.

    We also replace the arguments node in the graph with a marker for
    the Deoptimizer similar to Crankshaft to make sure we don't materialize
    unused arguments just for the sake of deoptimization. We plan to replace
    this with a saner EscapeAnalysis based solution soon.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:5267,v8:5726
LOG=N

Review-Url: https://codereview.chromium.org/2656363002
Cr-Commit-Position: refs/heads/master@{#42745}
2017-01-27 17:48:34 +00:00
marja
53667c89b0 [parser] Skipping inner funcs: produce correct data for var redeclarations.
This unifies the behavior of Scope::DeclareVariableName with
Scope::DeclareVariable.

BUG=v8:5516

Review-Url: https://codereview.chromium.org/2658063005
Cr-Commit-Position: refs/heads/master@{#42744}
2017-01-27 16:33:36 +00:00
machenbach
aaaffd3758 [CQ] Make verify-csa bots block CQ
BUG=chromium:685561
NOTRY=true
TBR=danno@chromium.org, kjellander@chromium.org

Review-Url: https://codereview.chromium.org/2650383008
Cr-Commit-Position: refs/heads/master@{#42743}
2017-01-27 15:34:45 +00:00
marja
5f950698c0 [objects.h splitting] Move out ConstantElementsPair and BoileplateDescriptor.
BUG=v8:5402

Review-Url: https://codereview.chromium.org/2663513002
Cr-Commit-Position: refs/heads/master@{#42742}
2017-01-27 15:29:47 +00:00
ivica.bogosavljevic
2f728bd9a0 MIPS[64]: Prevent multiple instances of tests that require a lot of memory
Some tests require a lot of memory and they fail on buildbots if they run
in parallel with other tests of the same kind.
We try to limit this by disabling multiple vairants of the same tests,
assuming this would stop the failures in most of the cases.

BUG=

Review-Url: https://codereview.chromium.org/2653603002
Cr-Commit-Position: refs/heads/master@{#42741}
2017-01-27 14:15:59 +00:00
marja
92f36954bb [iwyu] Include handles.h less.
These headers only need forward declarations.

BUG=v8:5294

Review-Url: https://codereview.chromium.org/2654253002
Cr-Commit-Position: refs/heads/master@{#42740}
2017-01-27 13:53:13 +00:00
marja
2dac4588ee [parser] Skipping inner funcs: make basic variable declarations work.
BUG=v8:5516

Review-Url: https://codereview.chromium.org/2659053002
Cr-Commit-Position: refs/heads/master@{#42739}
2017-01-27 13:24:26 +00:00
mstarzinger
9ea3fe0bb3 Adapt use-site to new BoilerplateDescription.
This makes sure all use-site of {ObjectLiteral::constant_properties} are
adapted to use the correct {BoilerplateDescription} type instead of just
the {FixedArray} base type.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2659603003
Cr-Commit-Position: refs/heads/master@{#42738}
2017-01-27 13:02:45 +00:00
tebbi
c1a43ff996 [turbofan] No longer ignore FrameState input to Call
R=mstarzinger@chromium.org

BUG=chromium:683566

Review-Url: https://codereview.chromium.org/2653953010
Cr-Commit-Position: refs/heads/master@{#42737}
2017-01-27 12:40:05 +00:00
bmeurer
b975441e77 [turbofan] Introduce dedicated StringIndexOf operator.
The StringIndexOf operation is pure on the JS level, but the actual stub
call must be in the effect chain later so that the Scheduler doesn't
place it inside some allocation region (The %StringIndexOf runtime
function may trigger a GC for string flattening).

BUG=chromium:685580
R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2657243002
Cr-Commit-Position: refs/heads/master@{#42736}
2017-01-27 12:02:42 +00:00
ishell
c5644146bc [tests] Fix assertUnoptimized() when --deopt-every-n-times flag is used.
Basically, with --deopt-every-n-times flag all bets are off since
the functions can be optimized and deoptimized at any time.

BUG=v8:5890

Review-Url: https://codereview.chromium.org/2655263004
Cr-Commit-Position: refs/heads/master@{#42735}
2017-01-27 11:58:47 +00:00
danno
5344571580 Make enabling of CSA verifier a build-time flag
BUG=chromium:685561

Review-Url: https://codereview.chromium.org/2650273006
Cr-Commit-Position: refs/heads/master@{#42734}
2017-01-27 11:32:27 +00:00
danno
7046c14d35 [csa] Make argc parameter to CodeStubArguments constructor use ParameterMode
Review-Url: https://codereview.chromium.org/2661483002
Cr-Commit-Position: refs/heads/master@{#42733}
2017-01-27 11:20:07 +00:00
predrag.rudic
dbbd2da128 MIPS: Workaround for bug in MIPS Android compiler
This patch fixes an issue with compilation with MIPS Android compiler
NDK r12b, gcc version mipsel-linux-android-g++ (GCC) 4.9.x 20150123
(prerelease).
The problem has been reported to the compiler team, the workaround
should be reverted when the issue with compiler is resolved.

BUG=

Review-Url: https://codereview.chromium.org/2652673002
Cr-Commit-Position: refs/heads/master@{#42732}
2017-01-27 11:17:36 +00:00
ishell
4a5446fb2b [tests] Make assertOptimized()/assertUnoptimized() great again.
The mentioned asserts did not work properly with interpreted and turbofanned functions.

To fix this issue %GetOptimizationStatus() now returns a set of flags instead of a single value.

This CL also adds more helper functions to mjsunit, like isNeverOptimize(), isAlwaysOptimize(),
isOptimized(fun), etc.

BUG=v8:5890

Review-Url: https://codereview.chromium.org/2654733004
Cr-Original-Commit-Position: refs/heads/master@{#42703}
Committed: d1ddec7857
Review-Url: https://codereview.chromium.org/2654733004
Cr-Commit-Position: refs/heads/master@{#42731}
2017-01-27 10:13:53 +00:00
clemensh
e29a2cd529 [wasm] Interpreter: Don't pause on invalid position
Always execute the implicit return if we fell off the function bytes.
This is not considered an additional "step" as it is not executing a
wasm instruction.
Otherwise, we might pause at an invalid position (one after the
function bytes).

R=titzer@chromium.org
BUG=v8:5822

Review-Url: https://codereview.chromium.org/2650293003
Cr-Commit-Position: refs/heads/master@{#42730}
2017-01-27 09:48:08 +00:00
clemensh
b7947f8cd7 [wasm] Add inspector test for stepping
This also fixes bugs found by the new test. It only tests stepping
inside of wasm code. Wasm to JS and vice versa will follow in another
CL.

R=yangguo@chromium.org, titzer@chromium.org, kozyatinskiy@chromium.org
BUG=v8:5822

Review-Url: https://codereview.chromium.org/2651043004
Cr-Commit-Position: refs/heads/master@{#42729}
2017-01-27 08:50:50 +00:00
machenbach
21340ded47 [foozzie] Improve mocking stack traces
BUG=chromium:685633
NOTRY=true

Review-Url: https://codereview.chromium.org/2654273004
Cr-Commit-Position: refs/heads/master@{#42728}
2017-01-27 08:49:39 +00:00
danno
fd918b595b [stubs] Fix bug in ArrayPush builtin that only surfaces on MIPS debug
The v8 waterfall currently doesn't run MIPS tests in the debug configuration,
so although there are tests that would have found them, they currently are
not running in the standard CI setup. A bug has been fixed to add the debug
configuration of MIPS & MIPS64, too.

Review-Url: https://codereview.chromium.org/2654263002
Cr-Commit-Position: refs/heads/master@{#42727}
2017-01-27 08:48:28 +00:00
machenbach
9be4934d6f [foozzie] Make Error immutable to prevent changes to stack-trace api
BUG=chromium:685633
NOTRY=true
TBR=yangguo@chromium.org, jarin@chromium.org

Review-Url: https://codereview.chromium.org/2658223002
Cr-Commit-Position: refs/heads/master@{#42726}
2017-01-27 08:35:30 +00:00
yangguo
3f47c63ded [liveedit] reimplement frame restarting.
Previously, when restarting a frame, we would rewrite all frames
between the debugger activation and the frame to restart to squash
them, and replace the return address with that of a builtin to
leave that rewritten frame, and restart the function by calling it.

We now simply remember the frame to drop to, and upon returning
from the debugger, we check whether to drop the frame, load the
new FP, and restart the function.

R=jgruber@chromium.org, mstarzinger@chromium.org
BUG=v8:5587

Review-Url: https://codereview.chromium.org/2636913002
Cr-Commit-Position: refs/heads/master@{#42725}
2017-01-27 07:31:03 +00:00
yukishiino
34bee46b0b Exposes Symbol.toPrimitive in C++ APIs as Symbol::GetToPrimitive.
As Blink needs to set Symbol.toPrimitive, exposes the symbol in C++ APIs
as Symbol::GetToPrimitive.

BUG=chromium:680409

Review-Url: https://codereview.chromium.org/2657933003
Cr-Commit-Position: refs/heads/master@{#42724}
2017-01-27 07:29:15 +00:00
danno
b362609efe [csa] Add some missing Smi* wrappers
Review-Url: https://codereview.chromium.org/2655243003
Cr-Commit-Position: refs/heads/master@{#42723}
2017-01-27 07:25:26 +00:00
clemensh
c6663ef1c1 [inspector] Expose GetPossibleBreakpoints for wasm
and add an inspector test for it. Also test that a breakpoint can be
set on each reported position, and that it is also hit during
execution.
This CL also fixes two little things which were uncovered by the new
test.

R=yangguo@chromium.org, titzer@chromium.org, kozyatinskiy@chromium.org
BUG=v8:5822

Review-Url: https://codereview.chromium.org/2655653003
Cr-Commit-Position: refs/heads/master@{#42722}
2017-01-27 07:20:09 +00:00
v8-autoroll
fec83a2a5a Update V8 DEPS.
Rolling v8/build: 6f17189..c3da457

Rolling v8/third_party/catapult: e1e778d..683b84f

Rolling v8/tools/clang: 017f4e5..dbc7572

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

Review-Url: https://codereview.chromium.org/2650853009
Cr-Commit-Position: refs/heads/master@{#42721}
2017-01-27 04:25:56 +00:00
alph
c99c25a988 [profiler] Fix a memory leak of CodeEvent objects
BUG=v8:5753

Review-Url: https://codereview.chromium.org/2655963003
Cr-Commit-Position: refs/heads/master@{#42720}
2017-01-27 01:12:53 +00:00
ahaas
2a78f2980b [x64] Do not compact constants with attached reloc info.
Reloc info often means that the constant will be patched later, and for
this patching we have to make sure that there is enough space in the
code for the new value.

R=bmeurer@chromium.org, titzer@chromium.org, gdeepti@chromium.org
BUG=chromium:684407
TEST=cctest/test-assembler-x64/Regression684407

Review-Url: https://codereview.chromium.org/2655213003
Cr-Commit-Position: refs/heads/master@{#42719}
2017-01-27 00:34:42 +00:00
jbroman
78c0be52d2 ValueSerializer: Promote scheduled exceptions from wasm::ErrorThrower.
wasm::ErrorThrower doesn't actually throw exceptions, it just schedules them.
As a result, this exception isn't handled properly by code which expects
ValueDeserializer to actually throw. For instance, the unit tests use a
TryCatch to catch and handle expected exceptions in unit tests.

Before this patch, I see local unit test failures because a wasm decode test
schedules one, but it isn't caught (and instead causes Context::New to fail
at the beginning of the next test).

BUG=685713

Review-Url: https://codereview.chromium.org/2659483004
Cr-Commit-Position: refs/heads/master@{#42718}
2017-01-26 22:18:29 +00:00
gdeepti
e6d13999fd [wasm] Memory buffer should be detached after Memory.Grow
Memory.Grow should detach the ArrayBuffer associated with the Mem object after Grow. Currently, when guard pages are enabled protection is changed to make more of the buffer accessible. This does not work for when the buffer should be detached after grow, because the memory object has a reference to the same buffer befor/after grow.

R=titzer@chromium.org, eholk@chromium.org

Review-Url: https://codereview.chromium.org/2653183003
Cr-Commit-Position: refs/heads/master@{#42717}
2017-01-26 22:15:59 +00:00
mtrofin
373320aef9 [wasm] flag for asm-wasm investigations
This is a flag useful for testing/perf investigations for asm-wasm.

We can dump the internal representation of a asm.js module (when asm-wasm is
enabled with --validate-asm) using --dump-wasm-module. We can't pick that
module afterwards because it contains non-compliant opcodes - used as
implementation detail of our asm-wasm pipeline.

This flag forces asm.js origin on the decoder.

BUG=

Review-Url: https://codereview.chromium.org/2656103003
Cr-Commit-Position: refs/heads/master@{#42716}
2017-01-26 21:59:33 +00:00
kozyatinskiy
adc42c3a82 [inspector] take into account inlined frames in ::HasNonBlackboxedFrameOnStack
BUG=v8:5842, chromium:583193
R=yangguo@chromium.org,dgozman@chromium.org,alph@chromium.org

Review-Url: https://codereview.chromium.org/2656743003
Cr-Commit-Position: refs/heads/master@{#42715}
2017-01-26 21:32:53 +00:00
kozyatinskiy
0ac7970a60 [inspector] don't ignore uncaught exception if at least 1 frame isn't blackboxed
- and fixed test.

BUG=v8:5842, chromium:583193
R=yangguo@chromium.org,dgozman@chromium.org,alph@chromium.org

Review-Url: https://codereview.chromium.org/2651683005
Cr-Commit-Position: refs/heads/master@{#42714}
2017-01-26 20:57:03 +00:00
bmeurer
7be3b4c90f [turbofan] Don't try to optimize tail calls to .apply.
BUG=chromium:685634
R=ishell@chromium.org

Review-Url: https://codereview.chromium.org/2658853002
Cr-Commit-Position: refs/heads/master@{#42713}
2017-01-26 20:52:21 +00:00
brettw
9d9711a8eb Remove build_overrides/v8.gni.
Chrome now uses the default_args system for specifying its own definitions of
these variables so the separate file in build_overrides is no longer necessary.

BUG=684096

Review-Url: https://codereview.chromium.org/2652263003
Cr-Commit-Position: refs/heads/master@{#42712}
2017-01-26 20:18:58 +00:00
leszeks
ba1d747d6f [ast] Temporarily allow handle dereference for debug printing
There is a print in AstNumbering which needs to dereference the string
containing the function name, which clashes with the disallowed handle
reference scope used to allow ast-numbering to run off-thread.

This could be fixed by pushing the print out of this function, and
somehow propagating disable_crankshaft_reason out of the visitor, but in
reality this check will soon be removed anyway, and until it is this
function will be on the main thread, so we may as well just hack it.

Review-Url: https://codereview.chromium.org/2653953006
Cr-Commit-Position: refs/heads/master@{#42711}
2017-01-26 18:43:07 +00:00
mtrofin
70fdac9a64 [turbofan] Correct regalloc blocked register behavior
This corrects the case when we need to allocate a
blocked register, but the blockage happens after a
use as an instruction input, and there's no place to
split before that.

BUG=v8:5888

Review-Url: https://codereview.chromium.org/2652153005
Cr-Original-Commit-Position: refs/heads/master@{#42706}
Committed: ca779b29a6
Review-Url: https://codereview.chromium.org/2652153005
Cr-Commit-Position: refs/heads/master@{#42710}
2017-01-26 17:47:54 +00:00
ishell
a8a432701f [tests] Cleanup tests that use assertOptimized()/assertUnoptimized().
This CL adds --crankshaft and --no-always-opt flags to the tests that use
assertOptimized() and assertUnoptimized() respectively.

This CL also adds presubmit checks that ensure that tests have the proper
flags set.

BUG=v8:5890

Review-Url: https://codereview.chromium.org/2653753007
Cr-Commit-Position: refs/heads/master@{#42709}
2017-01-26 17:39:09 +00:00
bjaideep
cc075f0e83 PPC/s390: [Turbofan] Implement call with spread bytecode in assembly code.
Port f9367847b0
Port bf782ec512

Original Commit Message:

    We can share almost all of the architecture-specific builtin code with super-call-with-spread.

    Info to port-writers: The code in CheckSpreadAndPushToStack has changed slightly
    from what was in Generate_ConstructWithSpread, in that we take the length of the
    spreaded parameters from the JSArray rather than the FixedArray backing store.

R=petermarshall@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:5511
LOG=N

Review-Url: https://codereview.chromium.org/2655043004
Cr-Commit-Position: refs/heads/master@{#42708}
2017-01-26 16:34:01 +00:00
ahaas
2b97f79afa Revert of [turbofan] Correct regalloc blocked register behavior (patchset #2 id:60001 of https://codereview.chromium.org/2652153005/ )
Reason for revert:
Introduces new crashers, e.g.

load("test/mjsunit/wasm/wasm-constants.js");
load("test/mjsunit/wasm/wasm-module-builder.js");

(function() {
  var builder = new WasmModuleBuilder();
  builder.addMemory(16, 32, false);
  builder.addFunction("test", kSig_i_iii)
    .addBodyWithEnd([
// body:
kExprI64Const, 0x42,
kExprI64Const, 0x7a,
kExprI64Ctz,
kExprI64Mul,
kExprI64Ctz,
kExprI64Const, 0x41,
kExprI64Ctz,
kExprI64Ctz,
kExprI64Shl,
kExprI64Const, 0x41,
kExprI64Ctz,
kExprI64Ctz,
kExprI64Shl,
kExprF32SConvertI64,
kExprUnreachable,
kExprEnd,   // @20
            ])
            .exportFunc();
  var module = builder.instantiate();
  module.exports.test(1, 2, 3);
})();

Original issue's description:
> [turbofan] Correct regalloc blocked register behavior
>
>
> This corrects the case when we need to allocate a
> blocked register, but the blockage happens after a
> use as an instruction input, and there's no place to
> split before that.
>
> BUG=v8:5888
>
> Review-Url: https://codereview.chromium.org/2652153005
> Cr-Commit-Position: refs/heads/master@{#42706}
> Committed: ca779b29a6

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

Review-Url: https://codereview.chromium.org/2654993007
Cr-Commit-Position: refs/heads/master@{#42707}
2017-01-26 16:05:36 +00:00
mtrofin
ca779b29a6 [turbofan] Correct regalloc blocked register behavior
This corrects the case when we need to allocate a
blocked register, but the blockage happens after a
use as an instruction input, and there's no place to
split before that.

BUG=v8:5888

Review-Url: https://codereview.chromium.org/2652153005
Cr-Commit-Position: refs/heads/master@{#42706}
2017-01-26 15:51:47 +00:00
bjaideep
842748006d PPC/s390: [TypeFeedbackVector] DeclareGlobals needs a literals array
Port d287c81969

Original Commit Message:

    [RELAND with one change: until literal arrays are rooted in the outer
    feedback vector (coming in the next days), the runtime-scope.cc change
    is held off.]

    When a function is declared in global scope, the closure is created
    by the DeclareGlobals runtime service. It needs a pointer to the
    literals array, already allocated in the feedback vector. This
    fixes a bug where it's behavior wasn't in sync with CreateClosure,
    which accepts the literals from the vector.

    This enables a follow-on performance improvement in the CompileLazy
    builtin.

R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=680637
LOG=N

Review-Url: https://codereview.chromium.org/2658053002
Cr-Commit-Position: refs/heads/master@{#42705}
2017-01-26 15:42:59 +00:00
machenbach
d2d99e084a Revert of [tests] Make assertOptimized()/assertUnoptimized() great again. (patchset #6 id:130042 of https://codereview.chromium.org/2654733004/ )
Reason for revert:
Mac gc stress failures:
https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/11195

There's also this flake, but maybe unrelated:
https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/15422

Original issue's description:
> [tests] Make assertOptimized()/assertUnoptimized() great again.
>
> The mentioned asserts did not work properly with interpreted and turbofanned functions.
>
> To fix this issue %GetOptimizationStatus() now returns a set of flags instead of a single value.
>
> This CL also adds more helper functions to mjsunit, like isNeverOptimize(), isAlwaysOptimize(),
> isOptimized(fun), etc.
>
> BUG=v8:5890
>
> Review-Url: https://codereview.chromium.org/2654733004
> Cr-Commit-Position: refs/heads/master@{#42703}
> Committed: d1ddec7857

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

Review-Url: https://codereview.chromium.org/2655223003
Cr-Commit-Position: refs/heads/master@{#42704}
2017-01-26 15:04:47 +00:00
ishell
d1ddec7857 [tests] Make assertOptimized()/assertUnoptimized() great again.
The mentioned asserts did not work properly with interpreted and turbofanned functions.

To fix this issue %GetOptimizationStatus() now returns a set of flags instead of a single value.

This CL also adds more helper functions to mjsunit, like isNeverOptimize(), isAlwaysOptimize(),
isOptimized(fun), etc.

BUG=v8:5890

Review-Url: https://codereview.chromium.org/2654733004
Cr-Commit-Position: refs/heads/master@{#42703}
2017-01-26 14:35:29 +00:00
mstarzinger
06b46ab1df Fix compilation after 73980ae4a1.
TBR=mvstanton@chromium.org

Review-Url: https://codereview.chromium.org/2658463004
Cr-Commit-Position: refs/heads/master@{#42702}
2017-01-26 14:29:24 +00:00
danno
abd9610eda [mips] Fix code generation bug in handling of immediates
When testing turning --verify-csa off to generate better code for builtins, mips
started failing mksnapshot due to an assert in instruction-selection-mips.cc's
VisitBinop routine, which creates a buffer to hold InstructionOperand of size 4
that would be overflowed. This fix is somewhat speculative, assuming that either
the LHS or the RHS operand of a mips binary op can be an immediate (as opposed
to the current code which seems to have a code path where both the left and
right operands are added, leading to the buffer overflow). With this fix, the
assert doesn't fire and all of the mips tests run through successfully in debug
mode.

R=ishell@chromium.org
TBR=dusan.m.milosavljevic@gmail.com

Review-Url: https://codereview.chromium.org/2647283009
Cr-Commit-Position: refs/heads/master@{#42701}
2017-01-26 14:22:20 +00:00
machenbach
5129880ad5 [CQ] Add verify-csa bot experimentally to CQ
BUG=chromium:685561
NOTRY=true
TBR=danno@chromium.org, kjellander@chromium.org

Review-Url: https://codereview.chromium.org/2652653013
Cr-Commit-Position: refs/heads/master@{#42700}
2017-01-26 14:21:12 +00:00
bmeurer
7f441a5e1b [turbofan] Instance types don't change, so no need to watch for side effects.
The instance type of an object cannot change, only the concrete map
might. So when searching for an instance type witness, we don't need
to pay attention to potentially side-effecting nodes.

R=mstarzinger@chromium.org

Review-Url: https://codereview.chromium.org/2652893011
Cr-Commit-Position: refs/heads/master@{#42699}
2017-01-26 14:14:54 +00:00
machenbach
169b85673f [build] Add configs for verify-csa bots
This adds MB configs for the four verify-csa bots (gn only).

BUG=chromium:685561
NOTRY=true
NOTREECHECKS=true
TBR=danno@chromium.org, kjellander@chromium.org

Review-Url: https://codereview.chromium.org/2659583002
Cr-Commit-Position: refs/heads/master@{#42698}
2017-01-26 14:10:55 +00:00
mstarzinger
e752bcc216 [turbofan] Ensure {CheckMaps} is not used accross mutations.
This makes sure that static guarantees about object maps are not used
accross operations on the effect chain that might trigger a map change.
Such operations are missing the {Operator::kNoWrite} property.

R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-685506
BUG=chromium:685506

Review-Url: https://codereview.chromium.org/2653273004
Cr-Commit-Position: refs/heads/master@{#42697}
2017-01-26 12:57:04 +00:00