[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:03:42 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 66092a36bea88f29d006c2a94805f4d1a8fe4210
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Nov 19 07:57:11 2002 +0000
JavaScriptCore:
- reduced the creation of Value objects and hoisted the property map
into Object for another gain of about 6%
* JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
* kjs/array_object.cpp:
(compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value
just to add it to a list.
(ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have
to ref/deref.
* kjs/function.cpp:
(FunctionImp::call): Use a reference for the global object to avoid ref/deref.
(GlobalFuncImp::call): Ditto.
* kjs/internal.cpp:
(BooleanImp::toObject): Put the object directly into the list, don't create a Value.
(StringImp::toObject): Ditto.
(NumberImp::toObject): Ditto.
(InterpreterImp::evaluate): Use a reference for the global object.
* kjs/internal.h: Return a reference for the global object.
* kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
* kjs/interpreter.h: Ditto.
* kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
* kjs/object.h: Ditto.
* kjs/types.cpp: Added List methods that work directly with ValueImp.
(List::append): Added a ValueImp version.
(List::prepend): Ditto.
(List::appendList): Work directly with the ValueImp's.
(List::prependList): Ditto.
(List::copy): Use appendList.
(List::empty): Use a shared global List.
* kjs/types.h: Update for above changes.
WebCore:
* force-js-clean-timestamp: Another Object change.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 165162c..14e6c1d 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,5 +1,38 @@
2002-11-18 Darin Adler <darin at apple.com>
+ - reduced the creation of Value objects and hoisted the property map
+ into Object for another gain of about 6%
+
+ * JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
+ * kjs/array_object.cpp:
+ (compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value
+ just to add it to a list.
+ (ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have
+ to ref/deref.
+ * kjs/function.cpp:
+ (FunctionImp::call): Use a reference for the global object to avoid ref/deref.
+ (GlobalFuncImp::call): Ditto.
+ * kjs/internal.cpp:
+ (BooleanImp::toObject): Put the object directly into the list, don't create a Value.
+ (StringImp::toObject): Ditto.
+ (NumberImp::toObject): Ditto.
+ (InterpreterImp::evaluate): Use a reference for the global object.
+ * kjs/internal.h: Return a reference for the global object.
+ * kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
+ * kjs/interpreter.h: Ditto.
+ * kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
+ * kjs/object.h: Ditto.
+ * kjs/types.cpp: Added List methods that work directly with ValueImp.
+ (List::append): Added a ValueImp version.
+ (List::prepend): Ditto.
+ (List::appendList): Work directly with the ValueImp's.
+ (List::prependList): Ditto.
+ (List::copy): Use appendList.
+ (List::empty): Use a shared global List.
+ * kjs/types.h: Update for above changes.
+
+2002-11-18 Darin Adler <darin at apple.com>
+
* kjs/property_map.cpp: Oops, copyright goes to Apple, not me.
* kjs/property_map.h: Ditto.
diff --git a/JavaScriptCore/ChangeLog-2002-12-03 b/JavaScriptCore/ChangeLog-2002-12-03
index 165162c..14e6c1d 100644
--- a/JavaScriptCore/ChangeLog-2002-12-03
+++ b/JavaScriptCore/ChangeLog-2002-12-03
@@ -1,5 +1,38 @@
2002-11-18 Darin Adler <darin at apple.com>
+ - reduced the creation of Value objects and hoisted the property map
+ into Object for another gain of about 6%
+
+ * JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
+ * kjs/array_object.cpp:
+ (compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value
+ just to add it to a list.
+ (ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have
+ to ref/deref.
+ * kjs/function.cpp:
+ (FunctionImp::call): Use a reference for the global object to avoid ref/deref.
+ (GlobalFuncImp::call): Ditto.
+ * kjs/internal.cpp:
+ (BooleanImp::toObject): Put the object directly into the list, don't create a Value.
+ (StringImp::toObject): Ditto.
+ (NumberImp::toObject): Ditto.
+ (InterpreterImp::evaluate): Use a reference for the global object.
+ * kjs/internal.h: Return a reference for the global object.
+ * kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
+ * kjs/interpreter.h: Ditto.
+ * kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
+ * kjs/object.h: Ditto.
+ * kjs/types.cpp: Added List methods that work directly with ValueImp.
+ (List::append): Added a ValueImp version.
+ (List::prepend): Ditto.
+ (List::appendList): Work directly with the ValueImp's.
+ (List::prependList): Ditto.
+ (List::copy): Use appendList.
+ (List::empty): Use a shared global List.
+ * kjs/types.h: Update for above changes.
+
+2002-11-18 Darin Adler <darin at apple.com>
+
* kjs/property_map.cpp: Oops, copyright goes to Apple, not me.
* kjs/property_map.h: Ditto.
diff --git a/JavaScriptCore/ChangeLog-2003-10-25 b/JavaScriptCore/ChangeLog-2003-10-25
index 165162c..14e6c1d 100644
--- a/JavaScriptCore/ChangeLog-2003-10-25
+++ b/JavaScriptCore/ChangeLog-2003-10-25
@@ -1,5 +1,38 @@
2002-11-18 Darin Adler <darin at apple.com>
+ - reduced the creation of Value objects and hoisted the property map
+ into Object for another gain of about 6%
+
+ * JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
+ * kjs/array_object.cpp:
+ (compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value
+ just to add it to a list.
+ (ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have
+ to ref/deref.
+ * kjs/function.cpp:
+ (FunctionImp::call): Use a reference for the global object to avoid ref/deref.
+ (GlobalFuncImp::call): Ditto.
+ * kjs/internal.cpp:
+ (BooleanImp::toObject): Put the object directly into the list, don't create a Value.
+ (StringImp::toObject): Ditto.
+ (NumberImp::toObject): Ditto.
+ (InterpreterImp::evaluate): Use a reference for the global object.
+ * kjs/internal.h: Return a reference for the global object.
+ * kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
+ * kjs/interpreter.h: Ditto.
+ * kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
+ * kjs/object.h: Ditto.
+ * kjs/types.cpp: Added List methods that work directly with ValueImp.
+ (List::append): Added a ValueImp version.
+ (List::prepend): Ditto.
+ (List::appendList): Work directly with the ValueImp's.
+ (List::prependList): Ditto.
+ (List::copy): Use appendList.
+ (List::empty): Use a shared global List.
+ * kjs/types.h: Update for above changes.
+
+2002-11-18 Darin Adler <darin at apple.com>
+
* kjs/property_map.cpp: Oops, copyright goes to Apple, not me.
* kjs/property_map.h: Ditto.
diff --git a/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj b/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
index 07f9ade..275820d 100644
--- a/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
+++ b/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
@@ -1331,6 +1331,9 @@
fileRef = F692A87A0255597D01FF60F7;
isa = PBXBuildFile;
settings = {
+ ATTRIBUTES = (
+ Private,
+ );
};
};
F692A8B70255597D01FF60F7 = {
diff --git a/JavaScriptCore/kjs/array_object.cpp b/JavaScriptCore/kjs/array_object.cpp
index d6dbd61..fe2c2ea 100644
--- a/JavaScriptCore/kjs/array_object.cpp
+++ b/JavaScriptCore/kjs/array_object.cpp
@@ -229,8 +229,8 @@ static int compareWithCompareFunctionForQSort(const void *a, const void *b)
CompareWithCompareFunctionArguments *args = compareWithCompareFunctionArguments;
args->arguments.clear();
- args->arguments.append(Value(*(ValueImp **)a));
- args->arguments.append(Value(*(ValueImp **)b));
+ args->arguments.append(*(ValueImp **)a);
+ args->arguments.append(*(ValueImp **)b);
return args->compareFunction->call(args->exec, args->globalObject, args->arguments)
.toInt32(args->exec);
}
@@ -530,8 +530,7 @@ Value ArrayProtoFuncImp::call(ExecState *exec, Object &thisObj, const List &args
List l;
l.append(jObj);
l.append(minObj);
- Object thisObj = exec->interpreter()->globalObject();
- cmp = sortFunction.call(exec,thisObj, l ).toInt32(exec);
+ cmp = sortFunction.call(exec, exec->interpreter()->globalObject(), l).toInt32(exec);
} else {
cmp = (jObj.toString(exec) < minObj.toString(exec)) ? -1 : 1;
}
diff --git a/JavaScriptCore/kjs/function.cpp b/JavaScriptCore/kjs/function.cpp
index e6ba8b7..5b891f8 100644
--- a/JavaScriptCore/kjs/function.cpp
+++ b/JavaScriptCore/kjs/function.cpp
@@ -79,7 +79,7 @@ bool FunctionImp::implementsCall() const
Value FunctionImp::call(ExecState *exec, Object &thisObj, const List &args)
{
- Object globalObj = exec->interpreter()->globalObject();
+ Object &globalObj = exec->interpreter()->globalObject();
Debugger *dbg = exec->interpreter()->imp()->debugger();
int sid = -1;
@@ -368,9 +368,8 @@ Value GlobalFuncImp::call(ExecState *exec, Object &/*thisObj*/, const List &args
progNode->ref();
// enter a new execution context
- Object glob(exec->interpreter()->globalObject());
Object thisVal(Object::dynamicCast(exec->context().thisValue()));
- ContextImp *ctx = new ContextImp(glob,
+ ContextImp *ctx = new ContextImp(exec->interpreter()->globalObject(),
exec,
thisVal,
EvalCode,
diff --git a/JavaScriptCore/kjs/internal.cpp b/JavaScriptCore/kjs/internal.cpp
index 7c2626d..521b523 100644
--- a/JavaScriptCore/kjs/internal.cpp
+++ b/JavaScriptCore/kjs/internal.cpp
@@ -186,7 +186,7 @@ UString BooleanImp::toString(ExecState */*exec*/) const
Object BooleanImp::toObject(ExecState *exec) const
{
List args;
- args.append(Boolean(const_cast<BooleanImp*>(this)));
+ args.append(const_cast<BooleanImp*>(this));
return Object::dynamicCast(exec->interpreter()->builtinBoolean().construct(exec,args));
}
@@ -215,7 +215,7 @@ UString StringImp::toString(ExecState */*exec*/) const
Object StringImp::toObject(ExecState *exec) const
{
List args;
- args.append(Value(const_cast<StringImp*>(this)));
+ args.append(const_cast<StringImp*>(this));
return Object::dynamicCast(exec->interpreter()->builtinString().construct(exec,args));
}
@@ -244,7 +244,7 @@ UString NumberImp::toString(ExecState *) const
Object NumberImp::toObject(ExecState *exec) const
{
List args;
- args.append(Number(const_cast<NumberImp*>(this)));
+ args.append(const_cast<NumberImp*>(this));
return Object::dynamicCast(exec->interpreter()->builtinNumber().construct(exec,args));
}
@@ -734,7 +734,7 @@ Completion InterpreterImp::evaluate(const UString &code, const Value &thisV)
recursion++;
progNode->ref();
- Object globalObj = globalObject();
+ Object &globalObj = globalObject();
Object thisObj = globalObject();
if (!thisV.isNull()) {
diff --git a/JavaScriptCore/kjs/internal.h b/JavaScriptCore/kjs/internal.h
index 52e02f9..f286cfd 100644
--- a/JavaScriptCore/kjs/internal.h
+++ b/JavaScriptCore/kjs/internal.h
@@ -240,7 +240,7 @@ namespace KJS {
InterpreterImp(Interpreter *interp, const Object &glob);
~InterpreterImp();
- Object globalObject() const { return global; }
+ Object &globalObject() const { return const_cast<Object &>(global); }
Interpreter* interpreter() const { return m_interpreter; }
void initGlobalObject();
diff --git a/JavaScriptCore/kjs/interpreter.cpp b/JavaScriptCore/kjs/interpreter.cpp
index 8684eb7..330ecd1 100644
--- a/JavaScriptCore/kjs/interpreter.cpp
+++ b/JavaScriptCore/kjs/interpreter.cpp
@@ -108,7 +108,7 @@ Interpreter::~Interpreter()
delete rep;
}
-Object Interpreter::globalObject() const
+Object &Interpreter::globalObject() const
{
return rep->globalObject();
}
diff --git a/JavaScriptCore/kjs/interpreter.h b/JavaScriptCore/kjs/interpreter.h
index 0baa2cd..3d1ccf8 100644
--- a/JavaScriptCore/kjs/interpreter.h
+++ b/JavaScriptCore/kjs/interpreter.h
@@ -145,7 +145,7 @@ namespace KJS {
* Returns the object that is used as the global object during all script
* execution performed by this interpreter
*/
- Object globalObject() const;
+ Object &globalObject() const;
void initGlobalObject();
diff --git a/JavaScriptCore/kjs/object.cpp b/JavaScriptCore/kjs/object.cpp
index 8d9ccc8..056178a 100644
--- a/JavaScriptCore/kjs/object.cpp
+++ b/JavaScriptCore/kjs/object.cpp
@@ -37,7 +37,6 @@
#include "operations.h"
#include "error_object.h"
#include "nodes.h"
-#include "property_map.h"
namespace KJS {
@@ -61,26 +60,22 @@ Object Object::dynamicCast(const Value &v)
// ------------------------------ ObjectImp ------------------------------------
ObjectImp::ObjectImp(const Object &proto)
- : _prop(0), _proto(static_cast<ObjectImp*>(proto.imp())), _internalValue(0L), _scope(true)
+ : _proto(static_cast<ObjectImp*>(proto.imp())), _internalValue(0L), _scope(true)
{
//fprintf(stderr,"ObjectImp::ObjectImp %p\n",(void*)this);
- _prop = new PropertyMap();
}
ObjectImp::ObjectImp() :
_scope(true)
{
//fprintf(stderr,"ObjectImp::ObjectImp %p\n",(void*)this);
- _prop = 0;
_proto = NullImp::staticNull;
_internalValue = 0L;
- _prop = new PropertyMap();
}
ObjectImp::~ObjectImp()
{
//fprintf(stderr,"ObjectImp::~ObjectImp %p\n",(void*)this);
- delete _prop;
}
void ObjectImp::mark()
@@ -91,7 +86,7 @@ void ObjectImp::mark()
if (_proto && !_proto->marked())
_proto->mark();
- _prop->mark();
+ _prop.mark();
if (_internalValue && !_internalValue->marked())
_internalValue->mark();
@@ -170,7 +165,7 @@ Value ObjectImp::get(ExecState *exec, unsigned propertyName) const
// to look up in the prototype, it might already exist there)
ValueImp* ObjectImp::getDirect(const UString& propertyName) const
{
- return _prop->get(propertyName);
+ return _prop.get(propertyName);
}
// ECMA 8.6.2.2
@@ -198,7 +193,7 @@ void ObjectImp::put(ExecState *exec, const UString &propertyName,
return;
}
- _prop->put(propertyName,value.imp(),attr);
+ _prop.put(propertyName,value.imp(),attr);
}
void ObjectImp::put(ExecState *exec, unsigned propertyName,
@@ -211,7 +206,7 @@ void ObjectImp::put(ExecState *exec, unsigned propertyName,
bool ObjectImp::canPut(ExecState *, const UString &propertyName) const
{
int attributes;
- ValueImp *v = _prop->get(propertyName, attributes);
+ ValueImp *v = _prop.get(propertyName, attributes);
if (v)
return!(attributes & ReadOnly);
@@ -228,7 +223,7 @@ bool ObjectImp::canPut(ExecState *, const UString &propertyName) const
// ECMA 8.6.2.4
bool ObjectImp::hasProperty(ExecState *exec, const UString &propertyName) const
{
- if (_prop->get(propertyName))
+ if (_prop.get(propertyName))
return true;
// Look in the static hashtable of properties
@@ -253,11 +248,11 @@ bool ObjectImp::hasProperty(ExecState *exec, unsigned propertyName) const
bool ObjectImp::deleteProperty(ExecState */*exec*/, const UString &propertyName)
{
int attributes;
- ValueImp *v = _prop->get(propertyName, attributes);
+ ValueImp *v = _prop.get(propertyName, attributes);
if (v) {
if ((attributes & DontDelete))
return false;
- _prop->remove(propertyName);
+ _prop.remove(propertyName);
return true;
}
@@ -275,7 +270,7 @@ bool ObjectImp::deleteProperty(ExecState *exec, unsigned propertyName)
void ObjectImp::deleteAllProperties( ExecState * )
{
- _prop->clear();
+ _prop.clear();
}
// ECMA 8.6.2.6
@@ -396,7 +391,7 @@ ReferenceList ObjectImp::propList(ExecState *exec, bool recursive)
if (_proto && _proto->dispatchType() == ObjectType && recursive)
list = static_cast<ObjectImp*>(_proto)->propList(exec,recursive);
- _prop->addEnumerablesToReferenceList(list, Object(this));
+ _prop.addEnumerablesToReferenceList(list, Object(this));
// Add properties from the static hashtable of properties
const ClassInfo *info = classInfo();
diff --git a/JavaScriptCore/kjs/object.h b/JavaScriptCore/kjs/object.h
index 1f93e1e..7d716da 100644
--- a/JavaScriptCore/kjs/object.h
+++ b/JavaScriptCore/kjs/object.h
@@ -40,10 +40,10 @@
#include "value.h"
#include "types.h"
#include "reference_list.h"
+#include "property_map.h"
namespace KJS {
- class PropertyMap;
class HashTable;
class HashEntry;
class ListImp;
@@ -582,7 +582,7 @@ namespace KJS {
ValueImp* getDirect(const UString& propertyName) const;
private:
const HashEntry* findPropertyHashEntry( const UString& propertyName ) const;
- PropertyMap *_prop;
+ PropertyMap _prop;
ValueImp *_proto;
ValueImp *_internalValue;
List _scope;
diff --git a/JavaScriptCore/kjs/types.cpp b/JavaScriptCore/kjs/types.cpp
index d87fa21..b3972ad 100644
--- a/JavaScriptCore/kjs/types.cpp
+++ b/JavaScriptCore/kjs/types.cpp
@@ -46,6 +46,8 @@ namespace KJS {
protected:
ListNode(const Value &val, ListNode *p, ListNode *n)
: member(val.imp()), prev(p), next(n) {};
+ ListNode(ValueImp *val, ListNode *p, ListNode *n)
+ : member(val), prev(p), next(n) {};
ValueImp *member;
ListNode *prev, *next;
};
@@ -61,27 +63,16 @@ namespace KJS {
// ------------------------------ ListIterator ---------------------------------
-ListIterator::ListIterator(ListNode *n) : node(n)
-{
-}
-
-ListIterator::ListIterator(const List &l)
- : node(l.hook->next)
-{
-}
-
ValueImp* ListIterator::operator->() const
{
return node->member;
}
-// operator Value* () const { return node->member; }
Value ListIterator::operator*() const
{
return Value(node->member);
}
-// operator Value*() const { return node->member; }
Value ListIterator::operator++()
{
node = node->next;
@@ -108,16 +99,6 @@ Value ListIterator::operator--(int)
return Value(n->member);
}
-bool ListIterator::operator==(const ListIterator &it) const
-{
- return (node==it.node);
-}
-
-bool ListIterator::operator!=(const ListIterator &it) const
-{
- return (node!=it.node);
-}
-
// ------------------------------ List -----------------------------------------
List::List(bool needsMarking)
@@ -182,6 +163,16 @@ void List::append(const Value& val)
hook->prev = n;
}
+void List::append(ValueImp *val)
+{
+ ListNode *n = new ListNode(val, hook->prev, hook);
+ if (!m_needsMarking) {
+ val->ref();
+ }
+ hook->prev->next = n;
+ hook->prev = n;
+}
+
void List::prepend(const Value& val)
{
ListNode *n = new ListNode(val, hook, hook->next);
@@ -192,23 +183,33 @@ void List::prepend(const Value& val)
hook->next = n;
}
+void List::prepend(ValueImp *val)
+{
+ ListNode *n = new ListNode(val, hook->prev, hook);
+ if (!m_needsMarking) {
+ val->ref();
+ }
+ hook->next->prev = n;
+ hook->next = n;
+}
+
void List::appendList(const List& lst)
{
- ListIterator it = lst.begin();
- ListIterator e = lst.end();
- while(it != e) {
- append(*it);
- ++it;
+ ListNode *otherHook = lst.hook;
+ ListNode *o = otherHook->next;
+ while (o != otherHook) {
+ append(o->member);
+ o = o->next;
}
}
void List::prependList(const List& lst)
{
- ListIterator it = lst.end();
- ListIterator e = lst.begin();
- while(it != e) {
- --it;
- prepend(*it);
+ ListNode *otherHook = lst.hook;
+ ListNode *o = otherHook->prev;
+ while (o != otherHook) {
+ prepend(o->member);
+ o = o->prev;
}
}
@@ -260,15 +261,7 @@ void List::clearInternal()
List List::copy() const
{
List newList;
-
- ListIterator e = end();
- ListIterator it = begin();
-
- while(it != e) {
- newList.append(*it);
- ++it;
- }
-
+ newList.appendList(*this);
return newList;
}
@@ -315,9 +308,10 @@ Value List::operator[](int i) const
return at(i);
}
-const List List::empty()
+const List &List::empty()
{
- return List();
+ static List l;
+ return l;
}
diff --git a/JavaScriptCore/kjs/types.h b/JavaScriptCore/kjs/types.h
index 5670960..b870eb2 100644
--- a/JavaScriptCore/kjs/types.h
+++ b/JavaScriptCore/kjs/types.h
@@ -42,8 +42,8 @@ namespace KJS {
*/
class ListIterator {
friend class List;
- ListIterator();
- ListIterator(ListNode *n);
+ ListIterator() : node(0) { }
+ ListIterator(ListNode *n) : node(n) { }
public:
/**
* Construct an iterator that points to the first element of the list.
@@ -55,14 +55,8 @@ namespace KJS {
* @return A pointer to the element the iterator operates on.
*/
ValueImp* operator->() const;
- // operator Value* () const { return node->member; }
Value operator*() const;
/**
- * Conversion to @ref KJS::Value*
- * @return A pointer to the element the iterator operates on.
- */
- // operator Value*() const { return node->member; }
- /**
* Postfix increment operator.
* @return The element after the increment.
*/
@@ -84,12 +78,12 @@ namespace KJS {
* @return True if the two iterators operate on the same list element.
* False otherwise.
*/
- bool operator==(const ListIterator &it) const;
+ bool operator==(const ListIterator &it) const { return node == it.node; }
/**
* Check for inequality with another iterator.
* @return True if the two iterators operate on different list elements.
*/
- bool operator!=(const ListIterator &it) const;
+ bool operator!=(const ListIterator &it) const { return node != it.node; }
private:
ListNode *node;
};
@@ -119,12 +113,14 @@ namespace KJS {
* @param val Pointer to object.
*/
void append(const Value& val);
+ void append(ValueImp *val);
/**
* Insert an object at the beginning of the list.
*
* @param val Pointer to object.
*/
void prepend(const Value& val);
+ void prepend(ValueImp *val);
/**
* Appends the items of another list at the end of this one.
*/
@@ -146,6 +142,7 @@ namespace KJS {
* Remove val from list.
*/
void remove(const Value &val);
+ void remove(ValueImp *val);
/**
* Remove all elements from the list.
*/
@@ -189,7 +186,7 @@ namespace KJS {
* Returns a pointer to a static instance of an empty list. Useful if a
* function has a @ref KJS::List parameter.
*/
- static const List empty();
+ static const List &empty();
#ifdef KJS_DEBUG_MEM
static void globalClear();
#endif
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 93136f7..1f4f9d6 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,7 @@
+2002-11-18 Darin Adler <darin at apple.com>
+
+ * force-js-clean-timestamp: Another Object change.
+
2002-11-18 David Hyatt <hyatt at apple.com>
Implement phased painting to correct the paint order of blocks,
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 93136f7..1f4f9d6 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,7 @@
+2002-11-18 Darin Adler <darin at apple.com>
+
+ * force-js-clean-timestamp: Another Object change.
+
2002-11-18 David Hyatt <hyatt at apple.com>
Implement phased painting to correct the paint order of blocks,
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 93136f7..1f4f9d6 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,7 @@
+2002-11-18 Darin Adler <darin at apple.com>
+
+ * force-js-clean-timestamp: Another Object change.
+
2002-11-18 David Hyatt <hyatt at apple.com>
Implement phased painting to correct the paint order of blocks,
diff --git a/WebCore/force-js-clean-timestamp b/WebCore/force-js-clean-timestamp
index 831d1d8..b8d3524 100644
--- a/WebCore/force-js-clean-timestamp
+++ b/WebCore/force-js-clean-timestamp
@@ -1 +1 @@
-Object field removed 11/18 - Darin
+property maps hoisted in Object 11/18 - Darin
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list