summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/code-assembler.h
diff options
context:
space:
mode:
authorMichaƫl Zasso <targos@protonmail.com>2023-03-30 12:11:08 +0200
committerNode.js GitHub Bot <github-bot@iojs.org>2023-03-31 14:15:23 +0000
commitf226350fcbebd4449fb0034fdaffa147e4de28ea (patch)
tree8896397ec8829c238012bfbe9781f4e2d94708bc /deps/v8/src/compiler/code-assembler.h
parent10928cb0a4643a11c02af7bab93fc4b5abe2ce7d (diff)
downloadnode-new-f226350fcbebd4449fb0034fdaffa147e4de28ea.tar.gz
deps: update V8 to 11.3.244.4
PR-URL: https://github.com/nodejs/node/pull/47251 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Diffstat (limited to 'deps/v8/src/compiler/code-assembler.h')
-rw-r--r--deps/v8/src/compiler/code-assembler.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/deps/v8/src/compiler/code-assembler.h b/deps/v8/src/compiler/code-assembler.h
index 06cf450431..11b0901f02 100644
--- a/deps/v8/src/compiler/code-assembler.h
+++ b/deps/v8/src/compiler/code-assembler.h
@@ -259,7 +259,9 @@ class CodeAssemblerParameterizedLabel;
V(Int32Mul, Word32T, Word32T, Word32T) \
V(Int32MulWithOverflow, PAIR_TYPE(Int32T, BoolT), Int32T, Int32T) \
V(Int32Div, Int32T, Int32T, Int32T) \
+ V(Uint32Div, Uint32T, Uint32T, Uint32T) \
V(Int32Mod, Int32T, Int32T, Int32T) \
+ V(Uint32Mod, Uint32T, Uint32T, Uint32T) \
V(Int64Add, Word64T, Word64T, Word64T) \
V(Int64Sub, Word64T, Word64T, Word64T) \
V(Int64SubWithOverflow, PAIR_TYPE(Int64T, BoolT), Int64T, Int64T) \
@@ -508,6 +510,7 @@ class V8_EXPORT_PRIVATE CodeAssembler {
#endif
// Constants.
+ TNode<Int32T> UniqueInt32Constant(int32_t value);
TNode<Int32T> Int32Constant(int32_t value);
TNode<Int64T> Int64Constant(int64_t value);
TNode<Uint64T> Uint64Constant(uint64_t value) {
@@ -582,7 +585,8 @@ class V8_EXPORT_PRIVATE CodeAssembler {
return UncheckedCast<UintPtrT>(x);
}
- static constexpr int kTargetParameterIndex = -1;
+ static constexpr int kTargetParameterIndex = kJSCallClosureParameterIndex;
+ static_assert(kTargetParameterIndex == -1);
template <class T>
TNode<T> Parameter(
@@ -979,6 +983,9 @@ class V8_EXPORT_PRIVATE CodeAssembler {
TNode<IntPtrT> WordNot(TNode<IntPtrT> a) {
return Signed(WordNot(static_cast<TNode<WordT>>(a)));
}
+ TNode<Int32T> Word32BitwiseNot(TNode<Int32T> a) {
+ return Signed(Word32BitwiseNot(static_cast<TNode<Word32T>>(a)));
+ }
TNode<BoolT> Word32Or(TNode<BoolT> left, TNode<BoolT> right) {
return UncheckedCast<BoolT>(Word32Or(static_cast<TNode<Word32T>>(left),
static_cast<TNode<Word32T>>(right)));
@@ -1013,6 +1020,11 @@ class V8_EXPORT_PRIVATE CodeAssembler {
static_cast<TNode<Word32T>>(right)));
}
+ TNode<Uint32T> Uint32Mul(TNode<Uint32T> left, TNode<Uint32T> right) {
+ return Unsigned(Int32Mul(static_cast<TNode<Word32T>>(left),
+ static_cast<TNode<Word32T>>(right)));
+ }
+
TNode<Int64T> Int64Add(TNode<Int64T> left, TNode<Int64T> right) {
return Signed(Int64Add(static_cast<TNode<Word64T>>(left), right));
}
@@ -1168,13 +1180,13 @@ class V8_EXPORT_PRIVATE CodeAssembler {
template <class T = Object, class... TArgs>
TNode<T> CallStub(Callable const& callable, TNode<Object> context,
TArgs... args) {
- TNode<CodeT> target = HeapConstant(callable.code());
+ TNode<Code> target = HeapConstant(callable.code());
return CallStub<T>(callable.descriptor(), target, context, args...);
}
template <class T = Object, class... TArgs>
TNode<T> CallStub(const CallInterfaceDescriptor& descriptor,
- TNode<CodeT> target, TNode<Object> context, TArgs... args) {
+ TNode<Code> target, TNode<Object> context, TArgs... args) {
return UncheckedCast<T>(CallStubR(StubCallMode::kCallCodeObject, descriptor,
target, context, args...));
}
@@ -1190,13 +1202,13 @@ class V8_EXPORT_PRIVATE CodeAssembler {
template <class... TArgs>
void TailCallStub(Callable const& callable, TNode<Object> context,
TArgs... args) {
- TNode<CodeT> target = HeapConstant(callable.code());
+ TNode<Code> target = HeapConstant(callable.code());
TailCallStub(callable.descriptor(), target, context, args...);
}
template <class... TArgs>
void TailCallStub(const CallInterfaceDescriptor& descriptor,
- TNode<CodeT> target, TNode<Object> context, TArgs... args) {
+ TNode<Code> target, TNode<Object> context, TArgs... args) {
TailCallStubImpl(descriptor, target, context, {args...});
}
@@ -1219,7 +1231,7 @@ class V8_EXPORT_PRIVATE CodeAssembler {
// Note that no arguments adaption is going on here - all the JavaScript
// arguments are left on the stack unmodified. Therefore, this tail call can
// only be used after arguments adaptation has been performed already.
- void TailCallJSCode(TNode<CodeT> code, TNode<Context> context,
+ void TailCallJSCode(TNode<Code> code, TNode<Context> context,
TNode<JSFunction> function, TNode<Object> new_target,
TNode<Int32T> arg_count);
@@ -1228,7 +1240,7 @@ class V8_EXPORT_PRIVATE CodeAssembler {
Node* receiver, TArgs... args) {
int argc = JSParameterCount(static_cast<int>(sizeof...(args)));
TNode<Int32T> arity = Int32Constant(argc);
- TNode<CodeT> target = HeapConstant(callable.code());
+ TNode<Code> target = HeapConstant(callable.code());
return CAST(CallJSStubImpl(callable.descriptor(), target, CAST(context),
CAST(function), {}, arity, {receiver, args...}));
}
@@ -1239,7 +1251,7 @@ class V8_EXPORT_PRIVATE CodeAssembler {
int argc = JSParameterCount(static_cast<int>(sizeof...(args)));
TNode<Int32T> arity = Int32Constant(argc);
TNode<Object> receiver = LoadRoot(RootIndex::kUndefinedValue);
- TNode<CodeT> target = HeapConstant(callable.code());
+ TNode<Code> target = HeapConstant(callable.code());
return CallJSStubImpl(callable.descriptor(), target, CAST(context),
CAST(function), CAST(new_target), arity,
{receiver, args...});
@@ -1338,7 +1350,7 @@ class V8_EXPORT_PRIVATE CodeAssembler {
std::initializer_list<TNode<Object>> args);
void TailCallStubImpl(const CallInterfaceDescriptor& descriptor,
- TNode<CodeT> target, TNode<Object> context,
+ TNode<Code> target, TNode<Object> context,
std::initializer_list<Node*> args);
void TailCallStubThenBytecodeDispatchImpl(