1. 11 Sep, 2013 2 commits
  2. 28 Aug, 2013 1 commit
  3. 02 Aug, 2013 1 commit
    • loislo@chromium.org's avatar
      Extract hardcoded error strings into a single place and replace them with enum. · d2c443b7
      loislo@chromium.org authored
      I'd like to propagate bailout reason to cpu profiler.
      So I need to save it into heap object SharedFunctionInfo.
      But:
      1) all bailout reason strings spread across all the sources.
      2) they are native strings and if I convert them into String then I may have a performance issue.
      3) one byte is enough for 184 bailout reasons. Otherwise we need 8 bytes for the pointer.
      
      Also I think it would be nice to have error strings collected in one place.
      In that case we will get additional benefits:
      
      It allows us to keep this set of messages under control.
      It gives us a chance to internationalize them.
      It slightly reduces the binary footprint.
      
      From the other hand the developers have to add new strings into that enum.
      
      BUG=
      R=jkummerow@chromium.org
      
      Review URL: https://codereview.chromium.org/20843012
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      d2c443b7
  4. 03 Jul, 2013 1 commit
  5. 28 Jun, 2013 1 commit
  6. 07 Jun, 2013 1 commit
  7. 06 Jun, 2013 1 commit
  8. 24 Apr, 2013 1 commit
  9. 13 Mar, 2013 1 commit
  10. 11 Mar, 2013 1 commit
  11. 09 Jan, 2013 2 commits
  12. 03 Jan, 2013 1 commit
  13. 21 Nov, 2012 1 commit
  14. 14 Jun, 2012 1 commit
  15. 11 Jun, 2012 1 commit
  16. 06 Jun, 2012 1 commit
  17. 04 Jun, 2012 1 commit
  18. 23 May, 2012 1 commit
  19. 22 May, 2012 2 commits
  20. 02 Apr, 2012 1 commit
    • erikcorry's avatar
      Regexp: Improve the speed that we scan for an initial point where a non-anchored · f14b93a5
      erikcorry authored
      regexp can match by using a Boyer-Moore-like table.  This is done by identifying
      non-greedy non-capturing loops in the nodes that eat any character one at a time.
      For example in the middle of the regexp /foo[\s\S]*?bar/ we find such a loop.
      There is also such a loop implicitly inserted at the start of any non-anchored
      regexp.
      
      When we have found such a loop we look ahead in the nodes to find the set of
      characters that can come at given distances.  For example for the regexp
      /.?foo/ we know that there are at least 3 characters ahead of us, and the sets
      of characters that can occur are [any, [f, o], [o]].  We find a range in the
      lookahead info where the set of characters is reasonably constrained.  In our
      example this is from index 1 to 2 (0 is not constrained).  We can now look 3
      characters ahead and if we don't find one of [f, o] (the union of [f, o] and
      [o]) then we can skip forwards by the range size (in this case 2).
      
      For Unicode input strings we do the same, but modulo 128.
      
      We also look at the first string fed to the regexp and use that to get a hint
      of the character frequencies in the inputs.  This affects the assessment of
      whether the set of characters is 'reasonably constrained'.
      
      We still have the old lookahead mechanism, which uses a wide load of multiple
      characters followed by a mask and compare to determine whether a match is
      possible at this point.
      Review URL: http://codereview.chromium.org/9965010
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      f14b93a5
  21. 30 Mar, 2012 1 commit
  22. 12 Mar, 2012 1 commit
  23. 06 Mar, 2012 1 commit
  24. 05 Mar, 2012 1 commit
  25. 28 Feb, 2012 1 commit
  26. 16 Jan, 2012 1 commit
  27. 19 Oct, 2011 1 commit
  28. 03 Oct, 2011 1 commit
  29. 15 Sep, 2011 1 commit
  30. 29 Aug, 2011 1 commit
  31. 26 Aug, 2011 2 commits
  32. 20 Jul, 2011 1 commit
    • whesse@chromium.org's avatar
      fix -Wunused-but-set-variable for gcc-4.6 on x64 · 47e03a00
      whesse@chromium.org authored
      * src/third_party/valgrind/valgrind.h: Update from upstream valgrind
        r11899, so as to get around some unused value warnings.  Also adds
        support for darwin.
      
        This version of valgrind.h differs from the original in that all
        instances of "unsigned long long int" have been replaced with
        "uint64_t", as the former is not allowed in ISO C++ 89.
      
        See https://bugs.kde.org/show_bug.cgi?id=211926 for the upstream bug
        report.
      
      * src/x64/cpu-x64.cc:
      * src/builtins.cc:
      * src/conversions-inl.h:
      * src/debug.cc:
      * src/frames.cc:
      * src/full-codegen.cc:
      * src/jsregexp.cc:
      * src/objects.cc:
      * src/parser.cc:
      * src/platform-linux.cc:
      * src/x64/code-stubs-x64.cc:
      * src/x64/deoptimizer-x64.cc:
      * src/x64/full-codegen-x64.cc:
      * src/x64/lithium-codegen-x64.cc:
      * src/x64/regexp-macro-assembler-x64.cc:
      * src/x64/stub-cache-x64.cc: Remove a number of assigned but
        unreferenced variables.
      
      * SConstruct (CCTEST_EXTRA_FLAGS): Punt on -Wunused-but-set-variable for
        the test suite.
      
      BUG=1291
      TEST=A build and tools/test.py passes.
      
      Review URL: http://codereview.chromium.org/7400023
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      47e03a00
  33. 31 May, 2011 2 commits
  34. 11 May, 2011 1 commit
  35. 10 May, 2011 1 commit