summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/int64-lowering.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2016-05-27 16:37:42 +0200
committerMichaël Zasso <targos@protonmail.com>2016-06-29 09:04:28 +0200
commit2cc29517966de7257a2f1b34c58c77225a21e05d (patch)
tree210bd177df2f06eec16e1e22edafdbcbffe66f8a /deps/v8/src/compiler/int64-lowering.h
parentbbf3838c70aaec1dd296fa75ae334fd1c7866df3 (diff)
downloadnode-new-2cc29517966de7257a2f1b34c58c77225a21e05d.tar.gz
deps: update V8 to 5.1.281.69
Pick up the latest branch-head for V8 5.1. This branch brings in improved language support and performance improvements. For full details: http://v8project.blogspot.com/2016/04/v8-release-51.html * Picks up the latest branch head for 5.1 [1] * Edit v8 gitignore to allow trace_event copy * Update V8 DEP trace_event as per deps/v8/DEPS [2] [1] https://chromium.googlesource.com/v8/v8.git/+/dc81244 [2] https://chromium.googlesource.com/chromium/src/base/trace_event/common/+/c8c8665 PR-URL: https://github.com/nodejs/node/pull/7016 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/compiler/int64-lowering.h')
-rw-r--r--deps/v8/src/compiler/int64-lowering.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/deps/v8/src/compiler/int64-lowering.h b/deps/v8/src/compiler/int64-lowering.h
index 79a95dc195..7f6ef9a297 100644
--- a/deps/v8/src/compiler/int64-lowering.h
+++ b/deps/v8/src/compiler/int64-lowering.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef V8_COMPILER_INT64_REDUCER_H_
-#define V8_COMPILER_INT64_REDUCER_H_
+#ifndef V8_COMPILER_INT64_LOWERING_H_
+#define V8_COMPILER_INT64_LOWERING_H_
#include "src/compiler/common-operator.h"
#include "src/compiler/graph.h"
@@ -24,7 +24,7 @@ class Int64Lowering {
void LowerGraph();
private:
- enum class State : uint8_t { kUnvisited, kOnStack, kInputsPushed, kVisited };
+ enum class State : uint8_t { kUnvisited, kOnStack, kVisited };
struct Replacement {
Node* low;
@@ -37,27 +37,39 @@ class Int64Lowering {
CommonOperatorBuilder* common() const { return common_; }
Signature<MachineRepresentation>* signature() const { return signature_; }
+ void PrepareReplacements(Node* node);
+ void PushNode(Node* node);
void LowerNode(Node* node);
bool DefaultLowering(Node* node);
+ void LowerComparison(Node* node, const Operator* signed_op,
+ const Operator* unsigned_op);
+ void PrepareProjectionReplacements(Node* node);
void ReplaceNode(Node* old, Node* new_low, Node* new_high);
bool HasReplacementLow(Node* node);
Node* GetReplacementLow(Node* node);
bool HasReplacementHigh(Node* node);
Node* GetReplacementHigh(Node* node);
+ void PreparePhiReplacement(Node* phi);
+
+ struct NodeState {
+ Node* node;
+ int input_index;
+ };
Zone* zone_;
Graph* const graph_;
MachineOperatorBuilder* machine_;
CommonOperatorBuilder* common_;
NodeMarker<State> state_;
- ZoneStack<Node*> stack_;
+ ZoneDeque<NodeState> stack_;
Replacement* replacements_;
Signature<MachineRepresentation>* signature_;
+ Node* placeholder_;
};
} // namespace compiler
} // namespace internal
} // namespace v8
-#endif // V8_COMPILER_INT64_REDUCER_H_
+#endif // V8_COMPILER_INT64_LOWERING_H_