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.

Reply via email to