diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-12-04 08:20:37 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-12-06 15:23:33 +0100 |
commit | 9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3 (patch) | |
tree | 2b0c843168dafb939d8df8a15b2aa72b76dee51d /deps/v8/src/torque-assembler.h | |
parent | b8fbe69db1292307adb2c2b2e0d5ef48c4ab2faf (diff) | |
download | android-node-v8-9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3.tar.gz android-node-v8-9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3.tar.bz2 android-node-v8-9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3.zip |
deps: update V8 to 7.1.302.28
PR-URL: https://github.com/nodejs/node/pull/23423
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/src/torque-assembler.h')
-rw-r--r-- | deps/v8/src/torque-assembler.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/deps/v8/src/torque-assembler.h b/deps/v8/src/torque-assembler.h new file mode 100644 index 0000000000..3d7cf361c4 --- /dev/null +++ b/deps/v8/src/torque-assembler.h @@ -0,0 +1,58 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_TORQUE_ASSEMBLER_H_ +#define V8_TORQUE_ASSEMBLER_H_ + +#include <deque> +#include <vector> + +#include "src/code-stub-assembler.h" + +#include "src/base/optional.h" + +namespace v8 { +namespace internal { + +class TorqueAssembler : public CodeStubAssembler { + public: + using CodeStubAssembler::CodeStubAssembler; + + protected: + template <class... Ts> + using PLabel = compiler::CodeAssemblerParameterizedLabel<Ts...>; + + template <class T> + TNode<T> Uninitialized() { + return {}; + } + + template <class... T, class... Args> + void Goto(PLabel<T...>* label, Args... args) { + label->AddInputs(args...); + CodeStubAssembler::Goto(label->plain_label()); + } + using CodeStubAssembler::Goto; + template <class... T> + void Bind(PLabel<T...>* label, TNode<T>*... phis) { + Bind(label->plain_label()); + label->CreatePhis(phis...); + } + void Bind(Label* label) { CodeAssembler::Bind(label); } + using CodeStubAssembler::Bind; + template <class... T, class... Args> + void Branch(TNode<BoolT> condition, PLabel<T...>* if_true, + PLabel<T...>* if_false, Args... args) { + if_true->AddInputs(args...); + if_false->AddInputs(args...); + CodeStubAssembler::Branch(condition, if_true->plain_label(), + if_false->plain_label()); + } + using CodeStubAssembler::Branch; +}; + +} // namespace internal +} // namespace v8 + +#endif // V8_TORQUE_ASSEMBLER_H_ |