Changeset 121218 in webkit for trunk/Source/JavaScriptCore
- Timestamp:
- Jun 25, 2012, 7:53:39 PM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r121215 r121218 1 2012-06-25 Filip Pizlo <[email protected]> 2 3 JSC should try to make profiling deterministic because otherwise reproducing failures is 4 nearly impossible 5 https://bugs.webkit.org/show_bug.cgi?id=89940 6 7 Rubber stamped by Gavin Barraclough. 8 9 This rolls out the part of http://trac.webkit.org/changeset/121215 that introduced randomness 10 into the system. Now, instead of randomizing the tier-up threshold, we always set it to an 11 artificially low (and statically predetermined!) value. This gives most of the benefit of 12 threshold randomization without actually making the system behave completely differently on 13 each invocation. 14 15 * bytecode/ExecutionCounter.cpp: 16 (JSC::ExecutionCounter::setThreshold): 17 * runtime/Options.cpp: 18 (Options): 19 (JSC::Options::initializeOptions): 20 * runtime/Options.h: 21 (Options): 22 1 23 2012-06-22 Filip Pizlo <[email protected]> 2 24 -
trunk/Source/JavaScriptCore/bytecode/ExecutionCounter.cpp
r121215 r121218 145 145 } 146 146 147 int32_t maxThreshold = 148 codeBlock->globalObject()->weakRandomInteger() % Options::maximumExecutionCountsBetweenCheckpoints; 147 int32_t maxThreshold; 148 if (Options::randomizeExecutionCountsBetweenCheckpoints) 149 maxThreshold = codeBlock->globalObject()->weakRandomInteger() % Options::maximumExecutionCountsBetweenCheckpoints; 150 else 151 maxThreshold = Options::maximumExecutionCountsBetweenCheckpoints; 149 152 if (threshold > maxThreshold) 150 153 threshold = maxThreshold; -
trunk/Source/JavaScriptCore/runtime/Options.cpp
r121215 r121218 68 68 int32_t executionCounterIncrementForReturn; 69 69 70 bool randomizeExecutionCountsBetweenCheckpoints; 70 71 int32_t maximumExecutionCountsBetweenCheckpoints; 71 72 … … 191 192 SET(executionCounterIncrementForReturn, 15); 192 193 194 SET(randomizeExecutionCountsBetweenCheckpoints, false); 193 195 SET(maximumExecutionCountsBetweenCheckpoints, 1000); 194 196 -
trunk/Source/JavaScriptCore/runtime/Options.h
r121215 r121218 54 54 extern int32_t executionCounterIncrementForReturn; 55 55 56 extern bool randomizeExecutionCountsBetweenCheckpoints; 56 57 extern int32_t maximumExecutionCountsBetweenCheckpoints; 57 58
Note:
See TracChangeset
for help on using the changeset viewer.