Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement os/cpu for macOS/AArch64 #23

Open
wants to merge 13 commits into
base: macos-aarch64
Choose a base branch
from

Conversation

KaperD
Copy link

@KaperD KaperD commented Dec 2, 2021

Пока что здесь есть изменения из ветки Глеба, так как у меня есть зависимость от них. Потом сделаю rebase

В патче добавляется os_cpu часть для MacOS/aarch64 и ещё пара мелких добавлений

  1. Я скопировал текущий вариант linux_aarch64 в bsd_aarch64.
  2. После этого сделал cherry-pick коммита JDK-8253819: Add missing parts from bsd_x86. На большинство файлов изменения наложились чисто.
  3. После этого я в fixup коммите исправил конфликты
  4. После этого я взял изменение из коммита с названием Pull/2200
  5. Потом взял финальное состояние ICache из патча и добавил его сюда
  6. Потом взял изменение из Add macOS-AArch64 build and platform support code
  7. Потом сделал взял состояние файла vm_version_bsd_aarch64.cpp из JDK-8253819: MacARM: CPU feature detection и убрал оттуда ненужное (SVE)
  8. Потом для этого же файла взял изменения из коммита Fixes after review
  9. Потом в коммите Disable warning and change Linux to Bsd я заменил оставшиеся Linux на Bsd и также отключил warning в os_bsd_aarch64.cpp. В патче в какой-то момент этот ворнинг отлючали таким же образом, но потом убрали.
  10. И в конце сделал cherry-pick коммита JDK-8261397: bsd_aarch64 part, он нужен, так как связанный с ним патч бекпортировали в 15

Дополнительные изменения:

  • Awt2dLibraries.gmk -- всё-таки нужно отключить deprecated-declarations ещё в одном месте
  • assembler_aarch64.hpp -- в одном из последних бекпортов здесь менялся тип с long на int64_t, и теперь там ambigous вызов функции. Там был патч, который менял это место, так как там нашли какой-то баг https://bugs.openjdk.java.net/browse/JDK-8247766. Но я пока что сделал просто каст

С этим патчем jdk уже компилируется и потом падает с SIGBUS

Copy link
Member

@AntonKozlov AntonKozlov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

06ff8c9 -- почему-то git не распознаёт в файлах копии.

JDK-8247766 -- отличная находка, спасибо!

У меня вопрос по форме, как удостовериться, что все изменения в os_cpu из pr/2200 пришли сюда? В прошлый раз мы обсудили, что не вариант отребейзить коммиты из ребейза. Может быть, тогда взять весь pr, побить на куски, и сбекпортировать уже их? Профит для меня в том, что я бы видел куски, видел бы что они вместе дают pr/2200 и как каждый из них бекпортится. Для вас -- в том что не приходилось бы графтить патчи "изнутри" коммита, а только большие куски финального варианта. Сорри что так поздно, но лучше поздно, чем никогда. #22 вполне укладывается в эту схему.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants