• bmeurer's avatar
    [intrinsics] Kill the %_IsMinusZero intrinsic. · 00f7d1f5
    bmeurer authored
    By now only the default %TypedArray%.prototype.sort compare function
    and the JS implementation of SameValueZero were still using the odd
    %_IsMinusZero intrinsic, whose semantics both included a number check
    (actually HeapNumber test) plus testing if the heap number stores the
    special -0 value. In both cases we already know that we deal with
    number so we can reduce it to a simple number test for -0, which can
    be expressed via dividing 1 by that value and checking the sign of
    the result. In case of the compare function, we can be even smarter
    and work with the reciprocal values in case x and y are equal to 0
    (although long term we should probably rewrite the fast case for
    the typed array sorting function in C++ anyway, which will be way,
    way faster than our handwritten callback-style, type-feedback
    polluted JS implementation).
    
    R=yangguo@chromium.org
    
    Review URL: https://codereview.chromium.org/1680783002
    
    Cr-Commit-Position: refs/heads/master@{#33833}
    00f7d1f5
Name
Last commit
Last update
..
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-i18n.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-interpreter.cc Loading commit data...
runtime-json.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-liveedit.cc Loading commit data...
runtime-maths.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-observe.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-simd.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-uri.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...