#ifdef XP_WIN // We only need the `windows.h` header, but this file can get unified built // with WasmSignalHandlers.cpp, which requires `winternal.h` to be included // before the `windows.h` header, and so we must include it here for that case. # include <winternl.h> // must include before util/WindowsWrapper.h's `#undef`s
void Context::initStackLimit(JSContext* cx) { // The wasm stack limit is the same as the jit stack limit. We also don't // use the stack limit for triggering interrupts.
stackLimit = cx->jitStackLimitNoInterrupt;
#ifdef ENABLE_WASM_JSPI // Fill in the main stack target
mainStackTarget_.stack = nullptr;
mainStackTarget_.jitLimit = stackLimit;
MOZ_ASSERT(!mainStackTarget_.stack);
// See the comment on wasm::Context for why we do this. # ifdefined(_WIN32)
tib_ = reinterpret_cast<_NT_TIB*>(::NtCurrentTeb());
updateWin32TibFields(); # endif // _WIN32 #endif// ENABLE_WASM_JSPI
}
#ifdef ENABLE_WASM_JSPI # ifdef _WIN32 void Context::updateWin32TibFields() { // We must be on the main stack to be able to get accurate values here.
MOZ_RELEASE_ASSERT(!onContStack());
mainStackTarget_.tibStackBase = tib_->StackBase;
mainStackTarget_.tibStackLimit = tib_->StackLimit;
} # endif // _WIN32 #endif// ENABLE_WASM_JSPI
// We have an address that's not on the main stack, but also not in a // continuation stack. This can happen sometimes in stack overflow situations // and is fine. return nullptr;
} #endif
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-09-30)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.