2e82ead865
This CL adds the --assert-types flag to d8, which is intended to insert additional runtime checks after typed nodes, verifying the validity of our typing rules. So far, only range types are checked. Thanks to Neil Patil for suggesting something similar. R=neis@chromium.org, tebbi@chromium.org Change-Id: I5eb2c482235ec8cd07ee802ca7c12c86c2d3dc40 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1678372 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62664}
18 lines
477 B
JavaScript
18 lines
477 B
JavaScript
// Copyright 2019 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Flags: --allow-natives-syntax --no-assert-types
|
|
|
|
// Check that constant-folding of arithmetic results in identical nodes.
|
|
(function() {
|
|
function foo(x) {
|
|
%TurbofanStaticAssert(1 * x == x + 0);
|
|
};
|
|
%PrepareFunctionForOptimization(foo);
|
|
foo(121);
|
|
foo(122);
|
|
%OptimizeFunctionOnNextCall(foo);
|
|
foo(123);
|
|
})();
|