summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/instruction-selector.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2017-02-14 11:27:26 +0100
committerMichaël Zasso <targos@protonmail.com>2017-02-22 15:55:42 +0100
commit7a77daf24344db7942e34c962b0f1ee729ab7af5 (patch)
treee7cbe7bf4e2f4b802a8f5bc18336c546cd6a0d7f /deps/v8/src/compiler/instruction-selector.h
parent5f08871ee93ea739148cc49e0f7679e33c70295a (diff)
downloadnode-new-7a77daf24344db7942e34c962b0f1ee729ab7af5.tar.gz
deps: update V8 to 5.6.326.55
PR-URL: https://github.com/nodejs/node/pull/10992 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/compiler/instruction-selector.h')
-rw-r--r--deps/v8/src/compiler/instruction-selector.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/deps/v8/src/compiler/instruction-selector.h b/deps/v8/src/compiler/instruction-selector.h
index 2981f90a1c..65ba8f7c71 100644
--- a/deps/v8/src/compiler/instruction-selector.h
+++ b/deps/v8/src/compiler/instruction-selector.h
@@ -12,6 +12,7 @@
#include "src/compiler/instruction.h"
#include "src/compiler/machine-operator.h"
#include "src/compiler/node.h"
+#include "src/globals.h"
#include "src/zone/zone-containers.h"
namespace v8 {
@@ -42,7 +43,7 @@ class PushParameter {
};
// Instruction selection generates an InstructionSequence for a given Schedule.
-class InstructionSelector final {
+class V8_EXPORT_PRIVATE InstructionSelector final {
public:
// Forward declarations.
class Features;
@@ -110,6 +111,9 @@ class InstructionSelector final {
// ===========================================================================
Instruction* EmitDeoptimize(InstructionCode opcode, InstructionOperand output,
+ InstructionOperand a, DeoptimizeReason reason,
+ Node* frame_state);
+ Instruction* EmitDeoptimize(InstructionCode opcode, InstructionOperand output,
InstructionOperand a, InstructionOperand b,
DeoptimizeReason reason, Node* frame_state);
Instruction* EmitDeoptimize(InstructionCode opcode, size_t output_count,
@@ -204,6 +208,8 @@ class InstructionSelector final {
// to the roots register, i.e. if both a root register is available for this
// compilation unit and the serializer is disabled.
bool CanAddressRelativeToRootsRegister() const;
+ // Check if we can use the roots register to access GC roots.
+ bool CanUseRootsRegister() const;
Isolate* isolate() const { return sequence()->isolate(); }
@@ -344,6 +350,8 @@ class InstructionSelector final {
}
bool instruction_selection_failed() { return instruction_selection_failed_; }
+ void MarkPairProjectionsAsWord32(Node* node);
+
// ===========================================================================
Zone* const zone_;