1. 04 Apr, 2019 1 commit
  2. 01 Apr, 2019 1 commit
  3. 19 Mar, 2019 2 commits
  4. 14 Mar, 2019 1 commit
  5. 27 Feb, 2019 1 commit
  6. 26 Feb, 2019 1 commit
    • Sergey Ulanov's avatar
      [Fuchsia] Always call zx_vmo_replace_as_executable() in OS::Allocate() · 47210f48
      Sergey Ulanov authored
      OS::Allocate() previously was calling zx_vmo_replace_as_executable()
      when executable access is requested. This breaks the case when the
      OS::SetPermission() is called to mark that memory as executable later.
      Updated it to call zx_vmo_replace_as_executable() for all VMOs.
      
      This solution is not ideal, but it's consistent with other platforms,
      so it's acceptable short-term.
      
      Bug: v8:8899, chromium:934582
      Change-Id: Ifeb818c93d8b9c80e73a057f5e6f3ca5a7b1c23f
      Reviewed-on: https://chromium-review.googlesource.com/c/1483613Reviewed-by: 's avatarWez <wez@chromium.org>
      Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59880}
      47210f48
  7. 20 Feb, 2019 1 commit
  8. 19 Feb, 2019 1 commit
  9. 14 Feb, 2019 1 commit
    • Hannu Trey's avatar
      Re-detect the host time zone if requested by an embedder · f781f522
      Hannu Trey authored
      Add an enum argument to DateTimeConfigurationChangeNotification to
      control whether or not to redetect the host time zone. The default value
      kSkip doesn't cause redetecting so that callers do not need to change if
      they want the current behavior (e.g. Chromium).
      
      Note that the host time zone detection does not work when v8 is run
      inside a sandbox as in Chromium so that Chromium detects the host time
      zone outside the sandbox before calling
      DateTimeConfigurationChangeNotification. OTOH, other v8 embedders may
      find it more convenient for v8 to do the host time zone detection on
      their behalf. In that case, they can call the function with the new
      argument set to value kRedetect.
      
      Test:
      With PHP+V8Js on linux, execute:
      php -r '
        putenv("TZ=Europe/Helsinki");
        $v8 = new V8Js();
        $v8->executeString("print((new Date(0)).toString()+\"\\n\");");
        putenv("TZ=America/New_York");
        $v8->executeString("print((new Date(0)).toString()+\"\\n\");");'
      
      Result before modification:
      Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time)
      Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time)
      
      Result after modification:
      Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time)
      Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time)
      
      Result after V8JS is modified to use value kRedetect when calling
      
      Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time)
      Wed Dec 31 1969 19:00:00 GMT-0500 (Eastern Standard Time)
      
      DateTimeConfigurationChangeNotification: 
      Change-Id: I005192dd42669a94f606a49baa9eafad3475b9fd
      Reviewed-on: https://chromium-review.googlesource.com/c/1449637Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJungshik Shin <jshin@chromium.org>
      Commit-Queue: Jungshik Shin <jshin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59613}
      f781f522
  10. 13 Feb, 2019 1 commit
  11. 28 Jan, 2019 2 commits
  12. 22 Jan, 2019 1 commit
  13. 21 Jan, 2019 1 commit
    • Clemens Hammacher's avatar
      [platform] Allow to memory-map empty files · 6962334d
      Clemens Hammacher authored
      This current fails, since {mmap} fails with EINVAL for empty mappings.
      The destructor already has special handling for a {nullptr} mapping, so
      we can just use {nullptr} for empty files. We get a similar error on
      windows, and can fix it the same way.
      
      On order to make presubmit checks happy, we have to skip copyright
      checking and checking for terminating newlines for empty files.
      
      R=mlippautz@chromium.org
      
      Change-Id: I2b73da7ff6df72d8bdd40df1fff6422e0a46881e
      Reviewed-on: https://chromium-review.googlesource.com/c/1424861Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58970}
      6962334d
  14. 18 Jan, 2019 1 commit
  15. 14 Jan, 2019 2 commits
  16. 07 Jan, 2019 1 commit
  17. 07 Dec, 2018 1 commit
  18. 20 Nov, 2018 1 commit
  19. 30 Oct, 2018 1 commit
  20. 25 Oct, 2018 1 commit
  21. 24 Oct, 2018 1 commit
  22. 23 Oct, 2018 2 commits
  23. 22 Oct, 2018 1 commit
  24. 18 Oct, 2018 1 commit
  25. 12 Oct, 2018 1 commit
  26. 01 Oct, 2018 1 commit
  27. 26 Sep, 2018 1 commit
  28. 19 Sep, 2018 1 commit
    • Clemens Hammacher's avatar
      [base] Remove OffsetFrom and AddressFrom · 60d6f7c2
      Clemens Hammacher authored
      Those two methods are spread over the code base, and their purpose is
      often not clear. Historically, they were used to turn pointers into
      integers in order to do computations on them. Today we have {Address}
      which is uintptr_t, so we can compute directly on that.
      
      This also makes the {RoundUp} and {RoundDown} macros only work on
      integral values (including {Address}).
      
      R=mlippautz@chromium.org
      
      Bug: v8:8015
      Change-Id: Ia98fb826793ee5d3a2a5b18c09c329d088443772
      Reviewed-on: https://chromium-review.googlesource.com/1233914Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56048}
      60d6f7c2
  29. 14 Sep, 2018 1 commit
  30. 13 Sep, 2018 2 commits
  31. 05 Sep, 2018 1 commit
  32. 31 Aug, 2018 1 commit
  33. 30 Aug, 2018 1 commit
  34. 28 Aug, 2018 1 commit
  35. 23 Aug, 2018 1 commit
    • Bruce Dawson's avatar
      Use PAGE_TARGETS_INVALID when allocating code pages · 6930df0f
      Bruce Dawson authored
      PAGE_TARGETS_INVALID tells CFG (Control Flow Guard) to mark all
      addresses as invalid indirect branch targets. This makes exploits more
      difficult. The benefit is minor because most of the code in the Chrome
      process doesn't use the CFG checks, but this will close off a few
      weaknesses and is the direction we will want to go in eventually
      anyway (with specific targets or call sites opted-in to allowing
      calls, using SetProcessValidCallTargets).
      
      PAGE_TARGETS_INVALID may ultimately cause CFG to not allocate memory -
      that is implied by Windows Internals 7th Edition - and if that is
      implemented then this change will save some modest amount of memory.
      
      PAGE_TARGETS_INVALID was introduced in Windows 10 - according to
      Windows Internals Part 1 7th Edition - prior to that it will cause
      VirtualAlloc to fail.
      
      Bug: chromium:870054
      Change-Id: Ib1784fba37cc0ecb5fe5df595f1519531b3b3a20
      Reviewed-on: https://chromium-review.googlesource.com/1186025
      Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55365}
      6930df0f