| Index: src/asmjs/asm-wasm-builder.cc
 | 
| diff --git a/src/asmjs/asm-wasm-builder.cc b/src/asmjs/asm-wasm-builder.cc
 | 
| index 4996203ce2bba91cb888cb44c2a59f14b38e9b59..07fb45a245a8d46f98928c60a77044dd979851e6 100644
 | 
| --- a/src/asmjs/asm-wasm-builder.cc
 | 
| +++ b/src/asmjs/asm-wasm-builder.cc
 | 
| @@ -1062,7 +1062,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
 | 
|    void VisitPropertyAndEmitIndex(Property* expr, AsmType** atype) {
 | 
|      Expression* obj = expr->obj();
 | 
|      *atype = typer_->TypeOf(obj);
 | 
| -    int size = (*atype)->ElementSizeInBytes();
 | 
| +    int32_t size = (*atype)->ElementSizeInBytes();
 | 
|      if (size == 1) {
 | 
|        // Allow more general expression in byte arrays than the spec
 | 
|        // strictly permits.
 | 
| @@ -1090,9 +1090,8 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
 | 
|                  1 << static_cast<int>(
 | 
|                      binop->right()->AsLiteral()->raw_value()->AsNumber()));
 | 
|        // Mask bottom bits to match asm.js behavior.
 | 
| -      byte mask = static_cast<byte>(~(size - 1));
 | 
|        RECURSE(Visit(binop->left()));
 | 
| -      current_function_builder_->EmitWithU8(kExprI8Const, mask);
 | 
| +      current_function_builder_->EmitI32Const(~(size - 1));
 | 
|        current_function_builder_->Emit(kExprI32And);
 | 
|        return;
 | 
|      }
 | 
| @@ -1231,7 +1230,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
 | 
|            // if set_local(tmp, x) < 0
 | 
|            Visit(call->arguments()->at(0));
 | 
|            current_function_builder_->EmitTeeLocal(tmp.index());
 | 
| -          byte code[] = {WASM_I8(0)};
 | 
| +          byte code[] = {WASM_ZERO};
 | 
|            current_function_builder_->EmitCode(code, sizeof(code));
 | 
|            current_function_builder_->Emit(kExprI32LtS);
 | 
|            current_function_builder_->EmitWithU8(kExprIf, kLocalI32);
 | 
| 
 |