diff options
Diffstat (limited to 'deps/v8/src/compiler/instruction-selector.h')
-rw-r--r-- | deps/v8/src/compiler/instruction-selector.h | 10 |
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_; |