| Index: src/full-codegen.cc
|
| ===================================================================
|
| --- src/full-codegen.cc (revision 9531)
|
| +++ src/full-codegen.cc (working copy)
|
| @@ -244,11 +244,6 @@
|
| }
|
|
|
|
|
| -void BreakableStatementChecker::VisitCompareToNull(CompareToNull* expr) {
|
| - Visit(expr->expression());
|
| -}
|
| -
|
| -
|
| void BreakableStatementChecker::VisitCompareOperation(CompareOperation* expr) {
|
| Visit(expr->left());
|
| Visit(expr->right());
|
| @@ -291,8 +286,10 @@
|
| code->set_optimizable(info->IsOptimizable());
|
| cgen.PopulateDeoptimizationData(code);
|
| code->set_has_deoptimization_support(info->HasDeoptimizationSupport());
|
| +#ifdef ENABLE_DEBUGGER_SUPPORT
|
| code->set_has_debug_break_slots(
|
| info->isolate()->debugger()->IsDebuggerActive());
|
| +#endif // ENABLE_DEBUGGER_SUPPORT
|
| code->set_allow_osr_at_loop_nesting_level(0);
|
| code->set_stack_check_table_offset(table_offset);
|
| CodeGenerator::PrintCode(code, info);
|
| @@ -1321,22 +1318,24 @@
|
| }
|
|
|
|
|
| -bool FullCodeGenerator::TryLiteralCompare(CompareOperation* compare,
|
| - Label* if_true,
|
| - Label* if_false,
|
| - Label* fall_through) {
|
| - Expression *expr;
|
| +bool FullCodeGenerator::TryLiteralCompare(CompareOperation* expr) {
|
| + Expression *sub_expr;
|
| Handle<String> check;
|
| - if (compare->IsLiteralCompareTypeof(&expr, &check)) {
|
| - EmitLiteralCompareTypeof(expr, check, if_true, if_false, fall_through);
|
| + if (expr->IsLiteralCompareTypeof(&sub_expr, &check)) {
|
| + EmitLiteralCompareTypeof(sub_expr, check);
|
| return true;
|
| }
|
|
|
| - if (compare->IsLiteralCompareUndefined(&expr)) {
|
| - EmitLiteralCompareUndefined(expr, if_true, if_false, fall_through);
|
| + if (expr->IsLiteralCompareUndefined(&sub_expr)) {
|
| + EmitLiteralCompareNil(expr, sub_expr, kUndefinedValue);
|
| return true;
|
| }
|
|
|
| + if (expr->IsLiteralCompareNull(&sub_expr)) {
|
| + EmitLiteralCompareNil(expr, sub_expr, kNullValue);
|
| + return true;
|
| + }
|
| +
|
| return false;
|
| }
|
|
|
|
|