[api] Deprecate unused GlobalHandles APIs that peek into internals
When moving forward and optimizing internals, these APIs cannot be trusted anymore as their semantics are tangled to the current implementation. Bug: v8:12819 Change-Id: I0e3370724307a420ee42fed8070b55542be9400d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599475 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#80082}
This commit is contained in:
parent
ea2f804ed4
commit
91badec697
@ -843,6 +843,9 @@ class V8_EXPORT Isolate {
|
|||||||
* Returns the number of phantom handles without callbacks that were reset
|
* Returns the number of phantom handles without callbacks that were reset
|
||||||
* by the garbage collector since the last call to this function.
|
* by the garbage collector since the last call to this function.
|
||||||
*/
|
*/
|
||||||
|
V8_DEPRECATE_SOON(
|
||||||
|
"Information cannot be relied on anymore as internal representation may "
|
||||||
|
"change.")
|
||||||
size_t NumberOfPhantomHandleResetsSinceLastCall();
|
size_t NumberOfPhantomHandleResetsSinceLastCall();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1602,6 +1605,9 @@ class V8_EXPORT Isolate {
|
|||||||
* Iterates through all the persistent handles in the current isolate's heap
|
* Iterates through all the persistent handles in the current isolate's heap
|
||||||
* that have class_ids.
|
* that have class_ids.
|
||||||
*/
|
*/
|
||||||
|
V8_DEPRECATE_SOON(
|
||||||
|
"Information cannot be relied on anymore as internal representation may "
|
||||||
|
"change.")
|
||||||
void VisitHandlesWithClassIds(PersistentHandleVisitor* visitor);
|
void VisitHandlesWithClassIds(PersistentHandleVisitor* visitor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1609,6 +1615,9 @@ class V8_EXPORT Isolate {
|
|||||||
* that have class_ids and are weak to be marked as inactive if there is no
|
* that have class_ids and are weak to be marked as inactive if there is no
|
||||||
* pending activity for the handle.
|
* pending activity for the handle.
|
||||||
*/
|
*/
|
||||||
|
V8_DEPRECATE_SOON(
|
||||||
|
"Information cannot be relied on anymore as internal representation may "
|
||||||
|
"change.")
|
||||||
void VisitWeakHandles(PersistentHandleVisitor* visitor);
|
void VisitWeakHandles(PersistentHandleVisitor* visitor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -55,6 +55,7 @@
|
|||||||
#include "src/base/platform/platform.h"
|
#include "src/base/platform/platform.h"
|
||||||
#include "src/base/strings.h"
|
#include "src/base/strings.h"
|
||||||
#include "src/codegen/compilation-cache.h"
|
#include "src/codegen/compilation-cache.h"
|
||||||
|
#include "src/common/allow-deprecated.h"
|
||||||
#include "src/compiler/globals.h"
|
#include "src/compiler/globals.h"
|
||||||
#include "src/debug/debug.h"
|
#include "src/debug/debug.h"
|
||||||
#include "src/execution/arguments.h"
|
#include "src/execution/arguments.h"
|
||||||
@ -18825,6 +18826,7 @@ class Visitor42 : public v8::PersistentHandleVisitor {
|
|||||||
v8::Persistent<v8::Object>* object_;
|
v8::Persistent<v8::Object>* object_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
START_ALLOW_USE_DEPRECATED()
|
||||||
|
|
||||||
TEST(PersistentHandleVisitor) {
|
TEST(PersistentHandleVisitor) {
|
||||||
LocalContext context;
|
LocalContext context;
|
||||||
@ -18842,6 +18844,7 @@ TEST(PersistentHandleVisitor) {
|
|||||||
object.Reset();
|
object.Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
END_ALLOW_USE_DEPRECATED()
|
||||||
|
|
||||||
TEST(WrapperClassId) {
|
TEST(WrapperClassId) {
|
||||||
LocalContext context;
|
LocalContext context;
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "include/v8-function.h"
|
#include "include/v8-function.h"
|
||||||
#include "include/v8-locker.h"
|
#include "include/v8-locker.h"
|
||||||
#include "src/api/api-inl.h"
|
#include "src/api/api-inl.h"
|
||||||
|
#include "src/common/allow-deprecated.h"
|
||||||
#include "src/execution/isolate.h"
|
#include "src/execution/isolate.h"
|
||||||
#include "src/handles/global-handles.h"
|
#include "src/handles/global-handles.h"
|
||||||
#include "src/heap/factory.h"
|
#include "src/heap/factory.h"
|
||||||
@ -286,6 +287,8 @@ TEST(WeakPersistentSmi) {
|
|||||||
v8::WeakCallbackType::kParameter);
|
v8::WeakCallbackType::kParameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
START_ALLOW_USE_DEPRECATED()
|
||||||
|
|
||||||
TEST(PhantomHandlesWithoutCallbacks) {
|
TEST(PhantomHandlesWithoutCallbacks) {
|
||||||
CcTest::InitializeVM();
|
CcTest::InitializeVM();
|
||||||
v8::Isolate* isolate = CcTest::isolate();
|
v8::Isolate* isolate = CcTest::isolate();
|
||||||
@ -305,6 +308,8 @@ TEST(PhantomHandlesWithoutCallbacks) {
|
|||||||
CHECK_EQ(0u, isolate->NumberOfPhantomHandleResetsSinceLastCall());
|
CHECK_EQ(0u, isolate->NumberOfPhantomHandleResetsSinceLastCall());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
END_ALLOW_USE_DEPRECATED()
|
||||||
|
|
||||||
TEST(WeakHandleToUnmodifiedJSObjectDiesOnScavenge) {
|
TEST(WeakHandleToUnmodifiedJSObjectDiesOnScavenge) {
|
||||||
if (FLAG_single_generation) return;
|
if (FLAG_single_generation) return;
|
||||||
CcTest::InitializeVM();
|
CcTest::InitializeVM();
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "src/base/optional.h"
|
#include "src/base/optional.h"
|
||||||
#include "src/base/strings.h"
|
#include "src/base/strings.h"
|
||||||
#include "src/codegen/assembler-inl.h"
|
#include "src/codegen/assembler-inl.h"
|
||||||
|
#include "src/common/allow-deprecated.h"
|
||||||
#include "src/debug/debug.h"
|
#include "src/debug/debug.h"
|
||||||
#include "src/heap/heap-inl.h"
|
#include "src/heap/heap-inl.h"
|
||||||
#include "src/init/v8.h"
|
#include "src/init/v8.h"
|
||||||
@ -1645,12 +1646,16 @@ class EmbedderGraphBuilder : public v8::PersistentHandleVisitor {
|
|||||||
graph->AddNode(std::unique_ptr<Group>(new Group("ccc-group")));
|
graph->AddNode(std::unique_ptr<Group>(new Group("ccc-group")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
START_ALLOW_USE_DEPRECATED()
|
||||||
|
|
||||||
static void BuildEmbedderGraph(v8::Isolate* isolate, v8::EmbedderGraph* graph,
|
static void BuildEmbedderGraph(v8::Isolate* isolate, v8::EmbedderGraph* graph,
|
||||||
void* data) {
|
void* data) {
|
||||||
EmbedderGraphBuilder builder(isolate, graph);
|
EmbedderGraphBuilder builder(isolate, graph);
|
||||||
isolate->VisitHandlesWithClassIds(&builder);
|
isolate->VisitHandlesWithClassIds(&builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
END_ALLOW_USE_DEPRECATED()
|
||||||
|
|
||||||
void VisitPersistentHandle(v8::Persistent<v8::Value>* value,
|
void VisitPersistentHandle(v8::Persistent<v8::Value>* value,
|
||||||
uint16_t class_id) override {
|
uint16_t class_id) override {
|
||||||
v8::Local<v8::Value> wrapper = v8::Local<v8::Value>::New(
|
v8::Local<v8::Value> wrapper = v8::Local<v8::Value>::New(
|
||||||
|
Loading…
Reference in New Issue
Block a user