// 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_CODEGEN_MACRO_ASSEMBLER_BASE_H_ #define V8_CODEGEN_MACRO_ASSEMBLER_BASE_H_ #include <memory> #include "src/base/template-utils.h" #include "src/builtins/builtins.h" #include "src/codegen/assembler-arch.h" #include "src/roots/roots.h" namespace v8 { namespace internal { // Common base class for platform-specific MacroAssemblers containing // platform-independent bits. // TODO(victorgomes): We should use LocalIsolate instead of Isolate in the // methods of this class. class V8_EXPORT_PRIVATE MacroAssemblerBase : public Assembler { … }; // Avoids emitting calls to the {Builtin::kAbort} builtin when emitting // debug code during the lifetime of this scope object. class V8_NODISCARD HardAbortScope { … }; } // namespace internal } // namespace v8 #endif // V8_CODEGEN_MACRO_ASSEMBLER_BASE_H_