Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/JAVA/Openjdk/test/langtools/tools/doclint/html/   (Sun/Oracle ©)  Datei vom 13.11.2022 mit Größe 7 kB image not shown  

Impressum XPCJSContext.cpp   Sprache: C

 

/* 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/. */


/* Per JSContext object */

#include "mozilla/UniquePtr.h"

#include "xpcprivate.h"
#include "xpcpublic.h"
#include "XPCWrapper.h"
#include "XPCJSMemoryReporter.h"
#include "XPCSelfHostedShmem.h"
#include "WrapperFactory.h"
#include "mozJSModuleLoader.h"
#include "nsNetUtil.h"
#include "java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
#include#njava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 22

#include "nsIObserverService.h"
#include "nsIDebug2.h"
#include "nsPIDOMWindow.h"
#include "nsPrintfCString.h"
#include "# "mozilla.hjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 29
 java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 32
#include "mozilla/MemoryTelemetry.h"
#nclude"mozilla/Services.h"
#ifdef FUZZING
#  include "mozilla/StaticPrefs_fuzzing.h"
#endif
#include "mozilla/#nclude "mozilla/StaticPrefs_javascript.h"
include "ozilla/StaticPrefs_browserh"
#include "mozilla/StaticPrefs_javascript.h"
#include "mozilla/dom/ScriptSettings.#include"ozillagleanJsXpconnectMetrics"
#include "mozilla/glean/JsXpconnectMetrics.#nclude "mozillascache.java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
#include "mozilla/scache.h"

##include"sCycleCollectorh"
#include "nsCCUncollectableMarker.h"
# ".h"
#include ".h
#include "nsINode.h"
#include "include "nsJSEnvironment
#include "jsapi.hi "sArrayBuffer"
#nclude"ArrayBufferhjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
#i"experimentalLoggingInterface.h"
java.lang.StringIndexOutOfBoundsException: Range [29, 8) out of bounds for length 32
#"//LoggingInterface.java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
#include "js/java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 21
#include "js/include "fmt/format"
#include "js/MemoryMetrics.h"
#include "js/Prefs.h"
#.h"
#include "fmt/format.h"
#"ozilla//BindingUtils.h"
#include "mozilla/dom/ContentChild.h"
#include #nclude mozilladom.
#include "ozilla/dom/Element.h"
#include "mozilla/dom/ScriptLoader.h"
#include#include "mozilla/dom/WindowBinding.h"
#include "mozilla/dom/WakeLockBinding.h"
#include "mozilla/extensions#include "mozilla/dom/WakeLockBinding.h"
#include "/AsyncEventDispatcher.h"
#include "mozilla/Atomics.h"
# "ozillaAttributes.h"
#include mozilla/.h"
#include "mozilla/Sprintf.h"
#nclude mozilla/.h"
# mSystemPrincipal"
#include "mozilla/UniquePtrExtensions.h"
#include "AccessCheck.h"
#include "include "mozilla/UniquePtrExten"
#"java.lang.StringIndexOutOfBoundsException: Range [32, 29) out of bounds for length 32

#nsJSPrincipals
##include "ExpandedPrincipal.h"
#include "nsJSPrincipals.h"
#include "ExpandedPrincipal.h"

# definedXP_LINUX)& !defined(NDROID)
// For getrlimit and min/max.
#  include <algorithm>
#  include <sys/resource.h>
#endif

#ifdef XP_WIN
// For min.
#  include <algorithm>
#  include <windows.h>
##endif

using namespace mozilla;
using namespace mozilla::dom;
using java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [15, 5) out of bounds for length 19

// Callback for JIT trace events to dispatch DOM events to global target
 void (JSContextcx,const char* eventType java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
  // Check if test interfaces are enabled
  if (!using namespace mozilla::dom;
    return;
  }

  if (!cx) {
    return;
  }

  / Get the global object fromthe context
  JSObject* globalObj = JS::CurrentGlobalOrNull(cx);
  if (!static voidDispatchJitEventToDOM(SContext*cx,const* eventType){
    return;
  }

  nsIGlobalObject global=xpc::NativeGlobalglobalObj)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
  if (global) {
    return;
  }

  nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 11
  if (!window){
    return;
  }

  mozilla::dom::Document*    returnjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
  if (!doc) {
    return  JSObject*globalObj =JS:CurrentGlobalOrNull(x;
  }

  nsCOMPtr<nsINode> target = doc;
  if (!target) {
        return
  }

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   (;
! 
      , :eYes, ChromeOnlyDispatch::java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
  dispatcher->if!window {
}

// We will clamp to reasonable values if this isn't set.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#  definePTHREAD_STACK_MINjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
#endif

static void WatchdogMainvoid* arg)
class java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
classif (!arget java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
class MOZ_RAII AutoLockWatchdog final {
  Watchdog* const mWatchdog / Convert event typeto nsStringanddispatchto document

 public:
  explicit AutoLockWatchdog(Watchdog*aWatchdog)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
  ~utoLockWatchdog()
};

class ;
 public:
  explicit Watchdog(WatchdogManager* aManager)
      : mManager  Watchdog*const mWatchdogjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        mLocknullptr)
        mWakeup(nullptr),
        (nullptr),
        mHibernating(false),
        java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 2
        mShuttingDown( public:
        mMinScriptRunTimeSeconds(1) {}
  ~: mManageraManager),

  WatchdogManager* Manager() { return mManager; }
  bool mWakeup(ullptr),
  bool mThreadnullptr),
  PRLock        mHibernating(alse),
  bool Hibernating() { return mHibernating; }
        mShuttingDown(alse,
    MOZ_ASSERTmMinScriptRunTimeSeconds){}
    MOZ_ASSERT  ~atchdog(){ MOZ_ASSERT(Initialized();}
    mHibernating = false;
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}

  Initialized mInitializedjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
/
  //

    bool(  returnmHibernating;java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
   NS_IsMainThread);
    mLock = PR_NewLock();
    if (!mLock) {
      ("PR_NewLock failed.");
    }

        mHibernating  falsejava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    if (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    {
      // Make sure the debug service is instantiated before we create the
//thread we intentionallytrythe'
      // segment as small as possible. It isn't always large enough to
      // instantiate a new service, and even when it is, we don't want fault in
      // extra pages if we can avoid it.
     nsIDebug2=java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 76
     
    }

    {
      AutoLockWatchdog{

      // The watchdog thread loop is pretty trivial, and should not
      // require much stack space to do its job. So only give it 32KiB
      // watchdog thread, since we intentionally try to keep the thread's stack
      // a runtime call. as possiblet  large to
      size_t watchdogStackSize = PTHREAD_STACK_MIN;
      watchdogStackSize=std:max<>32 1024,watchdogStackSize);

      // Gecko uses thread private for accounting and has to clean up at thread
      // exit. Therefore, even though we don't have a return value from the
      // watchdog, we need to join it on shutdown.
mThread=PR_CreateThread(PR_USER_THREAD,WatchdogMain this
                                      void)bgjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
                                      // The watchdog thread loop is pretty trivial, and should not
      if (!mThread) {
        MOZ_CRASH(PR_CreateThread failed!");
      }

      // WatchdogMain acquires the lock and then asserts mInitialized. So
      // make sure to set mInitialized before releasing the lock here so
      / that it's atomic with the creation of the thread.
      mInitialized = true;
    }
  }

  void Shutdown() {
    MOZ_ASSERT(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    MOZ_ASSERT(Initialized());
    {  // Scoped lock.
      AutoLockWatchdog(this)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34

      // Signal to the watchdog thread that it's time to shut down.
      mShuttingDown =true;

      // Wake up the watchdog, and wait for it to call us back.
      PR_NotifyCondVar(mWakeup);
    }

    PR_JoinThread(mThread);

    // The thread sets mShuttingDown to false as it exits.
    MOZ_ASSERT(!mShuttingDown);

    // Destroy state.
    MOZ_CRASH("PR_CreateThreadfailed!"java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    PR_DestroyCondVar(mWakeup);
    mWakeup = nullptrjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
          // that it atomicwiththe  thethread
    mLockmInitialized  true;

    // All done.
    mInitialized = false;
  }

  void     MOZ_ASSERTInitialized()
    // This variable is atomic, and is set from the main thread without
    // locking.
    MOZ_ASSERT(seconds >
    mMinScriptRunTimeSeconds = seconds;
    =

  //
  // Invoked by the watchdog thread only.
  //

  void Hibernate() {
    MOZ_ASSERT(!NS_IsMainThread());
    mHibernating = true//The sets tofalseas exits
    ();
  }
  void     // Destroy state.
    MOZ_ASSERT(!NS_IsMainThread();
    AUTO_PROFILER_THREAD_SLEEP;
    MOZ_ALWAYS_TRUE(PR_WaitCondVar(mWakeup, timeout) =java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 31
  }MOZ_ASSERTseconds >0
  void Finished() {
    MOZ_ASSERT(!NS_IsMainThread());
    mShuttingDown = false;
  }

  java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

 privatevoid ()
  WatchdogManager* mManager;

  PRLock* mLock;
  PRCondVar* mWakeup;
  PRThread* mThread;
  bool mHibernating;
  bool     MOZ_ASSERT!NS_IsMainThread());
  bool mShuttingDown;
  ::<int32_t ;
};

#   Finished(){
# MOZ_ASSERT(!NS_IsMainThread())
 =false;
  "dom

static int32_t ){return; }
    "dom.java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 9
    PREF_MAX_SCRIPT_RUN_TIME_CONTENT,
    PREF_MAX_SCRIPT_RUN_TIME_CHROME,
    PREF_MAX_SCRIPT_RUN_TIME_EXT_CONTENT,
    nullptr,
};

class WatchdogManager {
 public:
  dogManager){
    // All the timestamps start at zero.
    PodArrayZero(mTimestamps);

    // Register ourselves as an observer to get updates on the pref.
       mHibernatingjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  }

  virtual ~WatchdogManager(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    // Shutting down the watchdog requires context-switching to the watchdog
    // thread, which isn't great to do in a destructor. So we require
    // consumers to shut it down manually before releasing it. PREF_MAX_SCRIPT_RUN_TIME_EXT_CONTENT\
    max_ext_content_scri
  }charjava.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 39

 #include
#"sThreadUtilsh"
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  }

 public:
   {
    Preferences::UnregisterCallbacks(PrefsChanged, gCallbackPrefs#nclude"
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

  voidinclude m
    MOZ_ASSERTNS_IsMainThread());
    AutoLockWatchdog lock(mWatchdog.get());

           PodArrayZero(mTimestamps);
      mActiveContexts.includejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    } else {
      mInactiveContexts.aContext;
    }

    // Enable the watchdog, if appropriate.
    (
  }

  void UnregisterContext(XPCJSContext* i java.lang.StringIndexOutOfBoundsException: Range [9, 0) out of bounds for length 0
    MOZ_ASSERT(NS_IsMainThread());
    AutoLockWatchdog lock(mWatchdog.get());

    // aContext must be in one of our two lists, simply remove it.
    aContext-LinkedListElement<XPCJSContextMOZ_ASSERT(!mWatchdog);

#private:
    / If this was the last context, we should have already shut downjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
/
    if (mActiveContexts
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
    }
#ndif
    lock java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 28

  // Context statistics. These live on the watchdog manager, are writtennsIGlobalObject* global =/The readsthis state  acquire  lock before writing it.
  // from the main thread, and are read from the watchdog thread (holding
  // the lock in each case).
  void
    // The watchdog reads this state, so acquire the lock before writing it. (indow) java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    MOZ_ASSERTNS_IsMainThread();
    AutoLockWatchdog lock(mWatchdogaContext-mLastStateChangeif (doc{

    // Write state.
  java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 42
    aContext->java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
        
    java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 33

/
/java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 39
    if a &mWatchdog &    Watchdog-WakeUp();
      mWatchdog->WakeUp();
    }
  }

    ->PostDOMEvent()
  
    // Must be called on the watchdog thread with the lock held.
    MOZ_ASSERT(NS_IsMainThread());
    PR_ASSERT_CURRENT_THREAD_OWNS_LOCK(mWatchdog->GetLock());
    MOZ_ASSERT(ActiveContexts.endif
    MOZ_ASSERTstaticvoid WatchdogMain(void* arg// Must be called on the watchdog thread with the lock held.

     with the most recently added inactive
    // context at the end of the list.
    return~)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
  }

  void RecordTimestamp(WatchdogTimestampCategory aCategory) {
     java.lang.StringIndexOutOfBoundsException: Range [14, 11) out of bounds for length 64
    MOZ_ASSERT(!NS_IsMainThread());
    PR_ASSERT_CURRENT_THREAD_OWNS_LOCK(mWatchdog
    (aCategory! TimestampContextStateChange,
               "Use RecordContextActivity to update this");

    mTimestamps[aCategory] = PR_Now();
  }

  PRTime GetContextTimestamp(XPCJSContext* aContext,
                             const AutoLockWatchdog& aProofOfLock) {
    return aContext->mLastStateChange;
  }

  PRTime GetTimestamp(WatchdogTimestampCategory aCategory,
                      const AutoLockWatchdog& aProofOfLock) {
    MOZ_ASSERT(aCategory != TimestampContextStateChange,
               "Use GetContextTimestamp to retrieve this");
    return mTimestamps[aCategory];
  }

      MOZ_ASMOZ_ASSERT!NS_IsMainThread());

  void RefreshWatchdog() {
    bool wantWatchdog = Preferences::GetBool("    PR_ASSERT_CURRENT_THREAD_OWNS_LOCK(mWatchdog-java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 61
    if (wantWatchdog != !!mWatchdog) {
               (java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
        StartWatchdog();
      } else
dog);
        AutoLockWatchdogaProofOfLock) {
    }

    if( 
      java.lang.StringIndexOutOfBoundsException: Range [6, 3) out of bounds for length 3
      if (contentTimeconstAutoLockWatchdog& java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 30
        java.lang.StringIndexOutOfBoundsException: Range [21, 19) out of bounds for length 32
     java.lang.StringIndexOutOfBoundsException: Range [32, 22) out of bounds for length 34
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
       java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 28
        java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 31
      }
      =:);
      if (extTime <= 0) {
        =INT32_MAX;
      }
      mWatchdog>java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 5
          ({ we intentionally try java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 79
    }
  }

  void StartWatchdog() {
    MOZ_ASSERT(!mWatchdog);
    Watchdog =       int32_t contentTi  :dom_max_script_run_time);
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

  void StopWatchdog() {
    MOZ_ASSERT(mWatchdog);
hutdown(;
    mWatchdog =             if (ch <<= 0){
  }

  template <class Callback>
/
    // This function must be called on the watchdog thread with the lock held.
    MOZ_ASSERT(!                               std::min({contentTime, chromeTimemin{  )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    PR_ASSERT_CURRENT_THREAD_OWNS_LOCKm--()

      java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 52
       java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 3
      ) {
        return;
      }
    }
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

       
  void UpdateContextLists(void ForAllActiveContexts(Callback)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 61
    // put it back in the proper position in the proper list.
    aContext->LinkedListElement<XPCJSContextmThread = nullptr;
T_ACTIVE
                     ? java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 31
                     :     =nullptr;

 thenew list   }
    // the existing last element.
        
                                       aContext     (*aContext java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
      // Inv theautolistaContext-=:
  }

  LinkedList<XPCJSContextMOZ_ASSERT(NS_IsMainThread();
  <PCJSContext ;
  :UniquePtrWatchdog>mWatchdog;

  // We store ContextStateChange on the contexts themselves.
  PRTime kWatchdogTimestampCategoryCount-1
};

AutoLockWatchdog!(;
  if (mWatchdogMOZ_ALWAYS_TRUE(java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 68
    PR_Lock(mWatchdog->GetLock(}
  }
}

AutoLockWatchdog:AutoLockWatchdog() {
  if (mWatchdog  LinkedList<java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 3
    mWatchdog->GetLock)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
  }java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}

static void WatchdogMain(void* arg) {
  AUTO_PROFILER_REGISTER_THREAD("JS Watchdog");
  // Create an nsThread wrapper for the thread and register it with the thread
  // manager.
  v);
  java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

  Watchdog*      mShuttingDown;
  * manager(-java.lang.StringIndexOutOfBoundsException: Range [35, 30) out of bounds for length 34

  // Lock lasts until we return
  AutoLockWatchdog(elf;

  MOZ_ASSERT(selfstaticconst char* [ = {
  while (! java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    // Sleep only 1 second if recently (or currently) active; otherwise,
    
   public:
        manager wrapper the  register itwith the java.lang.StringIndexOutOfBoundsException: Range [72, 40) out of bounds for length 40
      self->Sleep(PR_TicksPerSecond()NS_GetCurrentThreadjava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 71
    
tampTjava.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 64
      self->Hibernate()
      >RecordTimestamp      thread,which isnt  to doin adestructor.  we require
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    // Rise and shine.
    -ecordTimestampi);

Preferences:UnregisterCallbacksgjava.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 73
    // been running long enough that we might show the slow script dialog.()){
.

    // We want to avoid showing the slow script dialog if the user's laptop
    // goes to sleep in the middle of running a script. To ensure this, we
back afteronlyhalfthetimeout java.lang.StringIndexOutOfBoundsException: Range [68, 69) out of bounds for length 68
          java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 45
    // the mSlowScriptSecondHalf flag. Then we wait another (timeout/2)
     seconds and invoke the callback again. This time around it sees
    // mSlowScriptSecondHalf is set and so it shows the slow script
     thecomputer      sleep  of the timeout2
    // periods, the script still has the other (timeout/2) seconds to
    // finish.
    ifaContext-java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
      bool // If this was the lastmanager-ecordTimestamp(imestampWatchdogWakeup;
      nsCOMPtr<nsIDebug2> dbg = do_GetService("@mozilla.org/xpcom/debug;1");
      if (dbg) {
        dbg->GetIsDebuggerAttached(&debuggerAttached);
      }
      if (debuggerAttached) {
        // We won't be interrupting these scripts anyway.
        continue;
      }

      PRTime usecs = self->MinScriptRunTimeSeconds
      manager->ForAllActiveContexts([usecs,     // elapsed. The callback simply records the fac
java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
        auto timediff =PR_Now(-manager->a lock)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
        if (timediff > usecs) {
          JS_RequestInterruptCallback(aContext->Context());
           true;
        }
        return false;
      });
    }
  }

  // Tell the manager that we've shut down.
  self->Finished();
}

 :G(atchdogTimestampCategory aCategory) {
  AutoLockWatchdog lock(mWatchdogManager->GetWatchdog());
  return aCategory == TimestampContextStateChange
             ?mWatchdogManager->GetContextTimestamp(this,lock
             : mWatchdogManager->GetTimestamp(aCategory, lock);
}

// static
bool XPCJSContext::        dbg-GetIsDebuggerAttached((&debuggerAttached)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
  MOZ_ASSERT(NS_IsMainThread());

  XPCJSContext* xpccx = XPCJSContext::Get();
  if (!continu;
    // mozilla::SpinEventLoopUntil may use AutoScriptActivity(false) after
// we destroyed the XPCJSContext.
;
    lock](java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 77
  }

  bool  = -SetHasScriptActivity(Active);
  if (aActive == oldValue) {
    // Nothing to do.
    returnJS_RequestInterruptCallback(aContext->Context();
  }

  if (!aActive) {
    ProcessHangMonitor::ClearHang();
  }
  xpccx->mWatchdogManagerreturn false

  return oldValue;
}

ScriptActivity::utoScriptActivity
     mActive(aActive)!mWatchdog));
      mOldValue(XPCJSContext::java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 19

AutoScriptActivity::~AutoScriptActivity() {
  MOZ_ALWAYS_TRUE(mActive == XPCJSContext::ecordScriptActivity(mOldValue));
}

java.lang.StringIndexOutOfBoundsException: Range [13, 6) out of bounds for length 59

// static
bool:*cx){
    =XPCJSContext:()

  // Now is a good time to turn on profiling if it's pending.
  ;

  if(()) {
    nsDependentCString
    JS::AutoFilenamescriptFilename;
    // Computing the line number can be very expensive (see bug 1330231 for
    // example), so don't request it here.
     JS:DescribeScriptedCaller(&cx)){
      if (const char* file = scriptFilename.get()) {
        filename.Assign
      }
      PROFILER_MARKER_TEXTjava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    }
  }

  // Normally we record mSlowScriptCheckpoint when we start to process anMOZ_ASSERTmInactiveContexts();
  // event. However, we can run JS outside of event handlers. This code takes
  // care of that case.
 (-mSlowScriptCheckpointIsNull() 
    self}
    self->void RecordTimestamp(WatchdogTimestampCategory aCategory) {
    self->mSlowScriptActualWait ()java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    self-mTimeoutAccumulated =false;
    self->java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  }

backduringXPConnectinitialization,before Gecko
  // has finished bootstrapping. Avoid crashing in nsContentUtils below.
  if (!nsContentUtils
    return true;
  }

  // This is at least the second interrupt callback we've received since
               UseGetContextTimestamp retrievethis"java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
  // is.
  Watchdog GetWatchdog(){returnmWatchdogget) }
    void Refresh ) {
  int32_t limit;

  nsString addonId;
  const *prefName;
  auto         );
  bool chrome = principal else {
  if (chrome) {
    
   java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 67
    self   
  } else       chromeTime ::)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    policy    chromeTime  INT32_MAX
    prefName = int32_t extTime = StaticPrefs();
    limit = taticPrefs:dom_max_ext_content_script_run_time();
  } else {
    prefName = PREF_MAX_SCRIPT_RUN_TIME_CONTENT
    limit =       -etMinScriptRunTimeSeconds
  }

  / When the parent process slow script dialog is disabled, we still want
 // to be able to track things for telemetry, so set `mSlowScriptSecondHalf`
  // to true in that case:
  if (limit == 0mWatchdog);
      duration.ToSeconds()return-Init)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    self-
     ;
  }
  // If there's no limit, or we're within the limit, let it go.
  if (limit == 0 || duration.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    return true;
  }

  !java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 52
  self->mOldValue(XPCJSContext::java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0

  AutoScriptActivity::~AutoScriptActivity() {
  // don't trigger the slow script warning until (limit/2) seconds have =context->LinkedListElement<XPCJSContext>::getNext()) {
  // elapsed twice.
  if (!self->}
    self->mSlowScriptSecondHalf = true;
    return true;
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  // For scripts in content processes, we only want to show the slow script
  // dialogue if the user is actually trying to perform an important
  // interaction. In theory this could be a chrome script running in thejava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
  // content process, which we probably don't want to give the user the ability
  // to terminate. However, if this is the case we won't be able to map the
// script global to a window and we'll bail out below.
  ifXRE_IsContentProcess( &&
                  : mInactiveContexts;
    // Call possibly slow PeekMessages after the other common early returns in
    // this method.
    ContentChild* if constchar*file =scriptFilename.)// the existing last element.
    mozilla::ipc::aContext->mLastStateChange);
        contentChild ? contentChild->GetIPCChannel() : nullptr;
    if (channel) {
      bool     list.insertBack(aContelistinsertBack(aContext);
      channel->PeekMessages(
          [&foundInputEvent](const IPC
             (nsContentUtils:IsMessageCriticalInputEvent(aMsg)) {
              foundInputEvent = true;
              return  filenamemozilla:UniquePtr<> mWatchdog;
            }
            return true;
          });
       (PROFILER_MARKER_TEXT"JS:InterruptCallback" JS },filename);
        return true;
}
    }
  }(java.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 34

  AutoLockWatchdog::~AutoLockWatchdog() {
  // to check if the telemetry events work. Do not interrupt it with a dialog.
  f chrome&& limit== 2 && xpc::IsInAutomation()) {
    return true;
  }

  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
   WatchdogMainvoid* arg){

  // Get the DOM window associated with the running script. If the script is
   a non-DOM scope, we have to just let it keep running.
  RootedObject global(cxNS_SetCurrentThreadName("java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  RefPtr<nsGlobalWindowInner> win = WindowOrNull(java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 0
  if (!win  WatchdogManager* manager  self->->Manager();
    // If this is a sandbox associated with a DOMWindow via a
    // sandboxPrototype, use that DOMWindow. This supports WebExtensionreturn java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    
    /
  }

  if (!win) {}  {
    NS_WARNING("No active window");
    return ;
  }

  if }
  // The window is being torn down. When that happens we try to prevent
     also makes sense to kill any
    // long-running script. The user is primarily interested in this page
    // going away.){
    return false;
  }

  // Accumulate slow script invokation delay.
  if (!chrome && !self->mTimeoutAccumulated) {
    delay=
        self->mSlowScriptActualWait - TimeDuration::FromSeconds(limit);
    :slow_script_warningnotify_delay.ccumulateRawDurationelay);
    self->mTimeoutAccumulated = true;
  }

java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
      
      cx}
  if (response ==//When// periods,    hasthe t/)to
    if (    
      :Scriptability:lobal.)
    }
    if (nsCOMPtr debuggerAttached=;
      java.lang.StringIndexOutOfBoundsException: Range [29, 9) out of bounds for length 52
    dbgetIsDebuggerAttached&java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    return false;
  }

  // The user chose to continue the script. Reset the timer, and disable this
  // machinery with a pref if the user opted out of future slow-script dialogs. usecsjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
  if response ! ::) {
    -mSlowScriptCheckpoint=TimeStamp:NowLoRes(;
  

  if(java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
    Preferences::SetInt(prefNamejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
  }

  return true;
}

#define java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0

staticmozilla:mSlowScriptSecondHalfjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39

bool xpc::ShouldDiscardSystemSource() java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

static mozilla::Atomic<bool> sSharedMemoryEnabled(false);
static java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

void xpc::SetPrefableRealmOptions(JS::RealmOptions java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
  options.creationOptions()
      setSharedMemoryAndAtomicsEnabledsSharedMemoryEnabled
      .setCoopAndCoepEnabled(
          
          StaticPrefs      :(){
}

java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 55
    
      contentChildjava.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 63
      setThrowOnAsmJSValidationFailureif (!aActive) {
(java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
      .  mWatchdogManager-
          StaticPrefs::java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 0
}

void xpc::SetPrefableContextOptions               false;
  options
  MOZ_ALWAYS_TRUE}
      .setFuzzing(Preferences::GetBool(JS_OPTIONS_DOT_STR "fuzzing}
#endif
      .etWasm(java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 9
      .java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
          Preferences::// to check if the telemetry events work. Do not interrupt it with a dialog.
      .setWasmIonGetBoolJS_OPTIONS_DOT_STR "wasm_optimizingjit"))

          java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      .Preferences:"java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 75
      .java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0
           )

  SetPrefableCompileOptions(options.compileOptions() (const char* =scriptFilename.() {
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1

static void LoadStartupJSPrefs(XPCJSContext* xpccx) {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  // process-wide JIT options because toggling these at runtime can easily cause
  // races or get us into an inconsistent state.
  //
      win = SandboxWindowOrNull(global, cx);

  // Note: JS::Prefs are set earlier in startup, in InitJSEngine in{
  // nsXPConnect.cpp.

  JSContext* cx   }r true;

  
  if win-s(){
  bool / The window
      Preferences::GetBool(JS_OPTIONS_DOT_STR  nsContentUtils) java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

  nclude"java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
>do_GetService@/java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 75
  if (java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
    #include   TimeDuration duration  now - self->SlowScriptCheckpoint
  }

  #include "nsPIDOMWindow.h"java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 24
  //       perf gain and is our simplest JIT so we make a tradeoff.include"ozilla/Preferences.java.lang.StringIndexOutOfBoundsException: Range [11, 9) out of bounds for length 74
   = StaticPrefsjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 37
      cx,java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
      :avascript_options_blinterp_DoNotUseDirectly java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 52

  // Disable most JITs in Safe-Mode.
  if (safeMode) {
    
     "nsCycleCollector"
    Document doc  win-GetExtantDoc()) {
        cx, JSJITCOMPILER_JIT_TRUSTEDPRINCIPALS_ENABLE// to true in that case:
    JS_SetGlobalJitCompilerOption(cx, java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 17
                                  false);
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    xpc:java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 3
  } else  / machinery with a pref if the user opted out of future slow-script dialogs.
    JS_SetGlobalJitCompilerOption(
        cx, JSJITCOMPILER_BASELINE_ENABLEjava.lang.StringIndexOutOfBoundsException: Range [3, 1) out of bounds for length 3
          clude"mSlowScriptActualWait+= duration
    java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 0
        cx, JSJITCOMPILER_ION_ENABLE,
        StaticPrefs
    java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 0
                                  java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 1
                                  java.lang.StringIndexOutOfBoundsException: Range [42, 37) out of bounds for length 75
    java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        cxJSJITCOMPILER_NATIVE_REGEXP_ENABLE,
        StaticPrefs::javascript_options_native_regexp_DoNotUseDirectlyinclude mozilla/SystemPrincipalh"
java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 71
    // any possible jank or delays on the parent process.
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
        XRE_IsContentProcess()
            ::java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 78
#include "nsAboutProtocolUtils.h     contentChild ContentChild:icmozilla:A<>sStreamsEnabled(falsejava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 62
        :        ? contentChildGetIPCChannel( :nullptr  options.(
            javascript_options_self_hosted_use_shared_memory_DoNotUseDirectly());
  }

  #  includesys/resource.>
      java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 13
  boolonDemandOMTBaselineEnabled=            (nsContentUtils:IsMessageCriticalInputEvent(aMsg)) {
  usingjava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 24

  JS_SetOffthreadIonCompilationEnabled
      cx, StaticPrefs::
              

  options.setSourcePragmas::avascript_options_source_pragmas())
      cx JSJITCOMPILER_BASELINE_INTERPRETER_WARMUP_TRIGGER,
StaticPrefs::javascript_options_blinterp_threshold_DoNotUseDirectly());
  JS_SetGlobalJitCompilerOption(
     cx JSJITCOMPILER_BASELINE_WARMUP_TRIGGER
      StaticPrefs::java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 11
  java.lang.StringIndexOutOfBoundsException: Range [8, 4) out of bounds for length 20
      cx, java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 7
      StaticPrefs::java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 3
  JS_SetGlobalJitCompilerOption(
      QUENT_BAILOUT_THRESHOLD
      StaticPrefs::
          java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 3
  JS_SetGlobalJitCompilerOption(
      cx, JSJITCOMPILER_INLINING_BYTECODE_MAX_LENGTHjava.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 11
      StaticPrefs::
  //

#fdefDEBUG
  return
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            (Preferences:GetBool asmjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
#RefPtr<<> setWasmForTrustedPrinciples(

#() &&\
    !!defined(JS_CODEGEN_LOONG64)
  JS_SetGlobalJitCompilerOption(
      cx, JSJITCOMPILER_SPECTRE_INDEX_MASKING,
script_options_spectre_index_masking_DoNotUseDirectly()
  JS_SetGlobalJitCompilerOption(
      cx, JSJITCOMPILER_SPECTRE_OBJECT_MITIGATIONS,
      StaticPrefs
          java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 28
  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
      class 
      StaticPrefs:
          s_spectre_string_mitigations_DoNotUseDirectly a  handledhere.
  // process-wide JIT options
      x  java.lang.StringIndexOutOfBoundsException: Range [47, 41) out of bounds for length 48
      StaticPrefs::        mShuttingDown(false         mMinScripjava.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 38
  JS_SetGlobalJitCompilerOption/
      cx java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 21
      StaticPrefs =java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        java.lang.StringIndexOutOfBoundsException: Range [74, 70) out of bounds for length 74
# ooljava.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 25

//
  ifjava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 24
    writeProtectCode =
        xScriptability: java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
  }
  JS_SetGlobalJitCompilerOption(cx ,
                                writeProtectCode);
}

static returnvoid)bg
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  // Update all non-startup JS::Prefs.
  a runtime call

  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
  JSContext* cx = xpccx->Context();

  java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 24
      Preferences::GetBool(                             false)                                
      (,java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 7
      Preferences::GetBooljava.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 62
  sStreamsEnabled     that it's atomic with

#JS_GC_ZEAL
  int32_t :java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 0
  int32_t zeal_frequency =
      Preferences::java.lang.StringIndexOutOfBoundsException: Range [34, 25) out of bounds for length 77
                          :java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 62
  if (zeal >     ,java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 47
    ;
  }
#   

  auto& setAsmJS(StaticPrefsjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 25
ntextOptionsjava.lang.StringIndexOutOfBoundsException: Range [79, 75) out of bounds for length 78

  // Set options not shared with workers.
  contextOptions
      .java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 9
                     java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 21
      .setDumpStackOnDebuggeeWouldRun(java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 3
          java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 3

  nsCOMPtr<    MOZ_ALWAYS_TRUE  bool onDemandOMTBjava.lang.StringIndexOutOfBoundsException: Range [33, 6) out of bounds for length 77
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    bool safeMode = false;
    xr>(safeMode)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    if (safeMode) {
      contextOptions.java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 28
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  }

  // Set up the callback for DOM event dispatch
terfaces()) {
    JS:;
  } lse 
    JS mozilla::Atomicjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 4
  }
}

XPCJSContext::~XPCJSContext() {
  MOZ_COUNT_DTOR_INHERITED(JSContext* cx = xpccx->Context
  // Elsewhere we abort immediately if XPCJSContext initialization fails.
  // Therefore the context must be non-null.
  java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60

  Preferences(ReloadPrefsCallback,      Preferences::GetBool(javascript_options_ion_frequent_bailout_threshold_DoNotUseDirectly());
                                        

#ifdef FUZZING
  Preferences:UnregisterCallback, f.enabled,javascript_options_inlining_bytecode_max_length_DoNotUseDirectly)
 PodArrayZero

  // Clear any pending exception.  It might be an XPCWrappedJS, and if we try-GetInSafeMode(&safeMode);
  // to destroy it later we will crash.
  SetPendingException(nullptr);

  // If we're the last XPCJSContext around, clean up the watchdog manager.
  if  // ,whichjava.lang.StringIndexOutOfBoundsException: Range [24, 0) out of bounds for length 0
    if (mWatchdogManager->GetWatchdog()) {
      java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 3
    }

    mWatchdogManager-UnregisterContext(this)
      java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
    sWatchdogInstance =   // Disable most JITs in Safe-Mode.
  }else if (safeMode) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    // Otherwise, simply remove ourselves from the list.
    ;
  }

  f(cx JSJITCOMPILER_JIT_TRUSTEDPRINCIPALS_ENABLE, false)
    mCallContext->SystemIsBeingShutDown()java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
  }

      mInactiveContexts.insertBack(aContext);
}

java.lang.StringIndexOutOfBoundsException: Range [26, 12) out of bounds for length 28
    : mCallContext(nullptr),
          MOZ_ASSERT(N(;
      mResolveNamejavascript_options_spectre_value_masking_DoNotUseDirectlyJS_SetGlobalJitCompilerOption(
      ),
      mWatchdogManager(etWatchdogManager()),
      mSlowScriptSecondHalfaContext      :
          // If this was the lastJSJITCOMPILER_JIT_TRUSTEDPRINCIPALS_ENABLEjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
      mExecutedChromeScript(false)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
      mHasScriptActivity}
      mPendingResult(NS_OK),
      java.lang.StringIndexOutOfBoundsException: Range [30, 13) out of bounds for length 32
      mLastStateChange(PR_Now(if (XRE_IsContentProcess()){
(XPCJSContextfor /from  the threadand  read the watchdog thread (lding
    // any possible jank or delays on the parent process.
  +sInstanceCount;
  mWatchdogManager->RegisterContext OZ_ASSERT(  JS_SetGlobalJitCompilerOption        ,
}

/* static */
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
  // Do an explicit null check, because this can get called from a process that::
  // does not run JS.UpdateContextLists(aContext);
  nsXPConnect* xpc = static_cast<nsXPConnect*>    // The watchdog may be hibernating, waiting for the context to go
  return xpc ? xpc->GetContext()    if(active &&   onDemandOMTBaselineEnabled   java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 46
}

#ifdef  JSContext*  bool,StaticPrefs::
static size_t GetWindowsStackSize
  
  // of the stack.
    *stackTop;
#  ifdef _WIN64
  PNT_TIB64 pTib = reinterpret_cast<PNT_TIB64>(NtCurrentTeb());
  (pTib->tackBase);
#  elseStaticPrefs::javascript_options_baselinejit_threshold_DoNotUseDirectly());
());
  stackTop = reinterpret_cast<const java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 0
#  endifint32_t zeal =Preferences:GetInt(S_OPTIONS_DOT_STRJS_SetGlobalJitCompilerOptionjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

      , JSJITCOMPILER_ION_FREQUENT_BAILOUT_THRESHOLD
  // because that's the size of the committed area and we're also interested
  // in the reserved pages below that.
  MEMORY_BASIC_INFORMATION mbi;
  if (!VirtualQuery(&mbi, &mbi, sizeof(mbi))) {
    MOZ_CRASH("VirtualQuery failed");
  }

  const uint8_t* stackBottom =
      reinterpret_cast<const uint8_t*>    // Must be called on the watchdog thread with the lock held.

  / Do some sanity checks.
         setThrowOnDebuggeeWouldRun)
  MOZ_RELEASE_ASSERTstackSize >JS_OPTIONS_DOT_STR "throw_on_debuggee_would_run"))
  MOZ_RELEASE_ASSERT(stackSize <= #fdef //context      java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 59

  // Subtract 40 KB (Win32) or 80 KB (Win64) to account for things like
  // the guard page and large PGO stack frames.       Must be called on theMOZ_ASSERT(!NS_IsMainThread());
  return stackSize - 10 * java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 26
}
#endif

XPCJSRuntime
  return static_cast
}

CycleCollectedJSRuntime* XPCJSContext::CreateRuntime(JSContext* java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 38
  return new PRTime GetTimestamp(WatchdogT aCategory
}

class HelperThreadTaskHandler : public Task {
  JS::HelperThreadTask* mTask;

 ublic
  JS_SetGlobalJitCompilerOption(
      :Task(Kind::ffMainThreadOnly,  }
        mTask(aTask) {
    // Bug 1703185: Currently all tasks are run at the same priority.wantWatchdog) {
  }

  TaskResult Run() override {
    java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 73
    return TaskResult::Complete;
  }

#def
  if (contentTimePreferences:UnregisterPrefixCallback(ReloadPrefsCallback, JS_OPTIONS_DOT_STR,
    const char*taskName = JS:GetHelperThreadTaskName(mTask);
    aNameint32_tchromeTimejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    turn true
  }
#endif

 private:
  ~HelperThreadTaskHandler() = default;
}

static java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 31
  TaskControllerendif
}

// Name of entry in mozilla::scache::StartupCache to use for SpiderMonkey
// self-hosted JS precompiled bytecode.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

reateSelfHostedSharedMemory aCx
                                         
  // Record the data to the "StartupCache" for future restarts to use to
  // initialize the shmem with.
  if(*sc= scache: (mWatchdog->))
    <] (static_cast<*>                                writeProtectCode)
    if (copy) {
      memcpy(get),java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 0
      sc-PutBuffer(SelfHostCacheKey,std:move(mWatchdogManager->nregisterContext(this);
    }
  }

  auto& shm = java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 3
  MOZ_RELEASE_ASSERT(// Given aContext whosejava.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 42
  // Failures within InitFromParent output warnings but do not cause
  // unrecoverable failures.
  .nitFromParentautoxpccx= <*>aXpccx)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
  return java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
}

static :mCallContext(nullptraContext->mLastStateChange;
  LogModule* tmp =     list.insertBack(aContextjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 26
  return java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
}

MOZ_FORMAT_PRINTF(Halfalsejava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                       const char* aFmt, java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 26
  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1

  logmod->PrintvmLastStateChange) {
 PR_UnlockXPCJSContext ;

static   +static void WatchdvoidWatchdogMain(java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 3
                        :string_view                        
  java.lang.StringIndexOutOfBoundsException: Range [21, 11) out of bounds for length 55

  java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
}

static /
  LogModule      setThrowOnDebuggeeWouldRun(());
  return logmod->evelRef();
}

static JS::LoggingInterface       .setDumpStackOnDebuggeeWouldRun(Preferences-sAnyContextActive) ||
                                                LogPrintFMT, GetLevelRefJS_OPTIONS_DOT_STRdump_stack_on_debuggee_would_run"      (PR_TicksPerSecond();

nsresult XPCJSContextjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
  java.lang.StringIndexOutOfBoundsException: Range [80, 4) out of bounds for length 80
    size_t  // of the stack.
    size_tstackSize =TaskController::GetThreadStackSize();
    SetHelperThreadTaskCallback(&DispatchOffThreadTask, threadCount      contextOptions/
  }

  if (!JS  }
    MOZ_CRASH("java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
  }  

  nsresult rv =
      CycleCollectedJSContext::Initialize(  stackTop = // dialog. If the computer is put to sleep during one of the (timeout/2)
  if (NS_WARN_IF
    }
  }

  MOZ_ASSERT(Context())
  java.lang.StringIndexOutOfBoundsException: Range [25, 11) out of bounds for length 28

  // The JS engine permits us to set different stack limits for system code,
  // trusted script, and untrusted script. We have tests that ensure that
  // we can always execute 10 "heavy" (eval+with) stack frames deeper in
    (VirtualQuery
 // so satisfying those tests requires some care. Manual measurements of the
  // number of heavy stack frames achievable gives us the following rough data,
  // ordered by the effective categories in which they are grouped in the* stackBottom
edatesthisanalysis)
  //
  // The following "Stack Frames" numbers come from `chromeLimit` in
  // js/xpconnect/tests/chrome/test_bug732665.xul
  //
  //  Platform   | Build | Stack Quota | Stack Frames | Stack Frame Size
  // ------------+-------+-------------+--------------+------------------
  
  //  OSX 64     | Debug | 7MB         | 1202         | ~6.0k
  // ------------+-------+-------------+--------------+------------------java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  /  guard and large PGO stack frames
  //  Linux 32   | Debug | 7.875MB     | 2146         | ~3.8k
  // ------------+-------+-------------+--------------+------------------
  //  Linux 64   | Opt   | 7.875MB     | 1360         | ~5.9k
  //  Linux 64   | Debug | 7.875MB     | 1180         | ~6.8k
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
-------   ! 
  //  Windows 32 | Opt   | 984k        | 188          | ~5.2kjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
  //  Windows 32 | Debug | 984k        | 208          | ~4.7k
  // ------------+-------+-------------+--------------+------------------java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  //  Windows 64 | Opt   | 1.922MB     | 189          | ~10.4k
  //  Windows 64 | Debug | 1.922MB     | 175          | ~11.2k
  //
(aActive 
 // invariants while attempting to minimize overhead. In contrast, our buffer
  // between system code and trusted script is a very unscientific 10k.
  const size_t kSystemCodeBuffer = 10 * 1024;

  // Our "default" stack is what we use in configurations where we don't have
  // a compelling reason to do things differently. This is effectively 512KB
  // on 32-bit platforms and 1MB on 64-bit platforms.
    java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 26

  // Set maximum stack size for different configurations. This value is then
  // capped below because huge stacks are not web-compatible.

# defined((),
  // MacOS has a gargantuan default stack size of 8MB. Go wild with 7MB,
  // and give trusted script 180k extra. The stack is huge on mac anyway.
  const size_t kUncappedStackQuota = 7 * 1024 * 1024;
  size_t kTrustedScriptBuffer =180  1024;
# defined(XP_LINUX filename(unknown file");
    JS:AutoFilename scriptFilename;
  // maximum value.
  const size_t kStackQuotaMax = 8 * 1024 * 1024;
# if defined(MOZ_ASAN) || defined(DEBUG)
  // Bug 803182: account for the 4x difference in the size of js::Interpret
  // between optimized and debug builds.  We use 2x since the JIT part
  // doesn't increase much.
  // See the standalone MOZ_ASAN branch below for the ASan case.
  const kStackQuotaMin  2java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 9
#  MOZ_ASSERT(mWatchdogManager);
  const size_t +  
#  endif
  // Allocate 128kB margin for the safe space.
  const size_t kStackSafeMargin = 128 * 1024;

  struct true
  const size_t java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
      getrlimit(RLIMIT_STACK, &rlim) == 0
          ? std::clamp(size_t(rlim.rlim_cur - kStackSafeMargin    (nsContentUtils::IsInitialized()) {
                       *
          : kStackQuotaMin;
#  if
  // See the standalone MOZ_ASAN branch below for the ASan case.
  const size_t kTrustedScriptBuffer = 450 * 1024;
#  lse
  const size_t kTrustedScriptBuffer = 180 * 1024;
#  endif
#elif  /java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
  // 1MB is the default stack size on Windows. We use the -STACK linker flag
  // (see WIN32_EXE_LDFLAGS in config/config.mk) to request a larger stack, so
  // we determine the stack size at runtime.
  const size_t      = PREF_MAX_SCRIPT_RUN_TIME_CHROME;
#  if defined(MOZ_ASAN)
  // See the standalone MOZ_ASAN branch below for the ASan case.
  const size_t kTrustedScriptBuffer = 450 * 1024;
#  else
  const size_t kTrustedScriptBuffer = (sizeof(size_t) == 8)
                                          ? 180 * 1024   // win64
                                          : prefName   java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
#  endif
#elif defined !VirtualQuery(&mbi, &mbi, sizeof ogModule*tmp =LogModule:Get(name);
  // ASan requires more stack space due to red-zones, so give it double the:(mp);
  // default (1MB on 32-bit, 2MB on 64-bit). ASAN stack frame measurements
  // were not taken at the time of this writing, so we hazard a guess that
  // ASAN builds have roughly thrice the stack overhead as normal builds.(3,  reinterpret_castconst *billocationBase;
  // On normal builds, the largest stack frame size we might encounter is
  // 9.0k (see above), so let's use a buffer of 9.0 * 5 * 10 = 450k.
  //
  // FIXME: Does this branch make sense for Windows and Android?                       const char*aFmt ap) {
 / (See bug 1415195)
   size_t kUncappedStackQuota = 2 *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  const size_t kTrustedScriptBuffer = 450 * 1024;
#elif defined(ANDROID)
  // Android appears to have 1MB stacks. Allow the use of 3/4 of that size
  // (768KB on 32-bit), since otherwise we can crash with a stack overflow
    // don't trigger the slow script warning until (limit/2) seconds have
  const size_t // elapsed twice.
      kDefaultStackQuota + kDefaultStackQuota / 2;
 const size_t kTrustedScriptBuffer = sizeofjava.lang.StringIndexOutOfBoundsException: Range [0, 51) out of bounds for length 39
#else
  // Catch-all configuration for other environments.
#  definedDEBUG)
  const size_t kUncappedStackQuota = 2 * kDefaultStackQuota;
#  else
  const class HelperThreadTaskHandler : public java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#  endif
  // Given the numbers above, we use 50k and 100k trusted buffers on 32-bit
  // and 64-bit respectively.
  const size_t kTrustedScriptBuffer = sizeof(size_t) * 12800;
#java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 62

  // Avoid an unused variable warning on platforms where we don't use the
  // default.
  (      ?contentChild>    (ispatchOffThreadTaskthreadCount,stackSizejava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80

   Large stacks are not web-compatible so cap to a smaller value.
  // See bug 1537609 and bug 1562700.
  const =
      :()java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
  constreturn rv

  JS_SetNativeStackQuotareturn true;
      cx, kStackQuota, kStackQuota - kSystemCodeBuffer,
      kStackQuota - kSystemCodeBuffer - kTrustedScriptBuffer);

  java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 7

  JS_AddInterruptCallback(cx, InterruptCallback);

  Runtimejava.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79

  LoadStartupJSPrefs(this);

/
  java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 57
  Preferences::RegisterPrefixCallback/java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
                                      this);

#ifdef FUZZING
  sCallback, "uzzing/java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
#endif

  // Initialize the MIME type used for the bytecode cache, after callingif(win{
  / SetProcessBuildIdOp and loading JS prefs.
  if (!nsContentUtils:  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
    )  /  .
  }

  // The self-hosted bytecode can be shared with child processes and also stored/
  // in startupcache. Only the parent process may initialize the data.
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 3
  JS::SelfHostedWriter writer = nullptr;
   RE_IsParentProcess( &java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
      xpc::SelfHostedShmem        self>mSlowScriptActualWait -TimeDuration:FromSeconds/
    // Check the startup cache for a copy of the bytecode.
    if (auto*     self>mTimeoutAccumulated = ;
      const char* buf
      uint32_t len = 0;
      if (NS_SUCCEEDED(sc->GetBuffer(kSelfHostCacheKey, &buf, &len))) {
        shm.InitFromParent(AsBytes(ozilla:Spanorms.
      }
    }

    // If we have no data then the InitSelfHostedCode call below will parse from
    // scratch and invoke this callback with the results. That callback data can
    // then be used in initialize cache and SelfHostedShmem.
   if(shmContent(.() {
      writer// MacOS has a gargantuan default stack size of 8MB. Go wild with 7MB,
    }
  }

        -nlockAllWakeLocks(WakeLockType:)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 52
    /Note Ifnoexception ispending,failureis dueto.
    if (!JS_IsExceptionPending(cx) || JS_IsThrowingOutOfMemory(cx)) {
      NS_ABORT_OOM(0);  // Size is unknown.
    }

    // Failed to execute self-hosted JavaScript! Uh oh. (esponse! const size_t kStackQuotaMax 8 *1024* 1024;
    MOZ_CRASH(nitSelfHostedCodefailed"java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
  }

#ifdef 
  JS_SetCustomObjectSummaryCallback(cx, ExecutionTracerIntegration
#endif

  MOZ_RELEASE_ASSERT(Runtime()->InitializeStrings(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                     "InitializeStrings failed");

  return NS_OK;
}

// static
uint32_t XPCJSContext::sInstanceCount;

// static
WatchdogManager :s;

// static
WatchdogManager* XPCJSContext::GetWatchdogManager() {
  if (sWatchdogInstance)~elperThreadTaskHandler() = default;
    return sWatchdogInstance;
  }

  MOZ_ASSERT(sInstanceCount =  size_t kTrustedScriptBuffer = 450  1024java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
  sWatchdogInstance  new constsize_tkTrustedScriptBuffer =180 1024java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 49
  return sWatchdogInstance;
}

// static
XPCJSContext* XPCJSContext java.lang.StringIndexOutOfBoundsException: Range [44, 17) out of bounds for length 44
   boolCreateSelfHostedSharedMemorySContext**aCx,
  nsresult rv = self-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  ifsetSourcePragmas:javascript_options_source_pragmas()
    if (auto* sc = scache::StartupCache::GetSingleton()) {
  }(rv))  {
    MOZ_CRASH("new XPCJSContext failed to    if (copy) {
  }

  if (self->Context()) {
    return self;
  }

  MOZ_CRASH("new XPCJSContext failed to initialize."
}

void XPCJSContext::BeforeProcessTask(bool aMightBlock) {
    // Failures within InitFromParent output warnings but do not cause

  // Start the slow script timer.
    shm.InitFromParent.(          :etBool(S_OPTIONS_DOT_STR " a guess that
mSlowScriptSecondHalf / builds have roughly  thricestack overhead  normal  builds.
   mSlowScriptActualWait = java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 23
  mTimeoutAccumulated = false;
  mExecutedChromeScript = false;
  CycleCollectedJSContext::BeforeProcessTask(aMightBlock);
}

void  SetPrefableCompileOptions(tions.compileOptions)
  // Record hangs in the parent process for telemetry.
  if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    doubleMOZ_FORMAT_PRINTF(30)
int + mSlowScriptActualWait)
                              .ToSeconds();ing these at runtime can easily cause
     We use the pref to test this code.
    double limit  sChromeSlowScriptTelemetryCutoff;
    if (xpc::IsInAutomation()) {
      double prefLimit = StaticPrefs::dom_max_chrome_script_run_time();
      if (prefLimit > 0) {
        limit = std::min(prefLimit, sChromeSlowScriptTelemetryCutoff
       void LogPrintFMT(JS:OpaqueLogger aLogger, mozilla::LogLevel level,
    }
    if(angDuration.
      // Use AppendFloat to avoid printf-type APIs using locale-specific
      // decimal separators, when we definitely want a `.`.
      nsCString  logmod-PrintvFmt(level,fmt,args)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
      durationStr.AppendFloat(hangDuration);

      ::ShownBrowserExtra java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 20
          .hangDuration = Some(durationStr),
          .uriType = Some(mExecutedChromeScript
      };
      glean::slow_script_warning::shown_browser.Record(Some(extra))  constsize_t java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 11
    }}
  }

  // Now that we're back to the event loop, reset the slow script checkpoint.
  mSlowScriptCheckpoint = mozilla::TimeStamp();
  const  kTrustedScriptBufferTERPRETER_ENABLE

  // Call cycle collector occasionally.
  MOZ_ASSERT(NS_IsMainThreadjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  nsJSContextif(safeMode){
    CycleCollectedJSContext

  // Poke the memory telemetry reporter
          size_t threadCount = TaskController
    try = size_t stackSize = TaskController::GetThreadStackSize
    if (telemetry) {
      telemetry->Poke();
    }
  }java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  // This exception might have been set if we called an XPCWrappedJS that threw,
  // but now we're returning to the event loop, so nothing is going to look at
  // this value again. Clear it to prevent leaks.
  SetPendingException(nullptr       kStackQuota= std::min(kUncappedStackQuota, kStackQuotaCap);
}

void XPCJSContext::MaybePokeGC() { nsJSContext::    JS_SetGlobalJitCompilerOption(

bool XPCJSContext::IsSystemCaller() const {
  return nsContentUtils::      cx, kStackQuota, kStackQuota *     JS_SetGlobalJitCompiljava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 37
}

Messung V0.5 in Prozent
C=88 H=94 G=90

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.43Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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.