Description[date] Refactor TimezoneCache to be separate from the OS
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}
Committed: https://chromium.googlesource.com/v8/v8/+/ccfe50b95ae78c9b59d57ba47a734d63a3acb4f6
Patch Set 1 #Patch Set 2 : Make it work for all other Unixes and Windows #Patch Set 3 : Add timezone-cache.h #Patch Set 4 : Add virtual destructor on Windows and add platform-posix.h #Patch Set 5 : Reverting changes to add a flag #Patch Set 6 : Move Windows code around #Patch Set 7 : Properly reference windows function #
Dependent Patchsets: Messages
Total messages: 29 (25 generated)
|