diff --git a/src/compiler/node-properties.cc b/src/compiler/node-properties.cc index ad0680d489..13dc7788ae 100644 --- a/src/compiler/node-properties.cc +++ b/src/compiler/node-properties.cc @@ -328,6 +328,7 @@ MachineRepresentation NodeProperties::GetProjectionType( : MachineRepresentation::kBit; case IrOpcode::kTryTruncateFloat32ToInt64: case IrOpcode::kTryTruncateFloat64ToInt64: + case IrOpcode::kTryTruncateFloat64ToUint64: case IrOpcode::kTryTruncateFloat32ToUint64: CHECK_LE(index, static_cast(1)); return index == 0 ? MachineRepresentation::kWord64 diff --git a/test/mjsunit/compiler/regress-crbug-1399490.js b/test/mjsunit/compiler/regress-crbug-1399490.js new file mode 100644 index 0000000000..84f982a9c1 --- /dev/null +++ b/test/mjsunit/compiler/regress-crbug-1399490.js @@ -0,0 +1,24 @@ +// Copyright 2023 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 --turboshaft +// Flags: --stress-concurrent-inlining --expose-fast-api + +const fast_c_api = new d8.test.FastCAPI(); + +function foo() { + fast_c_api.enforce_range_compare_u64(undefined, "", "/0/"); +} + +%PrepareFunctionForOptimization(foo); +try { + foo(); +} catch { +} + +%OptimizeFunctionOnNextCall(foo); +try { + foo(); +} catch { +}