Add optimized ICs for new CanvasArray types introduced in WebGL
authorkbr@chromium.org <kbr@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 22 Oct 2009 14:49:00 +0000 (14:49 +0000)
committerkbr@chromium.org <kbr@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 22 Oct 2009 14:49:00 +0000 (14:49 +0000)
commitd5f00cf6ccb1c557d5ecfdea491997f4076f42eb
tree2b07a8d103a91524d96da68ad2babcb60823bbb6
parentbb2f8c038cd2b003118d82a502c2a8cd11006a01
Add optimized ICs for new CanvasArray types introduced in WebGL
specification under development. This is a follow-on CL to
http://codereview.chromium.org/293023 .

Based on review feedback, defined the behavior of storing NaN and
+/-Infinity into external arrays of integer types as storing 0. Added
test cases. Added fucomi instruction to assembler. Fixed bug in
KeyedLoadIC::GenerateExternalArray when allocation of HeapNumber
failed. Fixed bug in encoding of 16-bit immediate arithmetic
instructions in 64-bit port.

Removed raising of exceptions for negative array indices passed to
external arrays and associated tests. Based on current discussion in
WebGL working group, will probably end up removing the exception
throwing altogether.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/ia32/assembler-ia32.cc
src/ia32/assembler-ia32.h
src/ia32/ic-ia32.cc
src/objects.cc
src/runtime.cc
src/x64/assembler-x64.cc
src/x64/assembler-x64.h
src/x64/ic-x64.cc
test/cctest/test-api.cc