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.

Reply via email to