So deaktivieren Sie den Optimizing Compiler von V8

Ich schreibe eine Funktion zum Vergleich von Zeichenfolgen mit konstanter Zeit (für node.js) und möchte den Optimierungs-Compiler von V8 für diese einzelne Funktion deaktivieren. Die Verwendung von Befehlszeilen-Flags kommt nicht in Frage.

Ich weiß das mit einemwith{} Der Block (oder try / catch) deaktiviert den optimierenden Compilerjetzt, aber ich fürchte, dieses "Feature" (Fehler) wird in zukünftigen Versionen behoben.

Gibt es eine unveränderliche (und dokumentierte) Möglichkeit, den optimierenden Compiler von V8 zu deaktivieren?

Beispielfunktion:

function constantTimeStringCompare( a, b ) {
    // By adding a `with` block here, we disable v8's optimizing compiler.
    // Using Object.create(null) ensures we don't have any object prototype properties getting in our way.our way.
    with ( Object.create( null ) ){
        var valid = true,
            length = Math.max( a.length, b.length );
        while ( length-- ) {
            valid &= a.charCodeAt( length ) === b.charCodeAt( length );
        }
        // returns true if valid == 1, false if valid == 0
        return !!valid;
    }
}

Und einPerf-Test nur zum Spaß.