• 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
Name
Last commit
Last update
..
debug Loading commit data...
platform Loading commit data...
utils Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
adapters.h Loading commit data...
atomic-utils.h Loading commit data...
atomicops.h Loading commit data...
atomicops_internals_atomicword_compat.h Loading commit data...
atomicops_internals_portable.h Loading commit data...
atomicops_internals_x86_msvc.h Loading commit data...
base-export.h Loading commit data...
bits.cc Loading commit data...
bits.h Loading commit data...
build_config.h Loading commit data...
compiler-specific.h Loading commit data...
cpu.cc Loading commit data...
cpu.h Loading commit data...
division-by-constant.cc Loading commit data...
division-by-constant.h Loading commit data...
file-utils.cc Loading commit data...
file-utils.h Loading commit data...
flags.h Loading commit data...
format-macros.h Loading commit data...
free_deleter.h Loading commit data...
functional.cc Loading commit data...
functional.h Loading commit data...
hashmap-entry.h Loading commit data...
hashmap.h Loading commit data...
ieee754.cc Loading commit data...
ieee754.h Loading commit data...
iterator.h Loading commit data...
lazy-instance.h Loading commit data...
logging.cc Loading commit data...
logging.h Loading commit data...
macros.h Loading commit data...
once.cc Loading commit data...
once.h Loading commit data...
qnx-math.h Loading commit data...
ring-buffer.h Loading commit data...
safe_conversions.h Loading commit data...
safe_conversions_impl.h Loading commit data...
safe_math.h Loading commit data...
safe_math_impl.h Loading commit data...
sys-info.cc Loading commit data...
sys-info.h Loading commit data...
timezone-cache.h Loading commit data...
win32-headers.h Loading commit data...