/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- * vim: set ts=8 sts=2 et sw=2 tw=80: * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// [SMDOC] Trampoline Natives // // Trampoline natives are JS builtin functions that use the NATIVE_JIT_ENTRY // mechanism. This means they have two implementations: the usual native C++ // implementation and a generated JIT trampoline that JIT callers can call // directly using the JIT ABI calling convention. (This is very similar to how // calls from JS to WebAssembly are optimized in the JITs.) // // The JIT trampoline lets us implement some natives in a more efficient way. In // particular, it's much faster to call (other) JS functions with JIT code from // a JIT trampoline than from C++ code. // // Trampoline frames use FrameType::TrampolineNative.
class JSJitInfo;
namespace JS { class CallArgs;
} // namespace JS
// List of all trampoline natives. #define TRAMPOLINE_NATIVE_LIST(_) \
_(ArraySort) \
_(TypedArraySort)
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.