• bmeurer's avatar
    [stubs] Improve code generation for ToBoolean. · 0abba435
    bmeurer authored
    Introduce a proper CodeStubAssembler::BranchIfToBooleanIsTrue helper
    method, that branches to if_true/if_false labels depending on whether
    the value that is passed would yield true or false when fed to
    ToBoolean. Use this helper to implement the bytecode handlers w/o having
    to materialize the temporary booleans and essentially branching twice.
    The CodeStubAssembler::BranchIfToBooleanIsTrue helper favors the most
    likely case of a Boolean constant now.
    
    Also migrate the ToBooleanStub to a ToBoolean TurboFan builtin, that
    also uses the helper method under the hood.
    
    Remove the now obsolete Oddball::to_boolean field.
    
    R=hpayer@chromium.org, rmcilroy@chromium.org, yangguo@chromium.org
    
    Review-Url: https://codereview.chromium.org/2151163002
    Cr-Commit-Position: refs/heads/master@{#37849}
    0abba435
Name
Last commit
Last update
..
OWNERS Loading commit data...
array-buffer-tracker-inl.h Loading commit data...
array-buffer-tracker.cc Loading commit data...
array-buffer-tracker.h Loading commit data...
code-stats.cc Loading commit data...
code-stats.h Loading commit data...
gc-idle-time-handler.cc Loading commit data...
gc-idle-time-handler.h Loading commit data...
gc-tracer.cc Loading commit data...
gc-tracer.h Loading commit data...
heap-inl.h Loading commit data...
heap.cc Loading commit data...
heap.h Loading commit data...
incremental-marking-inl.h Loading commit data...
incremental-marking-job.cc Loading commit data...
incremental-marking-job.h Loading commit data...
incremental-marking.cc Loading commit data...
incremental-marking.h Loading commit data...
mark-compact-inl.h Loading commit data...
mark-compact.cc Loading commit data...
mark-compact.h Loading commit data...
marking.h Loading commit data...
memory-reducer.cc Loading commit data...
memory-reducer.h Loading commit data...
object-stats.cc Loading commit data...
object-stats.h Loading commit data...
objects-visiting-inl.h Loading commit data...
objects-visiting.cc Loading commit data...
objects-visiting.h Loading commit data...
page-parallel-job.h Loading commit data...
remembered-set.cc Loading commit data...
remembered-set.h Loading commit data...
scavenge-job.cc Loading commit data...
scavenge-job.h Loading commit data...
scavenger-inl.h Loading commit data...
scavenger.cc Loading commit data...
scavenger.h Loading commit data...
slot-set.h Loading commit data...
spaces-inl.h Loading commit data...
spaces.cc Loading commit data...
spaces.h Loading commit data...
store-buffer.cc Loading commit data...
store-buffer.h Loading commit data...