Title: [163197] trunk/Source/_javascript_Core
Revision
163197
Author
[email protected]
Date
2014-01-31 13:59:02 -0800 (Fri, 31 Jan 2014)

Log Message

Add options to force debugger / profiler bytecode generation.
<https://webkit.org/b/128014>

Reviewed by Oliver Hunt.

Add Options::forceDebuggerBytecodeGeneration() and
Options::forceProfilerBytecodeGeneration(). These options make it more
convenient to do correctness testing when debugger / profiler bytecodes
are generated.

These options are disabled by default.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* runtime/Options.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (163196 => 163197)


--- trunk/Source/_javascript_Core/ChangeLog	2014-01-31 21:56:30 UTC (rev 163196)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-01-31 21:59:02 UTC (rev 163197)
@@ -1,3 +1,21 @@
+2014-01-31  Mark Lam  <[email protected]>
+
+        Add options to force debugger / profiler bytecode generation.
+        <https://webkit.org/b/128014>
+
+        Reviewed by Oliver Hunt.
+
+        Add Options::forceDebuggerBytecodeGeneration() and
+        Options::forceProfilerBytecodeGeneration(). These options make it more
+        convenient to do correctness testing when debugger / profiler bytecodes
+        are generated.
+
+        These options are disabled by default.
+
+        * bytecompiler/BytecodeGenerator.cpp:
+        (JSC::BytecodeGenerator::BytecodeGenerator):
+        * runtime/Options.h:
+
 2014-01-29  Oliver Hunt  <[email protected]>
 
         Make it possible to implement JS builtins in JS

Modified: trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp (163196 => 163197)


--- trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp	2014-01-31 21:56:30 UTC (rev 163196)
+++ trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp	2014-01-31 21:59:02 UTC (rev 163197)
@@ -151,8 +151,8 @@
 }
 
 BytecodeGenerator::BytecodeGenerator(VM& vm, ProgramNode* programNode, UnlinkedProgramCodeBlock* codeBlock, DebuggerMode debuggerMode, ProfilerMode profilerMode)
-    : m_shouldEmitDebugHooks(debuggerMode == DebuggerOn)
-    , m_shouldEmitProfileHooks(profilerMode == ProfilerOn)
+    : m_shouldEmitDebugHooks(Options::forceDebuggerBytecodeGeneration() || debuggerMode == DebuggerOn)
+    , m_shouldEmitProfileHooks(Options::forceProfilerBytecodeGeneration() || profilerMode == ProfilerOn)
     , m_symbolTable(0)
     , m_scopeNode(programNode)
     , m_codeBlock(vm, codeBlock)
@@ -199,8 +199,8 @@
 }
 
 BytecodeGenerator::BytecodeGenerator(VM& vm, FunctionBodyNode* functionBody, UnlinkedFunctionCodeBlock* codeBlock, DebuggerMode debuggerMode, ProfilerMode profilerMode)
-    : m_shouldEmitDebugHooks(debuggerMode == DebuggerOn)
-    , m_shouldEmitProfileHooks(profilerMode == ProfilerOn)
+    : m_shouldEmitDebugHooks(Options::forceDebuggerBytecodeGeneration() || debuggerMode == DebuggerOn)
+    , m_shouldEmitProfileHooks(Options::forceProfilerBytecodeGeneration() || profilerMode == ProfilerOn)
     , m_symbolTable(codeBlock->symbolTable())
     , m_scopeNode(functionBody)
     , m_codeBlock(vm, codeBlock)
@@ -421,8 +421,8 @@
 }
 
 BytecodeGenerator::BytecodeGenerator(VM& vm, EvalNode* evalNode, UnlinkedEvalCodeBlock* codeBlock, DebuggerMode debuggerMode, ProfilerMode profilerMode)
-    : m_shouldEmitDebugHooks(debuggerMode == DebuggerOn)
-    , m_shouldEmitProfileHooks(profilerMode == ProfilerOn)
+    : m_shouldEmitDebugHooks(Options::forceDebuggerBytecodeGeneration() || debuggerMode == DebuggerOn)
+    , m_shouldEmitProfileHooks(Options::forceProfilerBytecodeGeneration() || profilerMode == ProfilerOn)
     , m_symbolTable(codeBlock->symbolTable())
     , m_scopeNode(evalNode)
     , m_codeBlock(vm, codeBlock)

Modified: trunk/Source/_javascript_Core/runtime/Options.h (163196 => 163197)


--- trunk/Source/_javascript_Core/runtime/Options.h	2014-01-31 21:56:30 UTC (rev 163196)
+++ trunk/Source/_javascript_Core/runtime/Options.h	2014-01-31 21:59:02 UTC (rev 163197)
@@ -106,6 +106,8 @@
     v(bool, dumpGeneratedBytecodes, false) \
     v(bool, dumpBytecodeLivenessResults, false) \
     v(bool, validateBytecode, false) \
+    v(bool, forceDebuggerBytecodeGeneration, false) \
+    v(bool, forceProfilerBytecodeGeneration, false) \
     \
     /* showDisassembly implies showDFGDisassembly. */ \
     v(bool, showDisassembly, false) \
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to