Commit 36614a72 authored by darin's avatar darin

top level:

        * Site/Internal/Design/CFURL.rtf: Added.

Tools:

        * Scripts/last-update: Added. Script for Trey that tells you when
	you last did a cvs update, based on most-recently updated ChangeLog.

JavaScriptCore:

	- stop garbage collecting the ActivationImp objects, gets 3% on iBench
	- pave the way to separate the argument lists from scope chains

        * kjs/context.h: Added. Moved ContextImp here so it can use things defined
	in function.h

        * kjs/scope_chain.h: Added. Starting as a copy of List, to be improved.
        * kjs/scope_chain.cpp: Added. Starting as a copy of List, to be improved.

        * JavaScriptCore.pbproj/project.pbxproj: Rearranged things, added context.h.

        * kjs/function.cpp:
        (FunctionImp::call): Pass InterpreterImp, not ExecState, to ContextImp.
        (DeclaredFunctionImp::DeclaredFunctionImp): List -> ScopeChain.
        (ActivationImp::createArgumentsObject): ArgumentList -> List.
        (GlobalFuncImp::call): Pass InterpreterImp, not an ExecState, to ContextImp.
        * kjs/function.h: List -> ScopeChain.
        * kjs/function_object.cpp: (FunctionObjectImp::construct): List -> ScopeChain.
        * kjs/internal.cpp:
        (ContextImp::ContextImp): Set the context in the interpreter.
        (ContextImp::~ContextImp): Set the context in the interpreter to the caller.
        (ContextImp::mark): Mark all the activation objects.
        (InterpreterImp::InterpreterImp): Initialize context to 0.
        (InterpreterImp::mark): Mark the top context.
        (InterpreterImp::evaluate): Pass InterpreterImp to ContextImp.
        * kjs/internal.h: Move ContextImp to its own header. Add setContext to InterpreterImp.
        * kjs/interpreter.cpp: (Context::scopeChain): List -> ScopeChain.
        * kjs/interpreter.h: List -> ScopeChain.
        * kjs/nodes.cpp:
        (ResolveNode::evaluateReference): List -> ScopeChain.
        (FuncDeclNode::processFuncDecl): List -> ScopeChain.
        (FuncExprNode::evaluate): List -> ScopeChain.
        * kjs/object.cpp: List -> ScopeChain.
        * kjs/object.h: List -> ScopeChain.

        * kjs/types.h: Remove needsMarking features from List.
        * kjs/types.cpp: Ditto.

WebCore:

        * khtml/ecma/kjs_dom.cpp: (DOMNode::eventHandlerScope): List -> ScopeChain.
        * khtml/ecma/kjs_dom.h: List -> ScopeChain.
        * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): List -> ScopeChain.
        * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::eventHandlerScope): List -> ScopeChain.
        * khtml/ecma/kjs_html.h: List -> ScopeChain.

        * force-js-clean-timestamp: Not sure this is required, but better safe than sorry.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 1fe53542
2002-11-21 Darin Adler <darin@apple.com>
- stop garbage collecting the ActivationImp objects, gets 3% on iBench
- pave the way to separate the argument lists from scope chains
* kjs/context.h: Added. Moved ContextImp here so it can use things defined
in function.h
* kjs/scope_chain.h: Added. Starting as a copy of List, to be improved.
* kjs/scope_chain.cpp: Added. Starting as a copy of List, to be improved.
* JavaScriptCore.pbproj/project.pbxproj: Rearranged things, added context.h.
* kjs/function.cpp:
(FunctionImp::call): Pass InterpreterImp, not ExecState, to ContextImp.
(DeclaredFunctionImp::DeclaredFunctionImp): List -> ScopeChain.
(ActivationImp::createArgumentsObject): ArgumentList -> List.
(GlobalFuncImp::call): Pass InterpreterImp, not an ExecState, to ContextImp.
* kjs/function.h: List -> ScopeChain.
* kjs/function_object.cpp: (FunctionObjectImp::construct): List -> ScopeChain.
* kjs/internal.cpp:
(ContextImp::ContextImp): Set the context in the interpreter.
(ContextImp::~ContextImp): Set the context in the interpreter to the caller.
(ContextImp::mark): Mark all the activation objects.
(InterpreterImp::InterpreterImp): Initialize context to 0.
(InterpreterImp::mark): Mark the top context.
(InterpreterImp::evaluate): Pass InterpreterImp to ContextImp.
* kjs/internal.h: Move ContextImp to its own header. Add setContext to InterpreterImp.
* kjs/interpreter.cpp: (Context::scopeChain): List -> ScopeChain.
* kjs/interpreter.h: List -> ScopeChain.
* kjs/nodes.cpp:
(ResolveNode::evaluateReference): List -> ScopeChain.
(FuncDeclNode::processFuncDecl): List -> ScopeChain.
(FuncExprNode::evaluate): List -> ScopeChain.
* kjs/object.cpp: List -> ScopeChain.
* kjs/object.h: List -> ScopeChain.
* kjs/types.h: Remove needsMarking features from List.
* kjs/types.cpp: Ditto.
2002-11-21 Maciej Stachowiak <mjs@apple.com>
- reduced the size of PropertyMap by storing sizes and such in the
......
2002-11-21 Darin Adler <darin@apple.com>
- stop garbage collecting the ActivationImp objects, gets 3% on iBench
- pave the way to separate the argument lists from scope chains
* kjs/context.h: Added. Moved ContextImp here so it can use things defined
in function.h
* kjs/scope_chain.h: Added. Starting as a copy of List, to be improved.
* kjs/scope_chain.cpp: Added. Starting as a copy of List, to be improved.
* JavaScriptCore.pbproj/project.pbxproj: Rearranged things, added context.h.
* kjs/function.cpp:
(FunctionImp::call): Pass InterpreterImp, not ExecState, to ContextImp.
(DeclaredFunctionImp::DeclaredFunctionImp): List -> ScopeChain.
(ActivationImp::createArgumentsObject): ArgumentList -> List.
(GlobalFuncImp::call): Pass InterpreterImp, not an ExecState, to ContextImp.
* kjs/function.h: List -> ScopeChain.
* kjs/function_object.cpp: (FunctionObjectImp::construct): List -> ScopeChain.
* kjs/internal.cpp:
(ContextImp::ContextImp): Set the context in the interpreter.
(ContextImp::~ContextImp): Set the context in the interpreter to the caller.
(ContextImp::mark): Mark all the activation objects.
(InterpreterImp::InterpreterImp): Initialize context to 0.
(InterpreterImp::mark): Mark the top context.
(InterpreterImp::evaluate): Pass InterpreterImp to ContextImp.
* kjs/internal.h: Move ContextImp to its own header. Add setContext to InterpreterImp.
* kjs/interpreter.cpp: (Context::scopeChain): List -> ScopeChain.
* kjs/interpreter.h: List -> ScopeChain.
* kjs/nodes.cpp:
(ResolveNode::evaluateReference): List -> ScopeChain.
(FuncDeclNode::processFuncDecl): List -> ScopeChain.
(FuncExprNode::evaluate): List -> ScopeChain.
* kjs/object.cpp: List -> ScopeChain.
* kjs/object.h: List -> ScopeChain.
* kjs/types.h: Remove needsMarking features from List.
* kjs/types.cpp: Ditto.
2002-11-21 Maciej Stachowiak <mjs@apple.com>
- reduced the size of PropertyMap by storing sizes and such in the
......
2002-11-21 Darin Adler <darin@apple.com>
- stop garbage collecting the ActivationImp objects, gets 3% on iBench
- pave the way to separate the argument lists from scope chains
* kjs/context.h: Added. Moved ContextImp here so it can use things defined
in function.h
* kjs/scope_chain.h: Added. Starting as a copy of List, to be improved.
* kjs/scope_chain.cpp: Added. Starting as a copy of List, to be improved.
* JavaScriptCore.pbproj/project.pbxproj: Rearranged things, added context.h.
* kjs/function.cpp:
(FunctionImp::call): Pass InterpreterImp, not ExecState, to ContextImp.
(DeclaredFunctionImp::DeclaredFunctionImp): List -> ScopeChain.
(ActivationImp::createArgumentsObject): ArgumentList -> List.
(GlobalFuncImp::call): Pass InterpreterImp, not an ExecState, to ContextImp.
* kjs/function.h: List -> ScopeChain.
* kjs/function_object.cpp: (FunctionObjectImp::construct): List -> ScopeChain.
* kjs/internal.cpp:
(ContextImp::ContextImp): Set the context in the interpreter.
(ContextImp::~ContextImp): Set the context in the interpreter to the caller.
(ContextImp::mark): Mark all the activation objects.
(InterpreterImp::InterpreterImp): Initialize context to 0.
(InterpreterImp::mark): Mark the top context.
(InterpreterImp::evaluate): Pass InterpreterImp to ContextImp.
* kjs/internal.h: Move ContextImp to its own header. Add setContext to InterpreterImp.
* kjs/interpreter.cpp: (Context::scopeChain): List -> ScopeChain.
* kjs/interpreter.h: List -> ScopeChain.
* kjs/nodes.cpp:
(ResolveNode::evaluateReference): List -> ScopeChain.
(FuncDeclNode::processFuncDecl): List -> ScopeChain.
(FuncExprNode::evaluate): List -> ScopeChain.
* kjs/object.cpp: List -> ScopeChain.
* kjs/object.h: List -> ScopeChain.
* kjs/types.h: Remove needsMarking features from List.
* kjs/types.cpp: Ditto.
2002-11-21 Maciej Stachowiak <mjs@apple.com>
- reduced the size of PropertyMap by storing sizes and such in the
......
......@@ -224,6 +224,8 @@
F5BB2BC7030F772101FCFE1D,
933A349C038AE7C6008635CE,
938772E6038BFE19008635CE,
9374D3A9038D9D74008635CE,
9373524F038DA8C2008635CE,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
......@@ -270,6 +272,7 @@
F5341395030CF5F8018BE7F3,
F5BB2BC6030F772101FCFE1D,
933A349E038AE80F008635CE,
9374D3AA038D9D74008635CE,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
......@@ -329,6 +332,7 @@
F692A8530255597D01FF60F7,
F5BB2BC4030F772101FCFE1D,
F5BB2BC5030F772101FCFE1D,
9373524E038DA8C2008635CE,
F692A8550255597D01FF60F7,
F692A8560255597D01FF60F7,
F692A8570255597D01FF60F7,
......@@ -373,19 +377,22 @@
F692A87C0255597D01FF60F7,
F692A87D0255597D01FF60F7,
F692A87E0255597D01FF60F7,
9374D3A7038D9D74008635CE,
9374D3A8038D9D74008635CE,
F50888B6030BB74C012A967E,
F692A87F0255597D01FF60F7,
F692A8800255597D01FF60F7,
F692A8810255597D01FF60F7,
F692A8830255597D01FF60F7,
F692A8840255597D01FF60F7,
F692A8850255597D01FF60F7,
F692A8830255597D01FF60F7,
F692A8860255597D01FF60F7,
F692A8870255597D01FF60F7,
F692A8850255597D01FF60F7,
F692A8880255597D01FF60F7,
F692A8870255597D01FF60F7,
);
isa = PBXGroup;
name = Classes;
path = kjs;
refType = 4;
};
//080
......@@ -440,15 +447,13 @@
933A3499038AE7C6008635CE = {
fileEncoding = 4;
isa = PBXFileReference;
name = grammar.y;
path = kjs/grammar.y;
path = grammar.y;
refType = 4;
};
933A349A038AE7C6008635CE = {
fileEncoding = 4;
isa = PBXFileReference;
name = identifier.h;
path = kjs/identifier.h;
path = identifier.h;
refType = 4;
};
933A349C038AE7C6008635CE = {
......@@ -463,8 +468,7 @@
933A349D038AE80F008635CE = {
fileEncoding = 4;
isa = PBXFileReference;
name = identifier.cpp;
path = kjs/identifier.cpp;
path = identifier.cpp;
refType = 4;
};
933A349E038AE80F008635CE = {
......@@ -473,6 +477,48 @@
settings = {
};
};
9373524E038DA8C2008635CE = {
fileEncoding = 4;
isa = PBXFileReference;
path = context.h;
refType = 4;
};
9373524F038DA8C2008635CE = {
fileRef = 9373524E038DA8C2008635CE;
isa = PBXBuildFile;
settings = {
ATTRIBUTES = (
Private,
);
};
};
9374D3A7038D9D74008635CE = {
fileEncoding = 4;
isa = PBXFileReference;
path = scope_chain.h;
refType = 4;
};
9374D3A8038D9D74008635CE = {
fileEncoding = 4;
isa = PBXFileReference;
path = scope_chain.cpp;
refType = 4;
};
9374D3A9038D9D74008635CE = {
fileRef = 9374D3A7038D9D74008635CE;
isa = PBXBuildFile;
settings = {
ATTRIBUTES = (
Private,
);
};
};
9374D3AA038D9D74008635CE = {
fileRef = 9374D3A8038D9D74008635CE;
isa = PBXBuildFile;
settings = {
};
};
938772E5038BFE19008635CE = {
fileEncoding = 4;
isa = PBXFileReference;
......@@ -498,8 +544,7 @@
F50888B6030BB74C012A967E = {
fileEncoding = 30;
isa = PBXFileReference;
name = simple_number.h;
path = kjs/simple_number.h;
path = simple_number.h;
refType = 4;
};
F50888B7030BB74C012A967E = {
......@@ -526,15 +571,13 @@
F5341390030CEEB1018BE7F3 = {
fileEncoding = 30;
isa = PBXFileReference;
name = reference.cpp;
path = kjs/reference.cpp;
path = reference.cpp;
refType = 4;
};
F5341391030CEEB1018BE7F3 = {
fileEncoding = 30;
isa = PBXFileReference;
name = reference.h;
path = kjs/reference.h;
path = reference.h;
refType = 4;
};
F5341392030CEEB1018BE7F3 = {
......@@ -558,8 +601,7 @@
F5341394030CF5F8018BE7F3 = {
fileEncoding = 30;
isa = PBXFileReference;
name = reference_list.cpp;
path = kjs/reference_list.cpp;
path = reference_list.cpp;
refType = 4;
};
F5341395030CF5F8018BE7F3 = {
......@@ -574,8 +616,7 @@
F54F0800030CD22001B5C2EB = {
fileEncoding = 30;
isa = PBXFileReference;
name = reference_list.h;
path = kjs/reference_list.h;
path = reference_list.h;
refType = 4;
};
F54F0801030CD22001B5C2EB = {
......@@ -604,15 +645,13 @@
F5BB2BC4030F772101FCFE1D = {
fileEncoding = 30;
isa = PBXFileReference;
name = completion.cpp;
path = kjs/completion.cpp;
path = completion.cpp;
refType = 4;
};
F5BB2BC5030F772101FCFE1D = {
fileEncoding = 30;
isa = PBXFileReference;
name = completion.h;
path = kjs/completion.h;
path = completion.h;
refType = 4;
};
F5BB2BC6030F772101FCFE1D = {
......@@ -645,13 +684,14 @@
);
isa = PBXGroup;
name = "Other Sources";
path = "";
path = kjs;
refType = 4;
};
F5C290E60284F98E018635CA = {
fileEncoding = 30;
isa = PBXFileReference;
path = JavaScriptCorePrefix.h;
name = JavaScriptCorePrefix.h;
path = ../JavaScriptCorePrefix.h;
refType = 4;
};
F5C290E70284F98E018635CA = {
......@@ -663,8 +703,7 @@
F5FFE656026B47A6018635CA = {
fileEncoding = 30;
isa = PBXFileReference;
name = nodes2string.cpp;
path = kjs/nodes2string.cpp;
path = nodes2string.cpp;
refType = 4;
};
F5FFE657026B47A6018635CA = {
......@@ -686,8 +725,7 @@
F68EBB8C0255D4C601FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = config.h;
path = kjs/config.h;
path = config.h;
refType = 4;
};
F68EBB8E0255D4C601FF60F7 = {
......@@ -702,400 +740,343 @@
F692A84D0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = array_object.cpp;
path = kjs/array_object.cpp;
path = array_object.cpp;
refType = 4;
};
F692A84E0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = array_object.h;
path = kjs/array_object.h;
path = array_object.h;
refType = 4;
};
F692A84F0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = array_object.lut.h;
path = kjs/array_object.lut.h;
path = array_object.lut.h;
refType = 4;
};
F692A8500255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = bool_object.cpp;
path = kjs/bool_object.cpp;
path = bool_object.cpp;
refType = 4;
};
F692A8510255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = bool_object.h;
path = kjs/bool_object.h;
path = bool_object.h;
refType = 4;
};
F692A8520255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = collector.cpp;
path = kjs/collector.cpp;
path = collector.cpp;
refType = 4;
};
F692A8530255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = collector.h;
path = kjs/collector.h;
path = collector.h;
refType = 4;
};
F692A8540255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXExecutableFileReference;
name = create_hash_table;
path = kjs/create_hash_table;
path = create_hash_table;
refType = 4;
};
F692A8550255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = date_object.cpp;
path = kjs/date_object.cpp;
path = date_object.cpp;
refType = 4;
};
F692A8560255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = date_object.h;
path = kjs/date_object.h;
path = date_object.h;
refType = 4;
};
F692A8570255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = date_object.lut.h;
path = kjs/date_object.lut.h;
path = date_object.lut.h;
refType = 4;
};
F692A8580255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = debugger.cpp;
path = kjs/debugger.cpp;
path = debugger.cpp;
refType = 4;
};
F692A8590255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = debugger.h;
path = kjs/debugger.h;
path = debugger.h;
refType = 4;
};
F692A85A0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = error_object.cpp;
path = kjs/error_object.cpp;
path = error_object.cpp;
refType = 4;
};
F692A85B0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = error_object.h;
path = kjs/error_object.h;
path = error_object.h;
refType = 4;
};
F692A85C0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = function_object.cpp;
path = kjs/function_object.cpp;
path = function_object.cpp;
refType = 4;
};
F692A85D0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = function_object.h;
path = kjs/function_object.h;
path = function_object.h;
refType = 4;
};
F692A85E0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = function.cpp;
path = kjs/function.cpp;
path = function.cpp;
refType = 4;
};
F692A85F0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = function.h;
path = kjs/function.h;
path = function.h;
refType = 4;
};
F692A8610255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = internal.cpp;
path = kjs/internal.cpp;
path = internal.cpp;
refType = 4;
};
F692A8620255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = internal.h;
path = kjs/internal.h;
path = internal.h;
refType = 4;
};
F692A8630255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = interpreter.cpp;
path = kjs/interpreter.cpp;
path = interpreter.cpp;
refType = 4;
};
F692A8640255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = interpreter.h;
path = kjs/interpreter.h;
path = interpreter.h;
refType = 4;
};
F692A8650255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = lexer.cpp;
path = kjs/lexer.cpp;
path = lexer.cpp;
refType = 4;
};
F692A8660255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = lexer.h;
path = kjs/lexer.h;
path = lexer.h;
refType = 4;
};
F692A8670255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = lexer.lut.h;
path = kjs/lexer.lut.h;
path = lexer.lut.h;
refType = 4;
};
F692A8680255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = lookup.cpp;
path = kjs/lookup.cpp;
path = lookup.cpp;
refType = 4;
};
F692A8690255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = lookup.h;
path = kjs/lookup.h;
path = lookup.h;
refType = 4;
};
F692A86A0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = math_object.cpp;
path = kjs/math_object.cpp;
path = math_object.cpp;
refType = 4;
};
F692A86B0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = math_object.h;
path = kjs/math_object.h;
path = math_object.h;
refType = 4;
};
F692A86C0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = math_object.lut.h;
path = kjs/math_object.lut.h;
path = math_object.lut.h;
refType = 4;
};
F692A86D0255597D01FF60F7 = {
fileEncoding = 30;
isa = PBXFileReference;
name = nodes.cpp;
path = kjs/nodes.cpp;
path = nodes.cpp;
refType = 4;
};
F692A86E0255597D01FF60F7 = {
fileEncoding</