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(
if (access_mode == LoadAccessMode::kHas) {
exit_point->Return(TrueConstant());
} else {
exit_point->Return(maybe_holder_or_constant);
exit_point->Return(CAST(maybe_holder_or_constant));
}
}
......
......@@ -7,6 +7,7 @@
#include "src/base/optional.h"
#include "src/codegen/code-stub-assembler.h"
#include "src/compiler/code-assembler.h"
namespace v8 {
namespace internal {
......@@ -425,7 +426,7 @@ class ExitPoint {
using CodeAssemblerVariable = compiler::CodeAssemblerVariable;
public:
using IndirectReturnHandler = std::function<void(Node* result)>;
using IndirectReturnHandler = std::function<void(TNode<Object> result)>;
explicit ExitPoint(CodeStubAssembler* assembler)
: ExitPoint(assembler, nullptr) {}
......@@ -435,9 +436,9 @@ class ExitPoint {
: asm_(assembler), indirect_return_handler_(indirect_return_handler) {}
ExitPoint(CodeStubAssembler* assembler, CodeAssemblerLabel* out,
CodeAssemblerVariable* var_result)
: ExitPoint(assembler, [=](Node* result) {
var_result->Bind(result);
compiler::CodeAssembler::TVariable<Object>* var_result)
: ExitPoint(assembler, [=](TNode<Object> result) {
*var_result = result;
assembler->Goto(out);
}) {
DCHECK_EQ(out != nullptr, var_result != nullptr);
......@@ -473,7 +474,7 @@ class ExitPoint {
}
}
void Return(Node* const result) {
void Return(const TNode<Object> result) {
if (IsDirect()) {
asm_->Return(result);
} else {
......
......@@ -1115,7 +1115,7 @@ void KeyedStoreGenericAssembler::SetProperty(TNode<Context> context,
StoreICParameters p(context, receiver, unique_name, value, {}, nullptr);
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,
IsSimpleObjectMap(LoadMap(receiver))));
......
......@@ -162,7 +162,7 @@ class InterpreterLoadGlobalAssembler : public InterpreterAssembler {
TNode<HeapObject> maybe_feedback_vector = LoadFeedbackVector();
AccessorAssembler accessor_asm(state());
ExitPoint exit_point(this, [=](Node* result) {
ExitPoint exit_point(this, [=](TNode<Object> result) {
SetAccumulator(result);
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