aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/globals.h
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2015-06-19 13:23:56 +0200
committerRod Vagg <rod@vagg.org>2015-08-04 11:56:14 -0700
commit70d1f32f5605465a1a630a64f6f0d35f96c7709d (patch)
tree0a349040a686eafcb0a09943ebc733477dce2781 /deps/v8/src/globals.h
parent4643b8b6671607a7aff60cbbd0b384dcf2f6959e (diff)
downloadandroid-node-v8-70d1f32f5605465a1a630a64f6f0d35f96c7709d.tar.gz
android-node-v8-70d1f32f5605465a1a630a64f6f0d35f96c7709d.tar.bz2
android-node-v8-70d1f32f5605465a1a630a64f6f0d35f96c7709d.zip
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.h40
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,