This CL changes the datastructure to store live variables from a
std::bitset<256> to a std::vector<bool> to support an arbitrary number
of locals. Unfortunately, std::vector<bool> does not define |= and &=
operators, so I added them on the Environment class.
R=vegorov@chromium.org, mstarzinger@chromium.org, machenbach@chromium.org
BUG=v8:5970
Review-Url: https://codereview.chromium.org/2694103005
Cr-Commit-Position: refs/heads/master@{#43216}
* Changes for 2.9:
* Use CXX in Makefile instead of hardwired g++, we need a more
modern GCC than 4.6 later, anyway.
* Changes for 3.0:
* Use llvm namespace.
* Diagnostic => DiagnosticsEngine.
* Changes for 3.1:
* The BlockDeclRefExpr AST node is gone.
* The structure of the CXXNewExpr AST node has changed.
* Path changed from Release to Release+Asserts.
* Use clang++ instead of -cc1, otherwise we lose the system include
paths.
* Changes for 3.2:
none needed
* Changes for 3.3:
* Use lookup_iterator::begin/end instead of first/second.
* Changes for 3.4:
* createItaniumMangleContext => ItaniumMangleContext::create.
* Changes for 3.5:
* clang uses <type_traits> now, so -std=c++0x is needed.
* Type-trait-related AST changes.
* getCustomDiagID signature changed.
* We must link the C++ library statically now.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/445983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00