summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/typer.h
diff options
context:
space:
mode:
authorAli Ijaz Sheikh <ofrobots@google.com>2016-01-20 09:45:45 -0800
committerAli Ijaz Sheikh <ofrobots@google.com>2016-01-21 16:53:58 -0800
commitef4170ea03a80b21b2d8a65ce432efaa370fe2fa (patch)
treee382b1b38b729cd8155b56b441c3a563914854a3 /deps/v8/src/compiler/typer.h
parent5f6dfab832979999d2f806fc1a2f1c11a25b0f35 (diff)
downloadnode-new-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.tar.gz
deps: upgrade to V8 4.8.271.17
Pick up V8 4.8 branch-head. This branch brings in @@isConcatSpreadable, @@toPrimitive and ToLength ES6 changes. For full details see: http://v8project.blogspot.de/2015/11/v8-release-48.html https://github.com/v8/v8/commit/fa163e2 Ref: https://github.com/nodejs/node/pull/4399 PR-URL: https://github.com/nodejs/node/pull/4785 Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/compiler/typer.h')
-rw-r--r--deps/v8/src/compiler/typer.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/deps/v8/src/compiler/typer.h b/deps/v8/src/compiler/typer.h
index 065262907b..3b9b31b77f 100644
--- a/deps/v8/src/compiler/typer.h
+++ b/deps/v8/src/compiler/typer.h
@@ -5,6 +5,7 @@
#ifndef V8_COMPILER_TYPER_H_
#define V8_COMPILER_TYPER_H_
+#include "src/base/flags.h"
#include "src/compiler/graph.h"
#include "src/types.h"
@@ -12,14 +13,23 @@ namespace v8 {
namespace internal {
// Forward declarations.
-class ZoneTypeCache;
+class CompilationDependencies;
+class TypeCache;
namespace compiler {
class Typer {
public:
- Typer(Isolate* isolate, Graph* graph,
+ // Flags that control the mode of operation.
+ enum Flag {
+ kNoFlags = 0u,
+ kDeoptimizationEnabled = 1u << 0,
+ };
+ typedef base::Flags<Flag> Flags;
+
+ Typer(Isolate* isolate, Graph* graph, Flags flags = kNoFlags,
+ CompilationDependencies* dependencies = nullptr,
Type::FunctionType* function_type = nullptr);
~Typer();
@@ -34,13 +44,17 @@ class Typer {
Graph* graph() const { return graph_; }
Zone* zone() const { return graph()->zone(); }
Isolate* isolate() const { return isolate_; }
+ Flags flags() const { return flags_; }
+ CompilationDependencies* dependencies() const { return dependencies_; }
Type::FunctionType* function_type() const { return function_type_; }
Isolate* const isolate_;
Graph* const graph_;
+ Flags const flags_;
+ CompilationDependencies* const dependencies_;
Type::FunctionType* function_type_;
Decorator* decorator_;
- ZoneTypeCache const& cache_;
+ TypeCache const& cache_;
Type* singleton_false_;
Type* singleton_true_;
@@ -52,6 +66,8 @@ class Typer {
DISALLOW_COPY_AND_ASSIGN(Typer);
};
+DEFINE_OPERATORS_FOR_FLAGS(Typer::Flags)
+
} // namespace compiler
} // namespace internal
} // namespace v8