• 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
..
benchmarks Loading commit data...
cctest Loading commit data...
es5conform Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
sputnik Loading commit data...
test262 Loading commit data...