-
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