Hi!

I am very curious why v8 intensively uses inline construction?
e.g.:
class Label BASE_EMBEDDED {
 public:
  INLINE(Label())                 { Unuse(); }
  INLINE(~Label())                { ASSERT(!is_linked()); }

  INLINE(void Unuse())            { pos_ = 0; }
...

What is the reason of such a "massive inline" approach?
As far as I know it is well enough just to keep function
implementation in the class body in order to make compiler understand
that the function shall be inlined -

class Label BASE_EMBEDDED {
 public:
  Label()                 { Unuse(); }
  ~Label()                { ASSERT(!is_linked()); }
..

Do I understand right that v8 is targeting really old compiler that
requires inline statement to be specified explicitly otherwise regular
functions will be generated?

Thanks,
Alex
--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to