| Index: src/hydrogen.cc
|
| ===================================================================
|
| --- src/hydrogen.cc (revision 14364)
|
| +++ src/hydrogen.cc (working copy)
|
| @@ -10041,6 +10041,21 @@
|
| }
|
|
|
|
|
| +void HOptimizedGraphBuilder::HandleTripleShiftZeroCompare(
|
| + CompareOperation* expr,
|
| + HValue* input) {
|
| + // (i >>> 0) === i is transformed to i >= 0.
|
| + // (i >>> 0) !== i is transformed to i < 0.
|
| + Token::Value op = (expr->op() == Token::EQ_STRICT) ? Token::GTE : Token::LT;
|
| + HCompareIDAndBranch* compare =
|
| + new(zone()) HCompareIDAndBranch(input, graph()->GetConstant0(), op);
|
| + compare->set_observed_input_representation(Representation::Integer32(),
|
| + Representation::Integer32());
|
| + compare->set_position(expr->position());
|
| + return ast_context()->ReturnControl(compare, expr->id());
|
| +}
|
| +
|
| +
|
| void HOptimizedGraphBuilder::HandleLiteralCompareTypeof(CompareOperation* expr,
|
| HTypeof* typeof_expr,
|
| Handle<String> check) {
|
|
|