Add TryGetCurrent() method to v8::Isolate
This commit adds a TryGetCurrent() method to the v8::Isolate class. The motivation for adding this method this is that in Node.js we've run into situations where we need to check if there is a current Isolate and we are using GetCurrent() for this. The issue is that for a debug build of Node.js, the debug check in GetCurrent() will cause a failure. The suggestion in this changeset is to allow getting the current Isolate, or null if one does not exist, without any checks. Change-Id: I01676e4bcdbe86da0496f5df1982d14eb1c9ebf8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2910630 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75004}
This commit is contained in:
parent
693e86143b
commit
ca05c5a2e5
@ -8645,6 +8645,14 @@ class V8_EXPORT Isolate {
|
||||
*/
|
||||
static Isolate* GetCurrent();
|
||||
|
||||
/**
|
||||
* Returns the entered isolate for the current thread or NULL in
|
||||
* case there is no current isolate.
|
||||
*
|
||||
* No checks are performed by this method.
|
||||
*/
|
||||
static Isolate* TryGetCurrent();
|
||||
|
||||
/**
|
||||
* Clears the set of objects held strongly by the heap. This set of
|
||||
* objects are originally built when a WeakRef is created or
|
||||
|
@ -8248,6 +8248,11 @@ Isolate* Isolate::GetCurrent() {
|
||||
return reinterpret_cast<Isolate*>(isolate);
|
||||
}
|
||||
|
||||
Isolate* Isolate::TryGetCurrent() {
|
||||
i::Isolate* isolate = i::Isolate::TryGetCurrent();
|
||||
return reinterpret_cast<Isolate*>(isolate);
|
||||
}
|
||||
|
||||
// static
|
||||
Isolate* Isolate::Allocate() {
|
||||
return reinterpret_cast<Isolate*>(i::Isolate::New());
|
||||
|
Loading…
Reference in New Issue
Block a user