Commit 3568e444 authored by Dan Elphick's avatar Dan Elphick Committed by Commit Bot

[cleanup] Tnodify ExitPoint

Also fixes its uses in interpreter-generator.cc and
accessor-assembler.cc.

Bug: v8:9810
Change-Id: Ie9817f3e53c54588a4ad28c2c98da1a48ac73681
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1906571Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64875}
parent b64c9fb5
...@@ -902,7 +902,7 @@ void AccessorAssembler::HandleLoadICProtoHandler( ...@@ -902,7 +902,7 @@ void AccessorAssembler::HandleLoadICProtoHandler(
if (access_mode == LoadAccessMode::kHas) { if (access_mode == LoadAccessMode::kHas) {
exit_point->Return(TrueConstant()); exit_point->Return(TrueConstant());
} else { } else {
exit_point->Return(maybe_holder_or_constant); exit_point->Return(CAST(maybe_holder_or_constant));
} }
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "src/base/optional.h" #include "src/base/optional.h"
#include "src/codegen/code-stub-assembler.h" #include "src/codegen/code-stub-assembler.h"
#include "src/compiler/code-assembler.h"
namespace v8 { namespace v8 {
namespace internal { namespace internal {
...@@ -425,7 +426,7 @@ class ExitPoint { ...@@ -425,7 +426,7 @@ class ExitPoint {
using CodeAssemblerVariable = compiler::CodeAssemblerVariable; using CodeAssemblerVariable = compiler::CodeAssemblerVariable;
public: public:
using IndirectReturnHandler = std::function<void(Node* result)>; using IndirectReturnHandler = std::function<void(TNode<Object> result)>;
explicit ExitPoint(CodeStubAssembler* assembler) explicit ExitPoint(CodeStubAssembler* assembler)
: ExitPoint(assembler, nullptr) {} : ExitPoint(assembler, nullptr) {}
...@@ -435,9 +436,9 @@ class ExitPoint { ...@@ -435,9 +436,9 @@ class ExitPoint {
: asm_(assembler), indirect_return_handler_(indirect_return_handler) {} : asm_(assembler), indirect_return_handler_(indirect_return_handler) {}
ExitPoint(CodeStubAssembler* assembler, CodeAssemblerLabel* out, ExitPoint(CodeStubAssembler* assembler, CodeAssemblerLabel* out,
CodeAssemblerVariable* var_result) compiler::CodeAssembler::TVariable<Object>* var_result)
: ExitPoint(assembler, [=](Node* result) { : ExitPoint(assembler, [=](TNode<Object> result) {
var_result->Bind(result); *var_result = result;
assembler->Goto(out); assembler->Goto(out);
}) { }) {
DCHECK_EQ(out != nullptr, var_result != nullptr); DCHECK_EQ(out != nullptr, var_result != nullptr);
...@@ -473,7 +474,7 @@ class ExitPoint { ...@@ -473,7 +474,7 @@ class ExitPoint {
} }
} }
void Return(Node* const result) { void Return(const TNode<Object> result) {
if (IsDirect()) { if (IsDirect()) {
asm_->Return(result); asm_->Return(result);
} else { } else {
......
...@@ -1115,7 +1115,7 @@ void KeyedStoreGenericAssembler::SetProperty(TNode<Context> context, ...@@ -1115,7 +1115,7 @@ void KeyedStoreGenericAssembler::SetProperty(TNode<Context> context,
StoreICParameters p(context, receiver, unique_name, value, {}, nullptr); StoreICParameters p(context, receiver, unique_name, value, {}, nullptr);
Label done(this), slow(this, Label::kDeferred); Label done(this), slow(this, Label::kDeferred);
ExitPoint exit_point(this, [&](Node* result) { Goto(&done); }); ExitPoint exit_point(this, [&](TNode<Object> result) { Goto(&done); });
CSA_ASSERT(this, Word32Equal(is_simple_receiver, CSA_ASSERT(this, Word32Equal(is_simple_receiver,
IsSimpleObjectMap(LoadMap(receiver)))); IsSimpleObjectMap(LoadMap(receiver))));
......
...@@ -162,7 +162,7 @@ class InterpreterLoadGlobalAssembler : public InterpreterAssembler { ...@@ -162,7 +162,7 @@ class InterpreterLoadGlobalAssembler : public InterpreterAssembler {
TNode<HeapObject> maybe_feedback_vector = LoadFeedbackVector(); TNode<HeapObject> maybe_feedback_vector = LoadFeedbackVector();
AccessorAssembler accessor_asm(state()); AccessorAssembler accessor_asm(state());
ExitPoint exit_point(this, [=](Node* result) { ExitPoint exit_point(this, [=](TNode<Object> result) {
SetAccumulator(result); SetAccumulator(result);
Dispatch(); Dispatch();
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment