Hi Danno,

Thanks a lot for your comments, recommendations and guidance. I am glad that the
direction of this CL is clear after you reviewed all the codes in this CL
(including the macro assembler instruction definition and usage). I will work
incrementally to get it reviewed/committed as you have recommended.

Thanks
-Haitao


https://chromiumcodereview.appspot.com/21014003/diff/45001/src/x64/macro-assembler-x64.cc
File src/x64/macro-assembler-x64.cc (right):

https://chromiumcodereview.appspot.com/21014003/diff/45001/src/x64/macro-assembler-x64.cc#newcode990
src/x64/macro-assembler-x64.cc:990: static inline Immediate
SmiToImmediate(Smi* src) {
I will use the constructor with an assertion in the future CL. A comment
on the "if" statement: it could be optimized away by gcc at static time,
so there is no additional runtime overhead for "SmiValuesAre32Bits" and
"SmiValuesAre31Bits".

https://chromiumcodereview.appspot.com/21014003/diff/45001/src/x64/macro-assembler-x64.h
File src/x64/macro-assembler-x64.h (right):

https://chromiumcodereview.appspot.com/21014003/diff/45001/src/x64/macro-assembler-x64.h#newcode383
src/x64/macro-assembler-x64.h:383: virtual bool NeedsCheckMinusZero()
const = 0;
We will handle this when https://codereview.chromium.org/22600005/ is
landed. Currently the difference between Lithium and FullCodeGen/Stub
when calling SMI macro instruction is:
  1) dst and src1 are same from Lithium, and we do not need to keep src1
intact.
  2) overflow check could be omitted.
  3) minusZero check could be omitted.

I will think about your recommendations to abstract those difference.

https://chromiumcodereview.appspot.com/21014003/

--
--
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