| Index: src/wasm/asm-wasm-builder.cc | 
| diff --git a/src/wasm/asm-wasm-builder.cc b/src/wasm/asm-wasm-builder.cc | 
| index 50b0ea5126e340f8a5201a2c83554c3150e7e793..3a0b5692ad4c7ad3e947ade9ca321424850638ae 100644 | 
| --- a/src/wasm/asm-wasm-builder.cc | 
| +++ b/src/wasm/asm-wasm-builder.cc | 
| @@ -1383,9 +1383,6 @@ class AsmWasmBuilderImpl : public AstVisitor { | 
| #ifdef Mul | 
| #undef Mul | 
| #endif | 
| -#ifdef Div | 
| -#undef Div | 
| -#endif | 
|  | 
| #define NON_SIGNED_BINOP(op)      \ | 
| static WasmOpcode opcodes[] = { \ | 
| @@ -1464,19 +1461,25 @@ class AsmWasmBuilderImpl : public AstVisitor { | 
| BINOP_CASE(Token::ADD, Add, NON_SIGNED_BINOP, true); | 
| BINOP_CASE(Token::SUB, Sub, NON_SIGNED_BINOP, true); | 
| BINOP_CASE(Token::MUL, Mul, NON_SIGNED_BINOP, true); | 
| -        BINOP_CASE(Token::DIV, Div, SIGNED_BINOP, false); | 
| BINOP_CASE(Token::BIT_OR, Ior, NON_SIGNED_INT_BINOP, true); | 
| BINOP_CASE(Token::BIT_AND, And, NON_SIGNED_INT_BINOP, true); | 
| BINOP_CASE(Token::BIT_XOR, Xor, NON_SIGNED_INT_BINOP, true); | 
| BINOP_CASE(Token::SHL, Shl, NON_SIGNED_INT_BINOP, true); | 
| BINOP_CASE(Token::SAR, ShrS, NON_SIGNED_INT_BINOP, true); | 
| BINOP_CASE(Token::SHR, ShrU, NON_SIGNED_INT_BINOP, true); | 
| +        case Token::DIV: { | 
| +          static WasmOpcode opcodes[] = {kExprI32AsmjsDivS, kExprI32AsmjsDivU, | 
| +                                         kExprF32Div, kExprF64Div}; | 
| +          int type = TypeIndexOf(expr->left(), expr->right(), false); | 
| +          current_function_builder_->Emit(opcodes[type]); | 
| +          break; | 
| +        } | 
| case Token::MOD: { | 
| TypeIndex type = TypeIndexOf(expr->left(), expr->right(), false); | 
| if (type == kInt32) { | 
| -            current_function_builder_->Emit(kExprI32RemS); | 
| +            current_function_builder_->Emit(kExprI32AsmjsRemS); | 
| } else if (type == kUint32) { | 
| -            current_function_builder_->Emit(kExprI32RemU); | 
| +            current_function_builder_->Emit(kExprI32AsmjsRemU); | 
| } else if (type == kFloat64) { | 
| current_function_builder_->Emit(kExprF64Mod); | 
| return; | 
|  |