1. 22 Nov, 2013 1 commit
  2. 21 Nov, 2013 3 commits
  3. 19 Nov, 2013 2 commits
  4. 08 Nov, 2013 1 commit
  5. 02 Oct, 2013 1 commit
  6. 01 Oct, 2013 1 commit
  7. 10 Sep, 2013 1 commit
    • bmeurer@chromium.org's avatar
      Introduce a RandonNumberGenerator class. Refactor the random/private_random... · eb381b94
      bmeurer@chromium.org authored
      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
      eb381b94
  8. 05 Sep, 2013 1 commit
  9. 04 Sep, 2013 1 commit
  10. 03 Sep, 2013 2 commits
  11. 02 Sep, 2013 1 commit
  12. 04 Jul, 2013 1 commit
  13. 03 Jul, 2013 1 commit
  14. 28 Jun, 2013 1 commit
  15. 27 Jun, 2013 2 commits
  16. 13 Jun, 2013 1 commit
  17. 11 Jun, 2013 1 commit
  18. 10 Jun, 2013 3 commits
  19. 03 Jun, 2013 1 commit
  20. 02 May, 2013 1 commit
  21. 21 Feb, 2013 1 commit
  22. 04 Jun, 2012 1 commit
  23. 12 Mar, 2012 1 commit
  24. 27 Feb, 2012 1 commit
  25. 13 Jan, 2012 1 commit
  26. 04 Jan, 2012 1 commit
  27. 30 Nov, 2011 1 commit
  28. 24 Oct, 2011 1 commit
  29. 03 Oct, 2011 1 commit
  30. 19 Sep, 2011 2 commits
    • vegorov@chromium.org's avatar
    • svenpanne@chromium.org's avatar
      Unify the handling of comparinsons against null and undefined. · cf63503c
      svenpanne@chromium.org authored
      Although this patch is not small, most parts of it are rather mechanical:
      
       * First of all, the concept of a 'nil-like' value is introduced, which can be
         null or undefined. They are treated symmetrically regarding comparisons, so
         it makes sense to handle them in a uniform manner. It is a mystery why
         JavaScript defines two of those beasts, when even *one* is a design wart...
      
       * Extended and renamed a few things which now handle undefined in addition to
         null.
      
       * Made the parts of the full code generator and the hydrogen generation which
         deal with comparisons a bit more similar regarding their handling of special
         cases.
      
       * Refactored the syntactical detection of special cases for comparisons,
         hopefully making them a bit more readable and less copy-n-paste-oriented.
         Things like this should really be a one-liner in any sane programming
         language... :-P
      
       * Cut down the length of the argument lists of a few functions to something
         less insane, making them more easily understandable locally. This involves
         minor code duplication, but this was a good tradeoff and can be remedied
         later if necessary.
      
       * Replaced some boolean arguments with more readable enums.
      
       * Fixed a TODO: Values which are definitely a Smi or unboxed can never be equal
         to null or undefined.
      Review URL: http://codereview.chromium.org/7918012
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      cf63503c
  31. 17 Jul, 2011 1 commit
  32. 16 Jun, 2011 1 commit