• 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
platform-posix.cc 20.7 KB