Commit 7a7e48a1 authored by Frank Emrich's avatar Frank Emrich Committed by Commit Bot

[csa] Fix linking error caused by MachineRepresentationOf

This fixes a linking error introduced by CL
https://chromium-review.googlesource.com/c/v8/v8/+/2757427

Tbr: solanes@chromium.org
Change-Id: I8214218d29013d1a475a52044bc394d950211a6b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2780291Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Frank Emrich <emrich@google.com>
Cr-Commit-Position: refs/heads/master@{#73584}
parent 8c9213a1
......@@ -733,18 +733,11 @@ TNode<Object> CodeAssembler::LoadRoot(RootIndex root_index) {
LoadFullTagged(isolate_root, IntPtrConstant(offset)));
}
template <typename T>
TNode<T> CodeAssembler::UnalignedLoad(TNode<RawPtrT> base,
TNode<IntPtrT> offset) {
MachineType mt =
MachineType::TypeForRepresentation(MachineRepresentationOf<T>::value);
return UncheckedCast<T>(
raw_assembler()->UnalignedLoad(mt, static_cast<Node*>(base), offset));
Node* CodeAssembler::UnalignedLoad(MachineType type, TNode<RawPtrT> base,
TNode<WordT> offset) {
return raw_assembler()->UnalignedLoad(type, static_cast<Node*>(base), offset);
}
template TNode<Uint64T> CodeAssembler::UnalignedLoad(TNode<RawPtrT> base,
TNode<IntPtrT> offset);
void CodeAssembler::Store(Node* base, Node* value) {
raw_assembler()->Store(MachineRepresentation::kTagged, base, value,
kFullWriteBarrier);
......
......@@ -790,7 +790,10 @@ class V8_EXPORT_PRIVATE CodeAssembler {
TNode<Object> LoadRoot(RootIndex root_index);
template <typename Type>
TNode<Type> UnalignedLoad(TNode<RawPtrT> base, TNode<IntPtrT> offset);
TNode<Type> UnalignedLoad(TNode<RawPtrT> base, TNode<IntPtrT> offset) {
MachineType mt = MachineTypeOf<Type>::value;
return UncheckedCast<Type>(UnalignedLoad(mt, base, offset));
}
// Store value to raw memory location.
void Store(Node* base, Node* value);
......@@ -1361,6 +1364,9 @@ class V8_EXPORT_PRIVATE CodeAssembler {
Node* AtomicLoad(MachineType type, TNode<RawPtrT> base, TNode<WordT> offset);
Node* UnalignedLoad(MachineType type, TNode<RawPtrT> base,
TNode<WordT> offset);
// These two don't have definitions and are here only for catching use cases
// where the cast is not necessary.
TNode<Int32T> Signed(TNode<Int32T> x);
......
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