node/src
Dean McNamee c207d400f1 typed arrays: implement load and store swizzling
Implement load and store swizzling operations. This reduces an unneeded
back and forth between types and additionally keeps the value in the
swappable type until it is swapped. This is important for correctness
when dealing with floating point, to avoid the possibility of loading
the bits of a signaling NaN (because it isn't yet swapped) into the FPU.

This additionally produces better code (comments are mine):

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

setValue<double>:
  movd  %xmm0, %rax         ; fp reg -> gen reg
  bswapq  %rax              ; 64-bit byte swap
  movq  %rax, (%r15,%r12)   ; store
2013-01-09 17:44:25 +01:00
..
res windows: add tracing with performance counters 2012-11-21 01:21:53 +01:00
cares_wrap.cc src: pass node_isolate to Null() 2013-01-07 17:39:57 +01:00
fs_event_wrap.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
handle_wrap.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
handle_wrap.h child_process: spawn().ref() and spawn().unref() 2012-06-07 23:20:56 +04:00
macros.py Improve gyp build - now works kind of 2011-08-06 03:12:06 -07:00
ngx-queue.h process: add _getActiveHandles(), _getActiveRequests() 2012-05-15 21:00:27 +02:00
node.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node.d dtrace: add missing translator 2012-02-03 14:07:32 +00:00
node.h node: remove ev-emul.h 2013-01-03 19:58:38 +01:00
node.js node: emit 'exit' when exiting with error 2012-12-29 16:53:23 -08:00
node_buffer.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node_buffer.h src: use static_cast where appropriate 2013-01-05 00:16:23 +01:00
node_constants.cc constants: add O_DIRECT 2012-08-28 15:04:55 +02:00
node_constants.h core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_counters.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node_counters.h windows: add tracing with performance counters 2012-11-21 01:21:53 +01:00
node_crypto.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node_crypto.h crypto: fix ssl error handling 2012-11-17 00:52:58 +01:00
node_crypto_groups.h crypto: add function getDiffieHellman() 2012-02-21 14:07:25 +01:00
node_dtrace.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node_dtrace.h core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_extensions.cc Don't use _snprintf() on Windows, it's not safe. 2012-05-08 16:02:14 +02:00
node_extensions.h typed arrays: don't declare as module 2013-01-08 05:08:00 +01:00
node_file.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node_file.h core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_http_parser.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node_http_parser.h process: expose the http_parser version in process.versions 2012-03-10 00:22:42 +01:00
node_internals.h src: make node_isolate global 2013-01-07 17:39:57 +01:00
node_javascript.cc core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_javascript.h core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_main.cc core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_object_wrap.h object_wrap: add missing HandleScope 2013-01-04 16:39:24 +04:00
node_os.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node_os.h core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_provider.d DTrace probes: support X-Forwarded-For 2011-06-04 16:05:01 +02:00
node_root_certs.h Fixes #1610 Remove DigiNotar CA from trusted list 2011-08-30 08:53:21 -07:00
node_script.cc src: pass node_isolate to Local<>::New 2013-01-07 17:39:57 +01:00
node_script.h core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_stat_watcher.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
node_stat_watcher.h fs: fix use after free in stat watcher 2012-08-20 17:29:58 +02:00
node_string.cc Update copyright headers 2011-03-14 17:37:05 -07:00
node_string.h core: use proper #include directives 2012-03-10 00:14:14 +01:00
node_systemtap.d tracing: add systemtap support 2012-11-01 01:25:22 +01:00
node_version.h Now working on 0.9.6 2012-12-29 17:25:40 -08:00
node_win32_etw_provider-inl.h windows: generate ETW events to track v8 compiled code positions 2012-11-01 14:06:26 +01:00
node_win32_etw_provider.cc windows: generate ETW events to track v8 compiled code positions 2012-11-01 14:06:26 +01:00
node_win32_etw_provider.h windows: generate ETW events to track v8 compiled code positions 2012-11-01 14:06:26 +01:00
node_win32_perfctr_provider.cc windows: fix perfctr crash on XP and 2003 2013-01-03 23:31:26 +01:00
node_win32_perfctr_provider.h windows: add tracing with performance counters 2012-11-21 01:21:53 +01:00
node_zlib.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
perfctr_macros.py windows: add tracing with performance counters 2012-11-21 01:21:53 +01:00
pipe_wrap.cc src: pass node_isolate to Null() 2013-01-07 17:39:57 +01:00
pipe_wrap.h core: use proper #include directives 2012-03-10 00:14:14 +01:00
process_wrap.cc src: pass node_isolate to Integer::New 2013-01-07 17:39:57 +01:00
req_wrap.h process: add _getActiveHandles(), _getActiveRequests() 2012-05-15 21:00:27 +02:00
signal_wrap.cc src: pass node_isolate to Integer::New 2013-01-07 17:39:57 +01:00
slab_allocator.cc src: pass node_isolate to Null() 2013-01-07 17:39:57 +01:00
slab_allocator.h core: add reusable slab allocator 2012-03-30 21:24:02 +02:00
stream_wrap.cc src: pass node_isolate to Null() 2013-01-07 17:39:57 +01:00
stream_wrap.h deps: upgrade libuv to a478847 2012-05-22 16:14:24 +02:00
tcp_wrap.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
tcp_wrap.h child_process: new stdio API for .spawn() method 2012-06-01 20:52:13 +04:00
timer_wrap.cc src: pass node_isolate to Integer::New 2013-01-07 17:39:57 +01:00
tree.h dns: don't rely on libuv for c-ares integration 2012-08-07 01:57:50 +02:00
tty_wrap.cc src: pass node_isolate to Undefined() 2013-01-07 17:39:58 +01:00
tty_wrap.h child_process: new stdio API for .spawn() method 2012-06-01 20:52:13 +04:00
udp_wrap.cc src: pass node_isolate to Null() 2013-01-07 17:39:57 +01:00
udp_wrap.h child_process: new stdio API for .spawn() method 2012-06-01 20:52:13 +04:00
v8_typed_array.cc typed arrays: implement load and store swizzling 2013-01-09 17:44:25 +01:00
v8_typed_array.h typed arrays: re-export SizeOfArrayElementForType() 2012-12-17 17:37:51 +01:00
v8_typed_array_bswap.h typed arrays: implement load and store swizzling 2013-01-09 17:44:25 +01:00
v8abbr.h dtrace: x64 ustack helper 2013-01-07 23:04:11 +04:00
v8ustack.d dtrace: More style 2013-01-07 12:31:44 -08:00