• vegorov@chromium.org's avatar
    Allow uint32 value on optimized frames if they are consumed by safe operations. · f476d4d4
    vegorov@chromium.org authored
    Safe operations are those that either do not observe unsignedness or have special support for uint32 values:
    
    - all binary bitwise operations: they perform ToInt32 on inputs;
    - >> and << shifts: they perform ToInt32 on left hand side and ToUint32 on right hand side;
    - >>> shift: it performs ToUint32 on both inputs;
    - stores to integer external arrays (not pixel, float or double ones): these stores are "bitwise";
    - HChange: special support added for conversions of uint32 values to double and tagged values;
    - HSimulate: special support added for deoptimization with uint32 values in registers and stack slots;
    - HPhi: phis that have only safe uses and only uint32 operands are uint32 themselves.
    
    BUG=v8:2097
    TEST=test/mjsunit/compiler/uint32.js
    
    Review URL: https://chromiumcodereview.appspot.com/10778029
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    f476d4d4
Name
Last commit
Last update
..
assembler-ia32-inl.h Loading commit data...
assembler-ia32.cc Loading commit data...
assembler-ia32.h Loading commit data...
builtins-ia32.cc Loading commit data...
code-stubs-ia32.cc Loading commit data...
code-stubs-ia32.h Loading commit data...
codegen-ia32.cc Loading commit data...
codegen-ia32.h Loading commit data...
cpu-ia32.cc Loading commit data...
debug-ia32.cc Loading commit data...
deoptimizer-ia32.cc Loading commit data...
disasm-ia32.cc Loading commit data...
frames-ia32.cc Loading commit data...
frames-ia32.h Loading commit data...
full-codegen-ia32.cc Loading commit data...
ic-ia32.cc Loading commit data...
lithium-codegen-ia32.cc Loading commit data...
lithium-codegen-ia32.h Loading commit data...
lithium-gap-resolver-ia32.cc Loading commit data...
lithium-gap-resolver-ia32.h Loading commit data...
lithium-ia32.cc Loading commit data...
lithium-ia32.h Loading commit data...
macro-assembler-ia32.cc Loading commit data...
macro-assembler-ia32.h Loading commit data...
regexp-macro-assembler-ia32.cc Loading commit data...
regexp-macro-assembler-ia32.h Loading commit data...
simulator-ia32.cc Loading commit data...
simulator-ia32.h Loading commit data...
stub-cache-ia32.cc Loading commit data...