summaryrefslogtreecommitdiff
path: root/deps/v8/src/safepoint-table.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-03-07 08:54:53 +0100
committerMichaël Zasso <targos@protonmail.com>2018-03-07 16:48:52 +0100
commit88786fecff336342a56e6f2e7ff3b286be716e47 (patch)
tree92e6ba5b8ac8dae1a058988d20c9d27bfa654390 /deps/v8/src/safepoint-table.h
parent4e86f9b5ab83cbabf43839385bf383e6a7ef7d19 (diff)
downloadandroid-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.gz
android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.bz2
android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.zip
deps: update V8 to 6.5.254.31
PR-URL: https://github.com/nodejs/node/pull/18453 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'deps/v8/src/safepoint-table.h')
-rw-r--r--deps/v8/src/safepoint-table.h31
1 files changed, 20 insertions, 11 deletions
diff --git a/deps/v8/src/safepoint-table.h b/deps/v8/src/safepoint-table.h
index 9f063bac20..5c6b413fa1 100644
--- a/deps/v8/src/safepoint-table.h
+++ b/deps/v8/src/safepoint-table.h
@@ -194,8 +194,8 @@ class Safepoint BASE_EMBEDDED {
private:
Safepoint(ZoneList<int>* indexes, ZoneList<int>* registers)
: indexes_(indexes), registers_(registers) {}
- ZoneList<int>* indexes_;
- ZoneList<int>* registers_;
+ ZoneList<int>* const indexes_;
+ ZoneList<int>* const registers_;
friend class SafepointTableBuilder;
};
@@ -205,9 +205,6 @@ class SafepointTableBuilder BASE_EMBEDDED {
public:
explicit SafepointTableBuilder(Zone* zone)
: deoptimization_info_(32, zone),
- deopt_index_list_(32, zone),
- indexes_(32, zone),
- registers_(32, zone),
emitted_(false),
last_lazy_safepoint_(0),
zone_(zone) { }
@@ -225,7 +222,7 @@ class SafepointTableBuilder BASE_EMBEDDED {
// outstanding safepoints.
void RecordLazyDeoptimizationIndex(int index);
void BumpLastLazySafepointIndex() {
- last_lazy_safepoint_ = deopt_index_list_.length();
+ last_lazy_safepoint_ = deoptimization_info_.length();
}
// Emit the safepoint table after the body. The number of bits per
@@ -244,18 +241,30 @@ class SafepointTableBuilder BASE_EMBEDDED {
unsigned arguments;
bool has_doubles;
int trampoline;
+ ZoneList<int>* indexes;
+ ZoneList<int>* registers;
+ unsigned deopt_index;
+ DeoptimizationInfo(Zone* zone, unsigned pc, unsigned arguments,
+ Safepoint::Kind kind)
+ : pc(pc),
+ arguments(arguments),
+ has_doubles(kind & Safepoint::kWithDoubles),
+ trampoline(-1),
+ indexes(new (zone) ZoneList<int>(8, zone)),
+ registers(kind & Safepoint::kWithRegisters
+ ? new (zone) ZoneList<int>(4, zone)
+ : nullptr),
+ deopt_index(Safepoint::kNoDeoptimizationIndex) {}
};
- uint32_t EncodeExceptPC(const DeoptimizationInfo& info, unsigned index);
+ uint32_t EncodeExceptPC(const DeoptimizationInfo&);
- bool IsIdenticalExceptForPc(int index1, int index2) const;
+ bool IsIdenticalExceptForPc(const DeoptimizationInfo&,
+ const DeoptimizationInfo&) const;
// If all entries are identical, replace them by 1 entry with pc = kMaxUInt32.
void RemoveDuplicates();
ZoneList<DeoptimizationInfo> deoptimization_info_;
- ZoneList<unsigned> deopt_index_list_;
- ZoneList<ZoneList<int>*> indexes_;
- ZoneList<ZoneList<int>*> registers_;
unsigned offset_;
bool emitted_;