Changeset 2741 in webkit for trunk/JavaScriptCore/kjs/object.cpp


Ignore:
Timestamp:
Nov 18, 2002, 5:01:16 PM (23 years ago)
Author:
mjs
Message:

JavaScriptCore:

Partway to removing Value from List. Created a marking List
variant, used it in place of ListImp.

  • kjs/internal.h: Removed List stuff.
  • kjs/internal.cpp: (InterpreterImp::mark): Call appropriate List method to do marking of empty ListImp.
  • kjs/object.h:
  • kjs/object.cpp: Use marking List instead of ListImp *.
  • kjs/types.h:
  • kjs/types.cpp: (List::List): New boolean needsMarking parameter. (List::operator=): Perform trickery related to needsMarking. (List::~List): Likewise. (List::mark): Mark the ListImp. (List::markEmptyList): (ListImp::*): Moved here fron internal.cpp, they will be integrated into the relevant List methods soon.

WebCore:

  • force-js-clean-timestamp: Rebuild for JSC changes.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/object.cpp

    r2740 r2741  
    6262
    6363ObjectImp::ObjectImp(const Object &proto)
    64   : _prop(0), _proto(static_cast<ObjectImp*>(proto.imp())), _internalValue(0L), _scope(0)
     64  : _prop(0), _proto(static_cast<ObjectImp*>(proto.imp())), _internalValue(0L), _scope(true)
    6565{
    6666  //fprintf(stderr,"ObjectImp::ObjectImp %p\n",(void*)this);
    67   _scope = ListImp::empty();
    68   _scope->setGcAllowed();
    6967  _prop = new PropertyMap();
    7068}
    7169
    72 ObjectImp::ObjectImp()
     70ObjectImp::ObjectImp() :
     71  _scope(true)
    7372{
    7473  //fprintf(stderr,"ObjectImp::ObjectImp %p\n",(void*)this);
     
    7675  _proto = NullImp::staticNull;
    7776  _internalValue = 0L;
    78   _scope = ListImp::empty();
    79   _scope->setGcAllowed();
    8077  _prop = new PropertyMap();
    8178}
     
    9996  if (_internalValue && !_internalValue->marked())
    10097    _internalValue->mark();
    101   if (_scope && !_scope->marked())
    102     _scope->mark();
     98
     99  _scope.mark();
    103100}
    104101
     
    391388void ObjectImp::setScope(const List &s)
    392389{
    393   if (_scope) _scope->setGcAllowed();
    394   _scope = static_cast<ListImp*>(s.imp());
     390  _scope = s;
    395391}
    396392
Note: See TracChangeset for help on using the changeset viewer.