summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-08-26 09:29:37 +0200
committerMichaël Zasso <targos@protonmail.com>2018-08-29 12:28:04 +0200
commit487c1e0816040a398fc4bfb26d0efd435e51f0c8 (patch)
treec6128804c3a4a6ccea30eb863052bf0c1c30253e /deps
parent25840529e31bfbdd6de6f527f1651e3e2cd22e69 (diff)
downloadandroid-node-v8-487c1e0816040a398fc4bfb26d0efd435e51f0c8.tar.gz
android-node-v8-487c1e0816040a398fc4bfb26d0efd435e51f0c8.tar.bz2
android-node-v8-487c1e0816040a398fc4bfb26d0efd435e51f0c8.zip
deps: backport StackFrame::GetFrame with isolate
This overload was added in V8 6.9 and the one without isolate was removed in V8 7.0. Refs: https://github.com/v8/v8/commit/8a011b57d8b26e9cfe1c20a2ef26adb14be6ecc2 PR-URL: https://github.com/nodejs/node/pull/22531 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'deps')
-rw-r--r--deps/v8/include/v8.h4
-rw-r--r--deps/v8/src/api.cc11
2 files changed, 11 insertions, 4 deletions
diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h
index 362bece11f..0f1f74e6a1 100644
--- a/deps/v8/include/v8.h
+++ b/deps/v8/include/v8.h
@@ -1828,7 +1828,9 @@ class V8_EXPORT StackTrace {
/**
* Returns a StackFrame at a particular index.
*/
- Local<StackFrame> GetFrame(uint32_t index) const;
+ V8_DEPRECATE_SOON("Use Isolate version",
+ Local<StackFrame> GetFrame(uint32_t index) const);
+ Local<StackFrame> GetFrame(Isolate* isolate, uint32_t index) const;
/**
* Returns the number of StackFrames.
diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc
index 5f8f375200..3fec027b01 100644
--- a/deps/v8/src/api.cc
+++ b/deps/v8/src/api.cc
@@ -3023,15 +3023,20 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) {
// --- S t a c k T r a c e ---
-Local<StackFrame> StackTrace::GetFrame(uint32_t index) const {
- i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
+Local<StackFrame> StackTrace::GetFrame(Isolate* v8_isolate,
+ uint32_t index) const {
+ i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
ENTER_V8_NO_SCRIPT_NO_EXCEPTION(isolate);
- EscapableHandleScope scope(reinterpret_cast<Isolate*>(isolate));
+ EscapableHandleScope scope(v8_isolate);
auto obj = handle(Utils::OpenHandle(this)->get(index), isolate);
auto info = i::Handle<i::StackFrameInfo>::cast(obj);
return scope.Escape(Utils::StackFrameToLocal(info));
}
+Local<StackFrame> StackTrace::GetFrame(uint32_t index) const {
+ i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
+ return GetFrame(reinterpret_cast<Isolate*>(isolate), index);
+}
int StackTrace::GetFrameCount() const {
return Utils::OpenHandle(this)->length();