Revision f230a1cf deps/v8/src/hydrogen-uint32-analysis.cc
deps/v8/src/hydrogen-uint32-analysis.cc | ||
---|---|---|
35 | 35 |
// Operations that operate on bits are safe. |
36 | 36 |
if (use->IsBitwise() || use->IsShl() || use->IsSar() || use->IsShr()) { |
37 | 37 |
return true; |
38 |
} else if (use->IsChange() || use->IsSimulate()) { |
|
39 |
// Conversions and deoptimization have special support for unt32. |
|
38 |
} else if (use->IsSimulate()) { |
|
39 |
// Deoptimization has special support for uint32. |
|
40 |
return true; |
|
41 |
} else if (use->IsChange()) { |
|
42 |
// Conversions have special support for uint32. |
|
43 |
// This ASSERT guards that the conversion in question is actually |
|
44 |
// implemented. Do not extend the whitelist without adding |
|
45 |
// support to LChunkBuilder::DoChange(). |
|
46 |
ASSERT(HChange::cast(use)->to().IsDouble() || |
|
47 |
HChange::cast(use)->to().IsSmi() || |
|
48 |
HChange::cast(use)->to().IsTagged()); |
|
40 | 49 |
return true; |
41 | 50 |
} else if (use->IsStoreKeyed()) { |
42 | 51 |
HStoreKeyed* store = HStoreKeyed::cast(use); |
Also available in: Unified diff