v8/tools
bmeurer@chromium.org eb381b9444 Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context.
The RandomNumberGenerator is a pseudorandom number generator
with 48-bit state. It is properly seeded using either

(1) the --random-seed if specified, or
(2) the entropy_source function if configured, or
(3) /dev/urandom if available, or
(4) falls back to Time and TimeTicks based seeding.

Each Isolate now contains a RandomNumberGenerator, which replaces
the previous private_random_seed.

Every native context still has its own random_seed. But this random
seed is now properly initialized during bootstrapping,
instead of on-demand initialization. This will allow us to cleanup
and speedup the HRandom implementation quite a lot (this is delayed
for a followup CL)!

Also stop messing with the system rand()/random(), which should
not be done from a library anyway! We probably re-seeded the
libc rand()/random() after the application (i.e. Chrome) already
seeded it (with better entropy than what we used).

Another followup CL will replace the use of the per-isolate
random number generator for the address randomization and
thereby get rid of the Isolate::UncheckedCurrent() usage in
the platform code.

TEST=cctest/test-random-number-generator,cctest/test-random
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/23548024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 11:13:55 +00:00
..
blink_tests Adapt test expectations for blink test. 2013-07-30 08:50:59 +00:00
gcmole updates 2013-08-14 12:53:09 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
gyp Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context. 2013-09-10 11:13:55 +00:00
oom_dump Keep two empty lines between declarations for cpp files 2013-07-05 09:52:11 +00:00
perf_tests Update performance baseline to newest chromium LKGR. 2013-07-04 07:32:57 +00:00
profviz Add better consistency check and error output to plot script. 2013-09-04 15:19:21 +00:00
testrunner Add flaky test classification feature to test suites. 2013-08-06 14:39:39 +00:00
v8.xcodeproj Add support for building Xcode project files from GYP files 2011-06-09 09:07:17 +00:00
visual_studio Remove the Visual Studio project files 2011-05-02 13:43:13 +00:00
android-build.sh Rewrite Makefile rules for Android to allow parallel execution 2012-07-27 11:14:44 +00:00
android-ll-prof.sh Change default ARCH version in android low-level profiler script to 4.6 2012-10-08 11:11:30 +00:00
android-run.py Fix Android V8 path for testing on devices. 2013-06-28 07:31:23 +00:00
android-sync.sh Android test runner: Make android-sync.sh work on Mac 2012-07-23 16:57:22 +00:00
bash-completion.sh Bash completion for d8: fix directory name completion 2012-02-08 17:20:35 +00:00
check-static-initializers.sh Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
codemap.js Eliminate the need for code delete events in CPU profiler. 2011-09-14 11:47:03 +00:00
common-includes.sh push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to apply patches 2012-10-05 08:58:02 +00:00
consarray.js TickProcessor script reimplemented in JavaScript. 2009-04-27 13:50:42 +00:00
csvparser.js Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
disasm.py Add ARM support to tools/grokdump.py 2013-01-07 09:48:04 +00:00
freebsd-tick-processor * Fix build errors on FreeBSD 8.2 2011-03-16 11:15:43 +00:00
fuzz-harness.sh Fix harness for fuzzer to run for 100 iterations only. 2012-05-23 07:55:38 +00:00
gc-nvp-trace-processor.py Align tools/gc-nvp-trace-processor.py with --trace-gc-nvp output. 2011-12-15 09:41:28 +00:00
gdb-v8-support.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
gen-postmortem-metadata.py Synched postmortem script with not-so-recent changes. 2013-01-03 13:11:47 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
grokdump.py grokdump: fix Oddball printing 2013-08-23 08:17:54 +00:00
js2c.py Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
jsmin.py Fixing python deprecations. 2012-05-21 10:19:28 +00:00
linux-tick-processor Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
ll_prof.py llprof improvements 2012-12-07 12:51:33 +00:00
logreader.js Fixing presubmit. 2011-09-15 13:20:42 +00:00
mac-nm Fix mac-nm script to support filenames w/spaces 2009-08-13 14:03:12 +00:00
mac-tick-processor Implement shared libraries logging on Mac OS X, added required support in Tick Processor. 2009-07-14 05:01:06 +00:00
merge-to-branch.sh push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to apply patches 2012-10-05 08:58:02 +00:00
mingw-generate-makefiles.sh MinGW: Add Cygwin-free Makefile generation script 2013-04-15 08:43:18 +00:00
nacl-run.py A helper script for testing Native Client builds of V8. 2013-04-09 08:31:17 +00:00
plot-timer-events Add better consistency check and error output to plot script. 2013-09-04 15:19:21 +00:00
presubmit.py Keep two empty lines between declarations for cpp files 2013-07-05 09:52:11 +00:00
process-heap-prof.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
profile_view.js Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
profile.js Revert accidental r9229 and r9230 2011-09-12 10:50:40 +00:00
push-to-trunk.sh push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to apply patches 2012-10-05 08:58:02 +00:00
run-deopt-fuzzer.py Rename "parallel recompilation" to "concurrent recompilation". 2013-08-22 16:14:37 +00:00
run-llprof.sh llprof improvements 2012-12-07 12:51:33 +00:00
run-tests.py Increase test timeout on slow architectures. 2013-09-08 19:50:55 +00:00
run-valgrind.py Unify the shebang line of python scripts 2013-01-29 10:40:43 +00:00
SourceMap.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
splaytree.js Remove support for logging into a memory buffer. 2011-07-13 11:31:22 +00:00
stats-viewer.py tools/stats-viewer: Update chromium stats table layout. 2011-05-25 16:47:54 +00:00
status-file-converter.py First commit of new tools/run-tests.py 2012-09-24 09:38:46 +00:00
test-server.py Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
tick-processor.html Add HTML-based tick processor 2012-12-12 15:06:50 +00:00
tickprocessor-driver.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
tickprocessor.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
v8-info.sh Add sample usage / output and -u option 2013-06-12 15:36:11 +00:00
v8-rolls.sh Adding useful scripts to parse revision info. 2013-06-12 10:39:52 +00:00
v8heapconst.py Push SetAccessor to Template 2013-09-04 07:45:36 +00:00
v8heapconst.py.tmpl Generate grokdump constants with 'make grokdump' now. 2013-08-02 09:02:02 +00:00
windows-tick-processor.bat Add source map support to tick processor. 2013-08-23 17:20:54 +00:00