friend class JSValue;
friend class JSNumberCell;
friend class JSString;
+ friend class Machine;
private:
JSCell();
virtual ~JSCell();
// Garbage collection.
void* operator new(size_t, ExecState*);
+ void* operator new(size_t, void* placementNewDestination) { return placementNewDestination; }
virtual void mark();
bool marked() const;
virtual UString toThisString(ExecState*) const;
virtual JSString* toThisJSString(ExecState*);
virtual JSValue* getJSNumber();
+ void* vptr() { return *reinterpret_cast<void**>(this); }
private:
// Base implementation, but for non-object classes implements getPropertySlot.