Commit 5f2b7a0f authored by danno@chromium.org's avatar danno@chromium.org

Fix minor issues in typed array load/store implementation

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6675043

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 9eb3bfad
......@@ -2304,11 +2304,11 @@ void LCodeGen::DoLoadKeyedSpecializedArrayElement(
break;
case kExternalUnsignedIntArray:
__ mov(result, Operand(external_pointer, key, times_4, 0));
__ test(Operand(result), Immediate(0x80000000));
__ test(result, Operand(result));
// TODO(danno): we could be more clever here, perhaps having a special
// version of the stub that detects if the overflow case actually
// happens, and generate code that returns a double rather than int.
DeoptimizeIf(not_zero, instr->environment());
DeoptimizeIf(negative, instr->environment());
break;
case kExternalFloatArray:
UNREACHABLE();
......
// Copyright 2006-2009 the V8 project authors. All rights reserved.
// Copyright 2011 the V8 project authors. All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
......@@ -3629,6 +3629,7 @@ MaybeObject* ExternalArrayStubCompiler::CompileKeyedStoreStub(
__ bind(&done);
}
__ mov_b(Operand(edi, ebx, times_1, 0), ecx);
break;
case kExternalByteArray:
case kExternalUnsignedByteArray:
__ mov_b(Operand(edi, ebx, times_1, 0), ecx);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment