Looks good overall! Few comments below:
https://codereview.chromium.org/169893002/diff/1/src/a64/assembler-a64.cc
File src/a64/assembler-a64.cc (right):
https://codereview.chromium.org/169893002/diff/1/src/a64/assembler-a64.cc#newcode388
src/a64/assembler-a64.cc:388: // The branch is the first instruction in
the chain.
I think these comments do not agree with the start_of_chain definition
above. Are instructions counted from the start of the chain? If yes,
then shouldn't it be:
(branch == prev_link) => branch is the last
(branch == next_link) => branch is the first
https://codereview.chromium.org/169893002/diff/1/src/a64/macro-assembler-a64.cc
File src/a64/macro-assembler-a64.cc (right):
https://codereview.chromium.org/169893002/diff/1/src/a64/macro-assembler-a64.cc#newcode635
src/a64/macro-assembler-a64.cc:635: margin += margin / 4;
Where 4 comes from?
https://codereview.chromium.org/169893002/diff/1/src/a64/macro-assembler-a64.cc#newcode659
src/a64/macro-assembler-a64.cc:659: FarBranchInfo(pc_offset(), label)));
If the CheckVeneers below emits veneers then the pc_offset() will no
longer point to the current branch instruction.
Maybe move CheckVeneers outside of this function?
https://codereview.chromium.org/169893002/diff/1/src/a64/macro-assembler-a64.h
File src/a64/macro-assembler-a64.h (right):
https://codereview.chromium.org/169893002/diff/1/src/a64/macro-assembler-a64.h#newcode2123
src/a64/macro-assembler-a64.h:2123: static const int
kVeneerDistanceMargin = 2 * KB;
To check my understanding:
if there are no branch and ret instructions in
[unresolved_branches_first_limit() - 2 * KB - (guard + veneer size) ..
unresolved_branches_first_limit()] then at least one branch will be
broken?
https://codereview.chromium.org/169893002/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.