GIF89; GIF89; %PDF- %PDF-
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef INCLUDE_CPPGC_TESTING_H_
#define INCLUDE_CPPGC_TESTING_H_
#include "cppgc/common.h"
#include "cppgc/macros.h"
#include "v8config.h" // NOLINT(build/include_directory)
namespace cppgc {
class HeapHandle;
/**
* Namespace contains testing helpers.
*/
namespace testing {
/**
* Overrides the state of the stack with the provided value. Parameters passed
* to explicit garbage collection calls still take precedence. Must not be
* nested.
*
* This scope is useful to make the garbage collector consider the stack when
* tasks that invoke garbage collection (through the provided platform) contain
* interesting pointers on its stack.
*/
class V8_EXPORT V8_NODISCARD OverrideEmbedderStackStateScope final {
CPPGC_STACK_ALLOCATED();
public:
/**
* Constructs a scoped object that automatically enters and leaves the scope.
*
* \param heap_handle The corresponding heap.
*/
explicit OverrideEmbedderStackStateScope(HeapHandle& heap_handle,
EmbedderStackState state);
~OverrideEmbedderStackStateScope();
OverrideEmbedderStackStateScope(const OverrideEmbedderStackStateScope&) =
delete;
OverrideEmbedderStackStateScope& operator=(
const OverrideEmbedderStackStateScope&) = delete;
private:
HeapHandle& heap_handle_;
};
/**
* Testing interface for managed heaps that allows for controlling garbage
* collection timings. Embedders should use this class when testing the
* interaction of their code with incremental/concurrent garbage collection.
*/
class V8_EXPORT StandaloneTestingHeap final {
public:
explicit StandaloneTestingHeap(HeapHandle&);
/**
* Start an incremental garbage collection.
*/
void StartGarbageCollection();
/**
* Perform an incremental step. This will also schedule concurrent steps if
* needed.
*
* \param stack_state The state of the stack during the step.
*/
bool PerformMarkingStep(EmbedderStackState stack_state);
/**
* Finalize the current garbage collection cycle atomically.
* Assumes that garbage collection is in progress.
*
* \param stack_state The state of the stack for finalizing the garbage
* collection cycle.
*/
void FinalizeGarbageCollection(EmbedderStackState stack_state);
/**
* Toggle main thread marking on/off. Allows to stress concurrent marking
* (e.g. to better detect data races).
*
* \param should_mark Denotes whether the main thread should contribute to
* marking. Defaults to true.
*/
void ToggleMainThreadMarking(bool should_mark);
/**
* Force enable compaction for the next garbage collection cycle.
*/
void ForceCompactionForNextGarbageCollection();
private:
HeapHandle& heap_handle_;
};
V8_EXPORT bool IsHeapObjectOld(void*);
} // namespace testing
} // namespace cppgc
#endif // INCLUDE_CPPGC_TESTING_H_
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| internal | Folder | 0755 |
|
|
| allocation.h | File | 11.61 KB | 0644 |
|
| common.h | File | 643 B | 0644 |
|
| cross-thread-persistent.h | File | 14.81 KB | 0644 |
|
| custom-space.h | File | 2.4 KB | 0644 |
|
| default-platform.h | File | 2.18 KB | 0644 |
|
| ephemeron-pair.h | File | 804 B | 0644 |
|
| explicit-management.h | File | 3.29 KB | 0644 |
|
| garbage-collected.h | File | 3.11 KB | 0644 |
|
| heap-consistency.h | File | 11.74 KB | 0644 |
|
| heap-handle.h | File | 1.26 KB | 0644 |
|
| heap-state.h | File | 2.57 KB | 0644 |
|
| heap-statistics.h | File | 3.89 KB | 0644 |
|
| heap.h | File | 5.7 KB | 0644 |
|
| liveness-broker.h | File | 2.34 KB | 0644 |
|
| macros.h | File | 1.31 KB | 0644 |
|
| member.h | File | 23.55 KB | 0644 |
|
| name-provider.h | File | 1.99 KB | 0644 |
|
| object-size-trait.h | File | 1.6 KB | 0644 |
|
| persistent.h | File | 13.61 KB | 0644 |
|
| platform.h | File | 5.9 KB | 0644 |
|
| prefinalizer.h | File | 2.88 KB | 0644 |
|
| process-heap-statistics.h | File | 1009 B | 0644 |
|
| sentinel-pointer.h | File | 1.18 KB | 0644 |
|
| source-location.h | File | 414 B | 0644 |
|
| testing.h | File | 2.96 KB | 0644 |
|
| trace-trait.h | File | 3.4 KB | 0644 |
|
| type-traits.h | File | 8.45 KB | 0644 |
|
| visitor.h | File | 18.08 KB | 0644 |
|