diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2015-06-19 13:23:56 +0200 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2015-08-04 11:56:14 -0700 |
commit | 70d1f32f5605465a1a630a64f6f0d35f96c7709d (patch) | |
tree | 0a349040a686eafcb0a09943ebc733477dce2781 /deps/v8/src/globals.h | |
parent | 4643b8b6671607a7aff60cbbd0b384dcf2f6959e (diff) | |
download | node-new-70d1f32f5605465a1a630a64f6f0d35f96c7709d.tar.gz |
deps: update v8 to 4.4.63.9
Upgrade the bundled V8 and update code in src/ and lib/ to the new API.
Notable backwards incompatible changes are the removal of the smalloc
module and dropped support for CESU-8 decoding. CESU-8 support can be
brought back if necessary by doing UTF-8 decoding ourselves.
This commit includes https://codereview.chromium.org/1192973004 to fix
a build error on python 2.6 systems. The original commit log follows:
Use optparse in js2c.py for python compatibility
Without this change, V8 won't build on RHEL/CentOS 6 because the
distro python is too old to know about the argparse module.
PR-URL: https://github.com/nodejs/io.js/pull/2022
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Diffstat (limited to 'deps/v8/src/globals.h')
-rw-r--r-- | deps/v8/src/globals.h | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/deps/v8/src/globals.h b/deps/v8/src/globals.h index e93fa3b07e..5b6aa26665 100644 --- a/deps/v8/src/globals.h +++ b/deps/v8/src/globals.h @@ -8,6 +8,8 @@ #include <stddef.h> #include <stdint.h> +#include <ostream> + #include "src/base/build_config.h" #include "src/base/logging.h" #include "src/base/macros.h" @@ -238,6 +240,20 @@ enum LanguageMode { }; +inline std::ostream& operator<<(std::ostream& os, LanguageMode mode) { + switch (mode) { + case SLOPPY: + return os << "sloppy"; + case STRICT: + return os << "strict"; + case STRONG: + return os << "strong"; + default: + return os << "unknown"; + } +} + + inline bool is_sloppy(LanguageMode language_mode) { return (language_mode & STRICT_BIT) == 0; } @@ -408,18 +424,16 @@ typedef bool (*WeakSlotCallbackWithHeap)(Heap* heap, Object** pointer); // consecutive. // Keep this enum in sync with the ObjectSpace enum in v8.h enum AllocationSpace { - NEW_SPACE, // Semispaces collected with copying collector. - OLD_POINTER_SPACE, // May contain pointers to new space. - OLD_DATA_SPACE, // Must not have pointers to new space. - CODE_SPACE, // No pointers to new space, marked executable. - MAP_SPACE, // Only and all map objects. - CELL_SPACE, // Only and all cell objects. - LO_SPACE, // Promoted large objects. + NEW_SPACE, // Semispaces collected with copying collector. + OLD_SPACE, // May contain pointers to new space. + CODE_SPACE, // No pointers to new space, marked executable. + MAP_SPACE, // Only and all map objects. + LO_SPACE, // Promoted large objects. FIRST_SPACE = NEW_SPACE, LAST_SPACE = LO_SPACE, - FIRST_PAGED_SPACE = OLD_POINTER_SPACE, - LAST_PAGED_SPACE = CELL_SPACE + FIRST_PAGED_SPACE = OLD_SPACE, + LAST_PAGED_SPACE = MAP_SPACE }; const int kSpaceTagSize = 3; const int kSpaceTagMask = (1 << kSpaceTagSize) - 1; @@ -626,6 +640,10 @@ struct AccessorDescriptor { #define CODE_POINTER_ALIGN(value) \ (((value) + kCodeAlignmentMask) & ~kCodeAlignmentMask) +// DOUBLE_POINTER_ALIGN returns the value algined for double pointers. +#define DOUBLE_POINTER_ALIGN(value) \ + (((value) + kDoubleAlignmentMask) & ~kDoubleAlignmentMask) + // Support for tracking C++ memory allocation. Insert TRACK_MEMORY("Fisk") // inside a C++ class and new and delete will be overloaded so logging is // performed. @@ -655,6 +673,10 @@ enum CpuFeature { SAHF, AVX, FMA3, + BMI1, + BMI2, + LZCNT, + POPCNT, ATOM, // ARM VFP3, |