• kmillikin@chromium.org's avatar
    Simple toplevel code generator support for short-circuited boolean OR · e82a07c0
    kmillikin@chromium.org authored
    in a non-test (ie, value or effect) context.  (It is implicitly not in
    a test context because the code generator does not support expressions
    in a test context yet.)
    
    Compilation is essentially the same as in the optimized code
    generator.  The expression (e0 || e1) is compiled as if it were
    (let (temp = e0) temp ? temp : e1).
    
    On ia32 and x64 a single shared ToBoolean stub is used to convert a
    value to a flag.  The inlined checks assumed by the stub are reordered
    to compare to undefined (the common case in toplevel code?) first.  On
    ARM a call to the runtime is used.  In the interest of code size no
    checks are yet inlined on ARM.
    
    Review URL: http://codereview.chromium.org/334006
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    e82a07c0
Name
Last commit
Last update
..
assembler-arm-inl.h Loading commit data...
assembler-arm.cc Loading commit data...
assembler-arm.h Loading commit data...
builtins-arm.cc Loading commit data...
codegen-arm-inl.h Loading commit data...
codegen-arm.cc Loading commit data...
codegen-arm.h Loading commit data...
constants-arm.cc Loading commit data...
constants-arm.h Loading commit data...
cpu-arm.cc Loading commit data...
debug-arm.cc Loading commit data...
disasm-arm.cc Loading commit data...
fast-codegen-arm.cc Loading commit data...
frames-arm.cc Loading commit data...
frames-arm.h Loading commit data...
ic-arm.cc Loading commit data...
jump-target-arm.cc Loading commit data...
macro-assembler-arm.cc Loading commit data...
macro-assembler-arm.h Loading commit data...
regexp-macro-assembler-arm.cc Loading commit data...
regexp-macro-assembler-arm.h Loading commit data...
register-allocator-arm-inl.h Loading commit data...
register-allocator-arm.cc Loading commit data...
register-allocator-arm.h Loading commit data...
simulator-arm.cc Loading commit data...
simulator-arm.h Loading commit data...
stub-cache-arm.cc Loading commit data...
virtual-frame-arm.cc Loading commit data...
virtual-frame-arm.h Loading commit data...