v8/src/x64
svenpanne@chromium.org cf63503cad Unify the handling of comparinsons against null and undefined.
Although this patch is not small, most parts of it are rather mechanical:

 * First of all, the concept of a 'nil-like' value is introduced, which can be
   null or undefined. They are treated symmetrically regarding comparisons, so
   it makes sense to handle them in a uniform manner. It is a mystery why
   JavaScript defines two of those beasts, when even *one* is a design wart...

 * Extended and renamed a few things which now handle undefined in addition to
   null.

 * Made the parts of the full code generator and the hydrogen generation which
   deal with comparisons a bit more similar regarding their handling of special
   cases.

 * Refactored the syntactical detection of special cases for comparisons,
   hopefully making them a bit more readable and less copy-n-paste-oriented.
   Things like this should really be a one-liner in any sane programming
   language... :-P

 * Cut down the length of the argument lists of a few functions to something
   less insane, making them more easily understandable locally. This involves
   minor code duplication, but this was a good tradeoff and can be remedied
   later if necessary.

 * Replaced some boolean arguments with more readable enums.

 * Fixed a TODO: Values which are definitely a Smi or unboxed can never be equal
   to null or undefined.
Review URL: http://codereview.chromium.org/7918012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 14:50:33 +00:00
..
assembler-x64-inl.h Add AST ID to RelocInfo for type-recording ICs. Changes 7644 and 7632, combined. 2011-04-27 15:02:59 +00:00
assembler-x64.cc Remove support for branch hints from the IA32 and X64 assembler. 2011-05-11 13:26:07 +00:00
assembler-x64.h Fix presubmit errors caused by updated depot tools 2011-09-08 19:57:14 +00:00
builtins-x64.cc Make function proxies work as constructors. 2011-09-16 12:26:29 +00:00
code-stubs-x64.cc Fix asserts and GC unsafeness in stub generation, bug=1689. 2011-09-16 13:06:51 +00:00
code-stubs-x64.h Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00
codegen-x64.cc Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00
codegen-x64.h Remove the ability to compile without logging and profiling 2011-07-13 09:09:04 +00:00
cpu-x64.cc Update valgrind.h. Codereview http://codereview.chromium.org/7468002 2011-07-22 11:22:29 +00:00
debug-x64.cc Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00
deoptimizer-x64.cc Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00
disasm-x64.cc Static state cleanup: add more consts. 2011-08-05 11:32:46 +00:00
frames-x64.cc X64 Crankshaft: Fix error in r6897. Restore context register after KeyedCallIC. Only non-trivial change is to lithium-codegen-x64.cc.Update copyright dates on all recently modified X64 platform files. 2011-02-25 13:22:38 +00:00
frames-x64.h Simplify handling of exits from with and catch. 2011-08-12 10:52:49 +00:00
full-codegen-x64.cc Unify the handling of comparinsons against null and undefined. 2011-09-19 14:50:33 +00:00
ic-x64.cc Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00
lithium-codegen-x64.cc Unify the handling of comparinsons against null and undefined. 2011-09-19 14:50:33 +00:00
lithium-codegen-x64.h Mechanical refactor to move ElementsKind type out of JSObject. 2011-09-09 09:35:57 +00:00
lithium-gap-resolver-x64.cc X64 tweaks. 2011-04-15 13:06:41 +00:00
lithium-gap-resolver-x64.h Port new version of ParallelMove's LGapResolver to X64. 2011-01-25 10:10:36 +00:00
lithium-x64.cc Unify the handling of comparinsons against null and undefined. 2011-09-19 14:50:33 +00:00
lithium-x64.h Unify the handling of comparinsons against null and undefined. 2011-09-19 14:50:33 +00:00
macro-assembler-x64.cc Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00
macro-assembler-x64.h Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00
regexp-macro-assembler-x64.cc Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00
regexp-macro-assembler-x64.h Drastically reduce the transitive dependencies of jsregexp.h, making it (almost) 2011-07-11 09:12:17 +00:00
simulator-x64.cc Added empty files in the x64 directory. 2009-05-04 07:16:10 +00:00
simulator-x64.h This implements per-isolate locking and unlocking, including tests 2011-05-05 18:55:31 +00:00
stub-cache-x64.cc Add asserts to ensure that we: 2011-09-15 11:30:45 +00:00