v8/test/cctest
kbr@chromium.org 46e6297e3e Added infrastructure for optimizing new CanvasArray types in WebGL
specification under development. The optimizations are patterned after
those previously done for CanvasPixelArray. This CL adds all of the
necessary framework but continues to use the generic KeyedLoadIC and
KeyedStoreIC code, to create a baseline for benchmarking purposes. The
next CL will add the optimized ICs to ic-ia32.cc and ic-x64.cc.

These new CanvasArray types have different semantics than
CanvasPixelArray; out-of-range values are clamped via C cast
semantics, which is cheaper than the clamping behavior specified by
CanvasPixelArray. Out-of-range indices raise exceptions instead of
being silently ignored.

As part of this work, pulled FloatingPointHelper::AllocateHeapNumber
up to MacroAssembler on ia32 and x64 platforms. Slightly refactored
KeyedLoadIC and KeyedStoreIC. Fixed encoding for fistp_d on x64 and
added a few more instructions that are needed for the new ICs. The
test cases in test-api.cc have been verified by hand to exercise all
of the generated code paths in the forthcoming specialized ICs.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-20 15:26:17 +00:00
..
cctest.cc Remove dependency on libstdc++ from test framework. 2009-04-27 10:52:44 +00:00
cctest.h Fixing the flakiness of the serialization tests by assuring that serialization is run before every deserialization test. 2009-02-03 08:35:03 +00:00
cctest.status Implemented missing pieces of the debugger for ARM. 2009-09-14 06:57:24 +00:00
SConscript X64: Convert smis to holding 32 bits of payload. 2009-10-08 12:36:12 +00:00
test-alloc.cc Recommit coderanges putting code objects within a 2 GB range, reserving only a 256 MB range of virtual memory for the code range. 2009-10-05 11:16:25 +00:00
test-api.cc Added infrastructure for optimizing new CanvasArray types in WebGL 2009-10-20 15:26:17 +00:00
test-assembler-arm.cc Compile fixes for ARM and miscellaneous spolling. 2009-09-09 09:35:34 +00:00
test-assembler-ia32.cc - Pass the knowledge whether the old GC is compacting to the GC prologue and epilogue. This allows us to skip frame cooking and uncooking when doing a mark-sweep GC. 2009-02-25 16:52:15 +00:00
test-assembler-x64.cc X64: Fix bugs affecting Win64. 2009-10-13 10:56:13 +00:00
test-ast.cc Fix broken test compilation. 2009-07-30 12:25:24 +00:00
test-compiler.cc Move InitLineEnds and GetLineNumber to handles.cc to avoid 2009-03-10 15:08:45 +00:00
test-conversions.cc Make 'hidden' the default visibility for gcc. Add build option, 2009-09-15 11:11:09 +00:00
test-debug.cc Change sscanf to atoi in test-debug.cc to make lint happy. 2009-10-12 13:55:06 +00:00
test-decls.cc Fix errors in test-heap.cc and test-decls.cc. Adjust cctest.status. 2009-08-18 12:43:36 +00:00
test-disasm-arm.cc Reapply ARM root array change to reduce const pool size 2009-08-24 11:57:57 +00:00
test-disasm-ia32.cc Add support for comisd and cmov in IA-32 disassembler. 2009-10-08 13:28:46 +00:00
test-flags.cc Arguments on the command line are made available as a global "arguments" array. 2008-11-11 14:16:24 +00:00
test-func-name-inference.cc Fix issue 380. 2009-06-16 11:47:00 +00:00
test-hashmap.cc Make the hash map test run faster by doing less work. 2009-05-15 13:49:00 +00:00
test-heap-profiler.cc Heap profiler: correctly determine equivalence of objects having self-refs. 2009-09-28 09:05:06 +00:00
test-heap.cc Removed 31-bit smis. 2009-10-12 11:19:20 +00:00
test-list.cc Remove list copy constructor (for which there was no corresponding 2009-05-22 11:52:24 +00:00
test-lock.cc Added a wait with timeout to the platform semaphore class. 2009-03-18 09:04:24 +00:00
test-log-stack-tracer.cc Added 64-bit Windows build through SCons. 2009-08-27 13:12:28 +00:00
test-log-utils.cc Involve more log compression techniques. 2009-06-15 09:37:50 +00:00
test-log.cc Fix a crash in Logger::LogCompiledFunctions due to a presence of scripts with disposed source. 2009-10-07 12:20:02 +00:00
test-macro-assembler-x64.cc Removed 31-bit smis. 2009-10-12 11:19:20 +00:00
test-mark-compact.cc Make Array::kHeaderSize protected, and only use kHeaderSize of its subclasses. 2009-07-17 12:12:24 +00:00
test-platform-linux.cc Changed copyright header from google inc. to v8 project authors. 2008-09-09 20:08:45 +00:00
test-platform-macos.cc Changed copyright header from google inc. to v8 project authors. 2008-09-09 20:08:45 +00:00
test-platform-nullos.cc Changed copyright header from google inc. to v8 project authors. 2008-09-09 20:08:45 +00:00
test-platform-win32.cc Changed copyright header from google inc. to v8 project authors. 2008-09-09 20:08:45 +00:00
test-regexp.cc ARM native regexps. 2009-08-31 12:40:37 +00:00
test-serialize.cc Reapply ARM root array change to reduce const pool size 2009-08-24 11:57:57 +00:00
test-sockets.cc Fixed some cctest flakiness on mac. 2009-09-25 10:36:00 +00:00
test-spaces.cc Because allocation in large object space can now require checking the 2008-10-29 10:00:38 +00:00
test-strings.cc Make 'hidden' the default visibility for gcc. Add build option, 2009-09-15 11:11:09 +00:00
test-thread-termination.cc Fix the handling of termination exceptions thrown when creating error 2009-09-01 13:55:45 +00:00
test-threads.cc Add support for forceful termination of JavaScript execution. 2009-08-19 15:14:11 +00:00
test-utils.cc Change a cast to make MacOS compiler happy. 2009-09-01 15:28:31 +00:00
test-version.cc Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
testcfg.py Add verification flags to debug mjsunit test runs. 2009-09-02 12:40:00 +00:00