1. 03 Mar, 2017 1 commit
    • littledan's avatar
      [date] Refactor TimezoneCache to be separate from the OS · ccfe50b9
      littledan authored
      This refactoring is preparatory work to enable ICU to be the backend
      for timezone information rather than system calls. In the process, a
      bit of code duplication that was inserted in the Solaris port patch is
      eliminated here among modern POSIX backends.
      
      One possible performance downside of this patch is that it introduces
      a virtual method call for operations which were previously not virtual
      methods. However, a couple factors mitigate this effect:
      - The DateCache minimizes the need for calls into the TimezoneCache
      - These calls were already not very high performance, as they included
        a system call which requires an RPC to get out of the sandbox, and
        they are surrounded by C++ builtins, which require a JS to C++
        transition.
      - A future transition to ICU, enabled by this refactoring, may improve
        performance by eliminating the system call.
      
      BUG=v8:6031
      
      Review-Url: https://codereview.chromium.org/2731463003
      Cr-Commit-Position: refs/heads/master@{#43588}
      ccfe50b9