aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/safepoint-table.h
diff options
context:
space:
mode:
authorMichaƫl Zasso <targos@protonmail.com>2018-01-24 20:16:06 +0100
committerMyles Borins <mylesborins@google.com>2018-01-24 15:02:20 -0800
commit4c4af643e5042d615a60c6bbc05aee9d81b903e5 (patch)
tree3fb0a97988fe4439ae3ae06f26915d1dcf8cab92 /deps/v8/src/safepoint-table.h
parentfa9f31a4fda5a3782c652e56e394465805ebb50f (diff)
downloadandroid-node-v8-4c4af643e5042d615a60c6bbc05aee9d81b903e5.tar.gz
android-node-v8-4c4af643e5042d615a60c6bbc05aee9d81b903e5.tar.bz2
android-node-v8-4c4af643e5042d615a60c6bbc05aee9d81b903e5.zip
deps: update V8 to 6.4.388.40
PR-URL: https://github.com/nodejs/node/pull/17489 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Diffstat (limited to 'deps/v8/src/safepoint-table.h')
-rw-r--r--deps/v8/src/safepoint-table.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/deps/v8/src/safepoint-table.h b/deps/v8/src/safepoint-table.h
index 057d5d8c5e..9f063bac20 100644
--- a/deps/v8/src/safepoint-table.h
+++ b/deps/v8/src/safepoint-table.h
@@ -18,14 +18,14 @@ class Register;
class SafepointEntry BASE_EMBEDDED {
public:
- SafepointEntry() : info_(0), bits_(NULL), trampoline_pc_(-1) {}
+ SafepointEntry() : info_(0), bits_(nullptr), trampoline_pc_(-1) {}
SafepointEntry(unsigned info, uint8_t* bits, int trampoline_pc)
: info_(info), bits_(bits), trampoline_pc_(trampoline_pc) {
DCHECK(is_valid());
}
- bool is_valid() const { return bits_ != NULL; }
+ bool is_valid() const { return bits_ != nullptr; }
bool Equals(const SafepointEntry& other) const {
return info_ == other.info_ && bits_ == other.bits_;
@@ -33,7 +33,7 @@ class SafepointEntry BASE_EMBEDDED {
void Reset() {
info_ = 0;
- bits_ = NULL;
+ bits_ = nullptr;
}
int deoptimization_index() const {
@@ -90,6 +90,9 @@ class SafepointEntry BASE_EMBEDDED {
class SafepointTable BASE_EMBEDDED {
public:
explicit SafepointTable(Code* code);
+ explicit SafepointTable(Address instruction_start,
+ size_t safepoint_table_offset, uint32_t stack_slots,
+ bool has_deopt = false);
int size() const {
return kHeaderSize + (length_ * (kFixedEntrySize + entry_size_));
@@ -113,7 +116,8 @@ class SafepointTable BASE_EMBEDDED {
DCHECK(index < length_);
unsigned info = Memory::uint32_at(GetInfoLocation(index));
uint8_t* bits = &Memory::uint8_at(entries_ + (index * entry_size_));
- int trampoline_pc = Memory::int_at(GetTrampolineLocation(index));
+ int trampoline_pc =
+ has_deopt_ ? Memory::int_at(GetTrampolineLocation(index)) : -1;
return SafepointEntry(info, bits, trampoline_pc);
}
@@ -151,12 +155,14 @@ class SafepointTable BASE_EMBEDDED {
uint8_t byte, int digits);
DisallowHeapAllocation no_allocation_;
- Code* code_;
+ Address instruction_start_;
+ uint32_t stack_slots_;
unsigned length_;
unsigned entry_size_;
Address pc_and_deoptimization_indexes_;
Address entries_;
+ bool has_deopt_;
friend class SafepointTableBuilder;
friend class SafepointEntry;