New issue
Advanced search Search tips

Issue 664084 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug

Blocking:
issue 661577



Sign in to add a comment

Missing ToNumber conversion in Crankshaft.

Project Member Reported by machenb...@chromium.org, Nov 10 2016

Issue description

# Minimized program:
print(+({} + 1));

# Compared default with noturbo_opt

# Flags of default:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit  --random-seed -284293737
# Flags of noturbo_opt:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit  --random-seed -284293737 --always-opt --turbo-filter=~ --noturbo-asm

Difference:
- NaN
+ [object Object]1

### Start of configuration default:
NaN

### End of configuration default

### Start of configuration noturbo_opt:
[object Object]1

### End of configuration noturbo_opt

 
Labels: Arch-All OS-All
Owner: bmeu...@chromium.org
Status: Started (was: Untriaged)
Summary: Missing ToNumber conversion in Crankshaft. (was: Difference between turbofan? and crankshaft: NaN conversion)
Reduces to simple test case:

===================================
// Flags: --allow-natives-syntax

function foo() {
  return +({} + 1);
}

assertEquals(NaN, foo());
assertEquals(NaN, foo());
%OptimizeFunctionOnNextCall(foo);
assertEquals(NaN, foo());
===================================

Crankshaft has trouble with ToNumber.
Status: Fixed (was: Started)
Labels: v8-foozzie-failure

Sign in to add a comment