1. 06 May, 2019 1 commit
  2. 30 Apr, 2019 1 commit
  3. 01 Apr, 2019 1 commit
  4. 19 Mar, 2019 1 commit
  5. 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
  6. 13 Feb, 2019 1 commit
  7. 28 Jan, 2019 1 commit
  8. 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
  9. 07 Jan, 2019 1 commit
  10. 22 Oct, 2018 1 commit
  11. 12 Oct, 2018 1 commit
  12. 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
  13. 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
  14. 17 Apr, 2018 1 commit
  15. 04 Apr, 2018 1 commit
    • Jungshik Shin's avatar
      Reland "Implement a new spec for timezone offset calculation" · 1d3a87bd
      Jungshik Shin authored
      This is a reland of dbdede01
      after a webkit layout test (geolocation-api/timestamp.html) was
      fixed by
      https://chromium-review.googlesource.com/c/chromium/src/+/994343 .
      
      Original change's description:
      > Implement a new spec for timezone offset calculation
      >
      > https://github.com/tc39/ecma262/pull/778 was recently merged
      > to Ecma 262.
      >
      > It changes the way to convert between "local time" and UTC in such
      > a way that it'd work for all timezones whether or not there has
      > been any change in the timezone offset of the standard time. For
      > instance, Europe/Moscow and some parts of US state of Indiana have
      > changed the standard (non-DST) timezone offset a few times. The
      > previous spec assumes that the the standard timezone offset is
      > constant, but the new spec take into account the offset change
      > history.
      >
      > In addition, it specifies a new way to calculate the timezone
      > offset during a timezone transition (either in and
      > out of DST or timezone offset shift).
      >
      > During a negative transition (e.g.  fall backward / getting
      > out of DST), repeated times are to be interpreted as if the
      > offset before the transition is in effect.
      >
      > During a positive transition (e.g. spring forward / getting
      > into DST), skipped times are to be treated similarly. That
      > is, they are to be interpreted as if the offset before the
      > transition is in effect.
      >
      > With icu-timezone-data, v8 is compliant to the new spec for the
      > past and the future as well as now whether or not the standard
      > timezone offset of a given timezone has changed over time
      > (e.g. Europe/Moscow, Pacific/Apia). With icu-timezone-data,
      > Australia/Lord_Howe (30 minute DST change) also works per spec.
      >
      > Without icu-timezone-data, it works only for timezones of which
      > the standard timezone offset is the same as the current offset
      > (e.g. most North American timezones other than parts of Indiana)
      > and of which the DST shift is an hour. For instance, it doesn't work
      > for Europe/Moscow in 2010 when the standard timezone offset was
      > +4h because the current (2018) standard timezone offset is +3h. Neither
      > does it for Lord Howe in Australia with the DST shift of 0.5 hr.
      >
      > This CL used to require one of the two ICU CLs below, but not
      > any more.
      >
      >   https://chromium-review.googlesource.com/c/chromium/deps/icu/+/572652
      >   https://chromium-review.googlesource.com/851265  (a proposed CL to the
      >   upstream ICU).
      >
      > Bug: v8:3547,chromium:417640,v8:5714
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ib162295da5bee31b2390bd0918157014aebd3e33
      > Reviewed-on: https://chromium-review.googlesource.com/572148
      > Commit-Queue: Jungshik Shin <jshin@chromium.org>
      > Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52332}
      
      Bug: v8:3547, chromium:417640, v8:5714
      Change-Id: I47536c111143f75e3cfeecf5d9761c43a98a10f5
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/995971
      Commit-Queue: Jungshik Shin <jshin@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52372}
      1d3a87bd
  16. 03 Apr, 2018 2 commits
    • Clemens Hammacher's avatar
      Revert "Implement a new spec for timezone offset calculation" · 965edc0e
      Clemens Hammacher authored
      This reverts commit dbdede01.
      
      Reason for revert: Fails webkit_tests, blocks roll: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064
      
      Original change's description:
      > Implement a new spec for timezone offset calculation
      > 
      > https://github.com/tc39/ecma262/pull/778 was recently merged
      > to Ecma 262.
      > 
      > It changes the way to convert between "local time" and UTC in such
      > a way that it'd work for all timezones whether or not there has
      > been any change in the timezone offset of the standard time. For
      > instance, Europe/Moscow and some parts of US state of Indiana have
      > changed the standard (non-DST) timezone offset a few times. The
      > previous spec assumes that the the standard timezone offset is
      > constant, but the new spec take into account the offset change
      > history.
      > 
      > In addition, it specifies a new way to calculate the timezone
      > offset during a timezone transition (either in and
      > out of DST or timezone offset shift).
      > 
      > During a negative transition (e.g.  fall backward / getting
      > out of DST), repeated times are to be interpreted as if the
      > offset before the transition is in effect.
      > 
      > During a positive transition (e.g. spring forward / getting
      > into DST), skipped times are to be treated similarly. That
      > is, they are to be interpreted as if the offset before the
      > transition is in effect.
      > 
      > With icu-timezone-data, v8 is compliant to the new spec for the
      > past and the future as well as now whether or not the standard
      > timezone offset of a given timezone has changed over time
      > (e.g. Europe/Moscow, Pacific/Apia). With icu-timezone-data,
      > Australia/Lord_Howe (30 minute DST change) also works per spec.
      > 
      > Without icu-timezone-data, it works only for timezones of which
      > the standard timezone offset is the same as the current offset
      > (e.g. most North American timezones other than parts of Indiana)
      > and of which the DST shift is an hour. For instance, it doesn't work
      > for Europe/Moscow in 2010 when the standard timezone offset was
      > +4h because the current (2018) standard timezone offset is +3h. Neither
      > does it for Lord Howe in Australia with the DST shift of 0.5 hr.
      > 
      > This CL used to require one of the two ICU CLs below, but not
      > any more.
      > 
      >   https://chromium-review.googlesource.com/c/chromium/deps/icu/+/572652
      >   https://chromium-review.googlesource.com/851265  (a proposed CL to the
      >   upstream ICU).
      > 
      > Bug: v8:3547,chromium:417640,v8:5714
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ib162295da5bee31b2390bd0918157014aebd3e33
      > Reviewed-on: https://chromium-review.googlesource.com/572148
      > Commit-Queue: Jungshik Shin <jshin@chromium.org>
      > Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52332}
      
      TBR=adamk@chromium.org,littledan@chromium.org,mlippautz@chromium.org,jshin@chromium.org
      
      Change-Id: I6b3bf4427c761b106280d565a3912cd8e25cf87e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:3547, chromium:417640, v8:5714
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/994192Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52338}
      965edc0e
    • Jungshik Shin's avatar
      Implement a new spec for timezone offset calculation · dbdede01
      Jungshik Shin authored
      https://github.com/tc39/ecma262/pull/778 was recently merged
      to Ecma 262.
      
      It changes the way to convert between "local time" and UTC in such
      a way that it'd work for all timezones whether or not there has
      been any change in the timezone offset of the standard time. For
      instance, Europe/Moscow and some parts of US state of Indiana have
      changed the standard (non-DST) timezone offset a few times. The
      previous spec assumes that the the standard timezone offset is
      constant, but the new spec take into account the offset change
      history.
      
      In addition, it specifies a new way to calculate the timezone
      offset during a timezone transition (either in and
      out of DST or timezone offset shift).
      
      During a negative transition (e.g.  fall backward / getting
      out of DST), repeated times are to be interpreted as if the
      offset before the transition is in effect.
      
      During a positive transition (e.g. spring forward / getting
      into DST), skipped times are to be treated similarly. That
      is, they are to be interpreted as if the offset before the
      transition is in effect.
      
      With icu-timezone-data, v8 is compliant to the new spec for the
      past and the future as well as now whether or not the standard
      timezone offset of a given timezone has changed over time
      (e.g. Europe/Moscow, Pacific/Apia). With icu-timezone-data,
      Australia/Lord_Howe (30 minute DST change) also works per spec.
      
      Without icu-timezone-data, it works only for timezones of which
      the standard timezone offset is the same as the current offset
      (e.g. most North American timezones other than parts of Indiana)
      and of which the DST shift is an hour. For instance, it doesn't work
      for Europe/Moscow in 2010 when the standard timezone offset was
      +4h because the current (2018) standard timezone offset is +3h. Neither
      does it for Lord Howe in Australia with the DST shift of 0.5 hr.
      
      This CL used to require one of the two ICU CLs below, but not
      any more.
      
        https://chromium-review.googlesource.com/c/chromium/deps/icu/+/572652
        https://chromium-review.googlesource.com/851265  (a proposed CL to the
        upstream ICU).
      
      Bug: v8:3547,chromium:417640,v8:5714
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Ib162295da5bee31b2390bd0918157014aebd3e33
      Reviewed-on: https://chromium-review.googlesource.com/572148
      Commit-Queue: Jungshik Shin <jshin@chromium.org>
      Reviewed-by: 's avatarDaniel Ehrenberg <littledan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52332}
      dbdede01
  17. 30 Mar, 2018 1 commit
  18. 23 Mar, 2018 1 commit
  19. 22 Mar, 2018 1 commit
  20. 19 Mar, 2018 1 commit
    • Clemens Hammacher's avatar
      [wasm] Call FatalProcessOutOfMemory on OOM · 468a9303
      Clemens Hammacher authored
      Instead of returning nullptr, just always call FatalProcessOutOfMemory
      when we cannot allocate more memory.
      In a follow-up CL, this should be extended to first try to run a GC and
      see if this freed enough memory.
      This CL is intentionally minimal in order to make it backmergable.
      
      The unittest for WasmCodeManager needs to be refactored into a
      parameterized test, such that each individual (parameterized) test can
      die with OOM without affecting other tests.
      
      R=mstarzinger@chromium.org
      
      Bug: chromium:822266
      Change-Id: I1336aa05ed50124b77ffaa4435ec9bed70e15c18
      Reviewed-on: https://chromium-review.googlesource.com/966501Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52025}
      468a9303
  21. 20 Feb, 2018 1 commit
  22. 02 Feb, 2018 1 commit
  23. 24 Jan, 2018 1 commit
    • Michael Starzinger's avatar
      Revert "[platform] Remove {PageAllocator::kReadWriteExecute}." · db7bdf48
      Michael Starzinger authored
      This reverts commit bf19e60c.
      
      Reason for revert: Two issues discovered with W^X in V8's 6.5 branch (see v8:7272 and chromium:793428). Still need a way to disable the feature.
      
      Original change's description:
      > [platform] Remove {PageAllocator::kReadWriteExecute}.
      > 
      > Now that write-protection of code memory is enabled everywhere and V8 is
      > fully W^X compliant, we can remove the permission mode in question.
      > 
      > R=​hpayer@chromium.org
      > BUG=v8:6792
      > 
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I80fe95ac6bb0e2d1ad6d993154ce45d492d941be
      > Reviewed-on: https://chromium-review.googlesource.com/866855
      > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Bill Budge <bbudge@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50770}
      
      TBR=bbudge@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:6792
      Change-Id: If4a205497ac83084a4092560363affb13b391462
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/883461Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50834}
      db7bdf48
  24. 22 Jan, 2018 1 commit
  25. 19 Jan, 2018 1 commit
  26. 21 Dec, 2017 1 commit
  27. 19 Dec, 2017 1 commit
    • Bill Budge's avatar
      Reland [Memory] Speculative fix for sanitizer flakiness. · 52cc5fe0
      Bill Budge authored
      - Uses a mutex to prevent races on getting random mmap addresses, on
        POSIX and Windows.
      
      Original change's description:
      > [Memory] Speculative fix for sanitizer flakiness.
      >
      > - When allocating virtual memory, make sure addresses don't interfere
      >   with hard-coded sanitizer regions.
      >
      > Bug: v8:7146
      > Change-Id: I5bcb664b32bf53c8581772fe329190da6033701f
      > Reviewed-on: https://chromium-review.googlesource.com/833171
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50208}
      
      Bug: v8:7146
      Change-Id: I5a82f2a1f6136498fb2aa7a37e0206c506545073
      Reviewed-on: https://chromium-review.googlesource.com/834453Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50216}
      52cc5fe0
  28. 22 Nov, 2017 2 commits
  29. 21 Nov, 2017 1 commit
  30. 16 Nov, 2017 2 commits
  31. 14 Nov, 2017 1 commit
    • Bill Budge's avatar
      Reland "[Memory] Use OS::Allocate for all OS memory allocations." · adc52af5
      Bill Budge authored
      This is a reland of 4899bcb6
      This is a reland of b73ee334
      
      Original change's description:
      > [Memory] Use OS::Allocate for all OS memory allocations.
      >
      > - Eliminates OS::ReserveRegion and OS::ReserveAlignedRegion.
      > - Changes OS::Allocate to take alignment parameter, reorders parameters
      >   to match page_allocator.
      > - Since the size of memory allocation can be deduced, don't return the
      >   amount of memory allocated.
      > - Changes reservation of aligned address space. Before we would reserve
      >   (size + alignment) rounded up to page size. This is too much, because
      >   maximum misalignment is (alignment - page_size).
      > - On Windows and Cygwin, we release an oversize allocation and
      >   immediately retry at the aligned address in the allocation. If we
      >   lose the address due to a race, we just retry.
      > - Clean up all the calls to OS::Allocate in codegen and tests by adding
      >   helper AllocateSystemPage function (allocation.h) and
      >   AllocateAssemblerBuffer (cctest.h).
      > - Changes 'assm' to 'masm' in some targets for consistency when using
      >   a macro-assembler.
      >
      > - Eliminates OS::ReleaseRegion, replacing with calls to OS::Free.
      > - Adds bool return value to OS::Free.
      > - Cleans up types of flags, protection on Windows and Cygwin.
      
      > Bug: chromium:756050
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Iad3c025334e8f8d7d647be99a36a11ee449c9087
      Reviewed-on: https://chromium-review.googlesource.com/767014
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49363}
      adc52af5
  32. 11 Nov, 2017 1 commit
  33. 10 Nov, 2017 1 commit
  34. 09 Nov, 2017 1 commit
    • Bill Budge's avatar
      Reland "[Memory] Use OS::Allocate for all OS memory allocations." · 4899bcb6
      Bill Budge authored
      This is a reland of 7e78506f
      Original change's description:
      > [Memory] Use OS::Allocate for all OS memory allocations.
      > 
      > - Eliminates OS::ReserveRegion and OS::ReserveAlignedRegion.
      > - Changes OS::Allocate to take alignment parameter, reorders parameters
      >   to match page_allocator.
      > - Since the size of memory allocation can be deduced, don't return the
      >   amount of memory allocated.
      > - Changes reservation of aligned address space. Before we would reserve
      >   (size + alignment) rounded up to page size. This is too much, because
      >   maximum misalignment is (alignment - page_size).
      > - On Windows and Cygwin, we release an oversize allocation and
      >   immediately retry at the aligned address in the allocation. If we
      >   lose the address due to a race, we just retry.
      > - Clean up all the calls to OS::Allocate in codegen and tests by adding
      >   helper AllocateSystemPage function (allocation.h) and
      >   AllocateAssemblerBuffer (cctest.h).
      > - Changes 'assm' to 'masm' in some targets for consistency when using
      >   a macro-assembler.
      > 
      > Bug: chromium:756050
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
      > Reviewed-on: https://chromium-review.googlesource.com/749848
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49235}
      
      Bug: chromium:756050
      Change-Id: I333f7a6aea0bcb608d01cafb43e94893a4625b15
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/758509Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49273}
      4899bcb6
  35. 08 Nov, 2017 2 commits
    • Bill Budge's avatar
      Revert "[Memory] Use OS::Allocate for all OS memory allocations." · 1ea3fd2e
      Bill Budge authored
      This reverts commit 7e78506f.
      
      Reason for revert: Broke Android build on Arm64.
      
      Original change's description:
      > [Memory] Use OS::Allocate for all OS memory allocations.
      > 
      > - Eliminates OS::ReserveRegion and OS::ReserveAlignedRegion.
      > - Changes OS::Allocate to take alignment parameter, reorders parameters
      >   to match page_allocator.
      > - Since the size of memory allocation can be deduced, don't return the
      >   amount of memory allocated.
      > - Changes reservation of aligned address space. Before we would reserve
      >   (size + alignment) rounded up to page size. This is too much, because
      >   maximum misalignment is (alignment - page_size).
      > - On Windows and Cygwin, we release an oversize allocation and
      >   immediately retry at the aligned address in the allocation. If we
      >   lose the address due to a race, we just retry.
      > - Clean up all the calls to OS::Allocate in codegen and tests by adding
      >   helper AllocateSystemPage function (allocation.h) and
      >   AllocateAssemblerBuffer (cctest.h).
      > - Changes 'assm' to 'masm' in some targets for consistency when using
      >   a macro-assembler.
      > 
      > Bug: chromium:756050
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
      > Reviewed-on: https://chromium-review.googlesource.com/749848
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49235}
      
      TBR=bbudge@chromium.org,hpayer@chromium.org,mlippautz@chromium.org
      
      Change-Id: Ic09de4d63c19746a62e804b1f889817ffaebc330
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:756050
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/758625Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49242}
      1ea3fd2e
    • Bill Budge's avatar
      [Memory] Use OS::Allocate for all OS memory allocations. · 7e78506f
      Bill Budge authored
      - Eliminates OS::ReserveRegion and OS::ReserveAlignedRegion.
      - Changes OS::Allocate to take alignment parameter, reorders parameters
        to match page_allocator.
      - Since the size of memory allocation can be deduced, don't return the
        amount of memory allocated.
      - Changes reservation of aligned address space. Before we would reserve
        (size + alignment) rounded up to page size. This is too much, because
        maximum misalignment is (alignment - page_size).
      - On Windows and Cygwin, we release an oversize allocation and
        immediately retry at the aligned address in the allocation. If we
        lose the address due to a race, we just retry.
      - Clean up all the calls to OS::Allocate in codegen and tests by adding
        helper AllocateSystemPage function (allocation.h) and
        AllocateAssemblerBuffer (cctest.h).
      - Changes 'assm' to 'masm' in some targets for consistency when using
        a macro-assembler.
      
      Bug: chromium:756050
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
      Reviewed-on: https://chromium-review.googlesource.com/749848
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49235}
      7e78506f
  36. 07 Nov, 2017 1 commit