summaryrefslogtreecommitdiff
path: root/deps/v8/src/turbo-assembler.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/turbo-assembler.h')
-rw-r--r--deps/v8/src/turbo-assembler.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/deps/v8/src/turbo-assembler.h b/deps/v8/src/turbo-assembler.h
index 44fbbca64c..70048962dd 100644
--- a/deps/v8/src/turbo-assembler.h
+++ b/deps/v8/src/turbo-assembler.h
@@ -16,7 +16,10 @@ namespace internal {
// platform-independent bits.
class V8_EXPORT_PRIVATE TurboAssemblerBase : public Assembler {
public:
- Isolate* isolate() const { return isolate_; }
+ Isolate* isolate() const {
+ DCHECK(!options().v8_agnostic_code);
+ return isolate_;
+ }
Handle<HeapObject> CodeObject() const {
DCHECK(!code_object_.is_null());
@@ -49,9 +52,9 @@ class V8_EXPORT_PRIVATE TurboAssemblerBase : public Assembler {
intptr_t offset) = 0;
virtual void LoadRootRelative(Register destination, int32_t offset) = 0;
- virtual void LoadRoot(Register destination, Heap::RootListIndex index) = 0;
+ virtual void LoadRoot(Register destination, RootIndex index) = 0;
- static int32_t RootRegisterOffset(Heap::RootListIndex root_index);
+ static int32_t RootRegisterOffset(RootIndex root_index);
static int32_t RootRegisterOffsetForExternalReferenceIndex(
int reference_index);
@@ -61,11 +64,16 @@ class V8_EXPORT_PRIVATE TurboAssemblerBase : public Assembler {
Isolate* isolate, const ExternalReference& reference);
// An address is addressable through kRootRegister if it is located within
- // [isolate, roots_ + root_register_addressable_end_offset[.
+ // isolate->root_register_addressable_region().
static bool IsAddressableThroughRootRegister(
Isolate* isolate, const ExternalReference& reference);
protected:
+ TurboAssemblerBase(const AssemblerOptions& options, void* buffer,
+ int buffer_size)
+ : TurboAssemblerBase(nullptr, options.EnableV8AgnosticCode(), buffer,
+ buffer_size, CodeObjectRequired::kNo) {}
+
TurboAssemblerBase(Isolate* isolate, const AssemblerOptions& options,
void* buffer, int buffer_size,
CodeObjectRequired create_code_object);
@@ -97,7 +105,7 @@ class V8_EXPORT_PRIVATE TurboAssemblerBase : public Assembler {
// Avoids emitting calls to the {Builtins::kAbort} builtin when emitting debug
// code during the lifetime of this scope object. For disabling debug code
// entirely use the {DontEmitDebugCodeScope} instead.
-class HardAbortScope BASE_EMBEDDED {
+class HardAbortScope {
public:
explicit HardAbortScope(TurboAssemblerBase* assembler)
: assembler_(assembler), old_value_(assembler->should_abort_hard()) {