summaryrefslogtreecommitdiff
path: root/deps/v8/src/codegen/safepoint-table.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/codegen/safepoint-table.h')
-rw-r--r--deps/v8/src/codegen/safepoint-table.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/deps/v8/src/codegen/safepoint-table.h b/deps/v8/src/codegen/safepoint-table.h
index 963729dd79..3676ae1c11 100644
--- a/deps/v8/src/codegen/safepoint-table.h
+++ b/deps/v8/src/codegen/safepoint-table.h
@@ -10,12 +10,14 @@
#include "src/common/assert-scope.h"
#include "src/utils/allocation.h"
#include "src/utils/bit-vector.h"
-#include "src/zone/zone-chunk-list.h"
+#include "src/zone/zone-containers.h"
#include "src/zone/zone.h"
namespace v8 {
namespace internal {
+class GcSafeCode;
+
namespace wasm {
class WasmCode;
} // namespace wasm
@@ -54,16 +56,14 @@ class SafepointEntry : public SafepointEntryBase {
base::Vector<uint8_t> tagged_slots_;
};
-// A wrapper class for accessing the safepoint table embedded into the Code
-// object.
+// A wrapper class for accessing the safepoint table embedded into the
+// InstructionStream object.
class SafepointTable {
public:
// The isolate and pc arguments are used for figuring out whether pc
// belongs to the embedded or un-embedded code blob.
+ explicit SafepointTable(Isolate* isolate, Address pc, InstructionStream code);
explicit SafepointTable(Isolate* isolate, Address pc, Code code);
-#ifdef V8_EXTERNAL_CODE_SPACE
- explicit SafepointTable(Isolate* isolate, Address pc, CodeDataContainer code);
-#endif
#if V8_ENABLE_WEBASSEMBLY
explicit SafepointTable(const wasm::WasmCode* code);
#endif // V8_ENABLE_WEBASSEMBLY
@@ -115,10 +115,14 @@ class SafepointTable {
// Returns the entry for the given pc.
SafepointEntry FindEntry(Address pc) const;
+ static SafepointEntry FindEntry(Isolate* isolate, GcSafeCode code,
+ Address pc);
void Print(std::ostream&) const;
private:
+ SafepointTable(Isolate* isolate, Address pc, GcSafeCode code);
+
// Layout information.
static constexpr int kLengthOffset = 0;
static constexpr int kEntryConfigurationOffset = kLengthOffset + kIntSize;
@@ -258,7 +262,7 @@ class SafepointTableBuilder : public SafepointTableBuilderBase {
#endif // DEBUG
int min_stack_index_ = std::numeric_limits<int>::max();
- ZoneChunkList<EntryBuilder> entries_;
+ ZoneDeque<EntryBuilder> entries_;
Zone* zone_;
};