Thanks. I meant whether Smi should be untagged to the real int value (without tag) when assigning to Operand immediate field.
On Saturday, April 21, 2018 at 1:27:44 AM UTC-7, Ben Noordhuis wrote: > > On Sat, Apr 21, 2018 at 2:58 AM, Thomson Tan <lil...@gmail.com > <javascript:>> wrote: > > The ARM64 backend could convert Smi to Operand by assigning tagged Smi > to > > immediate filed in Operand class, as below code snippet. Then the > immediate > > field is tagged Smi value, would it cause problem when encoding this > > operand? > > > > // src\arm64\assember-arm64-inl.h > > template<> > > struct ImmediateInitializer<Smi*> { > > static const bool kIsIntType = false; > > static inline RelocInfo::Mode rmode_for(Smi* t) { return > RelocInfo::NONE; > > } > > static inline int64_t immediate_for(Smi* t) {; > > return reinterpret_cast<int64_t>(t); > > } > > }; > > No, If I understand your question correctly. > > Smis are not heap objects and don't need additional bookkeeping. > That's unlike embedded object pointers, those need to be made visible > to the garbage collector. > -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.