⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 4, 2008:

11:48 PM Changeset in webkit [32865] by mjs@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

2008-05-04 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • document some more opcodes (and fix argument names)


Added docs for eq, neq, stricteq, nstriceq, less and lesseq.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitEqual): (KJS::CodeGenerator::emitNotEqual): (KJS::CodeGenerator::emitStrictEqual): (KJS::CodeGenerator::emitNotStrictEqual): (KJS::CodeGenerator::emitLess): (KJS::CodeGenerator::emitLessEq):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/nodes.cpp: (KJS::LessNode::emitCode): (KJS::GreaterNode::emitCode): (KJS::LessEqNode::emitCode): (KJS::GreaterEqNode::emitCode): (KJS::EqualNode::emitCode): (KJS::NotEqualNode::emitCode): (KJS::StrictEqualNode::emitCode): (KJS::NotStrictEqualNode::emitCode): (KJS::CaseBlockNode::emitCodeForBlock):
11:46 PM Changeset in webkit [32864] by ggaren@apple.com
  • 10 edits in branches/squirrelfish/JavaScriptCore

2008-05-04 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.

More scaffolding for f.arguments.


Track the offset of the last call frame in the ExecState, so we can
produce a backtrace at any time.


Also, record numLocals, the sum of numVars + numParameters, in each code
block, to make updates to the ExecState a little cheaper than they
would be otherwise.


We now use numLocals in a bunch of places where we used to calculate
numVars + numParameters or -numVars - numParameters.


Reports are mixed, but all in all, this seems to be a wash on SunSpider.

10:30 PM Changeset in webkit [32863] by kevino@webkit.org
  • 5 edits in trunk/WebKit/wx

Reviewed by Kevin Ollivier.

Allow events to specify the ID of the particular wxWebView they are to be sent to.

https://bugs.webkit.org/show_bug.cgi?id=18659

9:46 PM Changeset in webkit [32862] by Antti Koivisto
  • 1 edit
    2 adds in trunk/LayoutTests

2008-05-02 Antti Koivisto <Antti Koivisto>

Reviewed by Mitz.


Test for <rdar://problem/5840475>
CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject

  • fast/transforms/container-transform-crash-expected.txt: Added.
  • fast/transforms/container-transform-crash.html: Added.
9:44 PM Changeset in webkit [32861] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-05-02 Antti Koivisto <Antti Koivisto>

Reviewed by Mitz.

Fix <rdar://problem/5840475>
CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject


Non-block objects can have transforms so containingBlock() could end up returning null.
RenderObject::container() needs to match.

Test: fast/transforms/container-transform-crash.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): (WebCore::RenderObject::container):
9:42 PM Changeset in webkit [32860] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

Whoops, correctly handle properties that don't exist in the
symbol table.

Reviewed by Geoff

7:14 PM Changeset in webkit [32859] by oliver@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

Add attribute information to SymbolTable as ground work for
various DontEnum and ReadOnly issues.

Reviewed by Geoff

7:05 PM Changeset in webkit [32858] by ggaren@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

2008-05-04 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


More scaffolding for f.arguments.


Store the register file associated with an ExecState in the ExecState.


SunSpider reports no change.

  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): Moved registerFileStack above globalExec, so it gets initialized first. Removed remnants of old activation scheme.
6:48 PM Changeset in webkit [32857] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-04 Sam Weinig <sam@webkit.org>

Roll out r32851. It broke tiger builds.

  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper): (WebCore::createDOMWrapper):
6:11 PM Changeset in webkit [32856] by mjs@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-05-04 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Oliver.


  • renamed a few opcodes and fixed assembly formatting to accomodate the longest opcode


equal --> eq
nequal --> neq
resolve_base_and_property --> resolve_with_base
resolve_base_and_func --> resolve_func
get_prop_id --> get_by_id
put_prop_id --> put_by_id
delete_prop_id --> del_by_id
get_prop_val --> get_by_val
put_prop_val --> put_by_val
delete_prop_val --> del_by_val
put_prop_index --> put_by_index


  • VM/CodeBlock.cpp: (KJS::printUnaryOp): (KJS::printBinaryOp): (KJS::printConditionalJump): (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitEqual): (KJS::CodeGenerator::emitNotEqual): (KJS::CodeGenerator::emitResolveWithBase): (KJS::CodeGenerator::emitResolveFunction): (KJS::CodeGenerator::emitGetById): (KJS::CodeGenerator::emitPutById): (KJS::CodeGenerator::emitDeleteById): (KJS::CodeGenerator::emitGetByVal): (KJS::CodeGenerator::emitPutByVal): (KJS::CodeGenerator::emitDeleteByVal): (KJS::CodeGenerator::emitPutByIndex):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ArrayNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::BracketAccessorNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::EvalFunctionCallNode::emitCode): (KJS::FunctionCallResolveNode::emitCode): (KJS::FunctionCallBracketNode::emitCode): (KJS::FunctionCallDotNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PostDecResolveNode::emitCode): (KJS::PostIncBracketNode::emitCode): (KJS::PostDecBracketNode::emitCode): (KJS::PostIncDotNode::emitCode): (KJS::PostDecDotNode::emitCode): (KJS::DeleteResolveNode::emitCode): (KJS::DeleteBracketNode::emitCode): (KJS::DeleteDotNode::emitCode): (KJS::TypeOfResolveNode::emitCode): (KJS::PreIncResolveNode::emitCode): (KJS::PreDecResolveNode::emitCode): (KJS::PreIncBracketNode::emitCode): (KJS::PreDecBracketNode::emitCode): (KJS::PreIncDotNode::emitCode): (KJS::PreDecDotNode::emitCode): (KJS::ReadModifyResolveNode::emitCode): (KJS::AssignResolveNode::emitCode): (KJS::AssignDotNode::emitCode): (KJS::ReadModifyDotNode::emitCode): (KJS::AssignBracketNode::emitCode): (KJS::ReadModifyBracketNode::emitCode): (KJS::ConstDeclNode::emitCodeSingle): (KJS::ForInNode::emitCode): (KJS::TryNode::emitCode):
4:29 PM Changeset in webkit [32855] by oliver@apple.com
  • 3 edits
    3 adds in branches/squirrelfish

Fix assertion when accessing arguments object with too many arguments provided

Reviewed by Maciej

The arguments constructor was assuming that the register offset given for argv
was an absolute offset into the registerfile, rather than the offset from the
frame. This patches corrects that issue.

3:03 PM Changeset in webkit [32854] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Sam Weinig.

Test: fast/gradients/crash-on-remove.html

  • css/CSSImageGeneratorValue.cpp: (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue): (WebCore::CSSImageGeneratorValue::addClient): Added a call to ref() the value. (WebCore::CSSImageGeneratorValue::removeClient): Added code to deref() the value.

LayoutTests:

Reviewed by Sam Weinig.

  • fast/gradients/crash-on-remove-expected.txt: Added.
  • fast/gradients/crash-on-remove.html: Added.
2:52 PM Changeset in webkit [32853] by weinig@apple.com
  • 5 edits in trunk/LayoutTests

2008-05-04 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Don't print out the full url.

  • fast/dom/Window/dom-access-from-closure-iframe-expected.txt:
  • fast/dom/Window/dom-access-from-closure-window-expected.txt:
  • fast/dom/Window/resources/dom-access-from-closure-iframe-child.html:
  • fast/dom/Window/resources/dom-access-from-closure-window-child.html:
2:52 PM Changeset in webkit [32852] by ddkilzer@apple.com
  • 2 edits in trunk/WebKit/mac

Make parameters match for WebChromeClient::addMessageToConsole()

Reviewed by John.

  • WebCoreSupport/WebChromeClient.h: (WebChromeClient::addMessageToConsole): Renamed sourceID parameter to sourceURL to match implementation in WebChromeClient.mm.
2:29 PM Changeset in webkit [32851] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Move createDOMWrapper(JSObject* object) out of the KJS namespace and into
the WebCore namespace now that the required compilers don't freak out about
this anymore.

  • bindings/objc/DOMUtility.mm: (WebCore::createDOMWrapper):
11:27 AM Changeset in webkit [32850] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-05-04 Geoffrey Garen <ggaren@apple.com>

Rubber stamped by Sam Weinig.


Cleaned up Machine.cpp according to our style guidelines: moved static
data to the top of the file; moved stand-alone functions below that;
moved the Machine constructor above other Machine member functions.

May 3, 2008:

11:36 PM Changeset in webkit [32849] by rwlbuis@webkit.org
  • 5 edits in trunk

Reviewed by Sam.

https://bugs.webkit.org/show_bug.cgi?id=18652
onchange events don't seem to fire for input[type=range] controls.

Fire changeEvent when clicking the slider outside the current
thumb position.

6:04 PM Changeset in webkit [32848] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Remove unused enums from JSDOMWindowBase.

  • bindings/js/JSDOMWindowBase.h: (WebCore::JSDOMWindowBase::):
5:59 PM Changeset in webkit [32847] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Real build fix.

  • WebCore.xcodeproj/project.pbxproj:
5:48 PM Changeset in webkit [32846] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Build fix.

  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent):
5:36 PM Changeset in webkit [32845] by weinig@apple.com
  • 1 edit
    16 adds in trunk/LayoutTests

2008-05-03 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Add tests that show our behavior when using closures from a global object
whose frame has been navigated.

Related to https://bugs.webkit.org/show_bug.cgi?id=17249.

  • fast/dom/Window/closure-access-after-navigation-iframe-expected.txt: Added.
  • fast/dom/Window/closure-access-after-navigation-iframe.html: Added.
  • fast/dom/Window/closure-access-after-navigation-window-expected.txt: Added.
  • fast/dom/Window/closure-access-after-navigation-window.html: Added.
  • fast/dom/Window/dom-access-from-closure-iframe-expected.txt: Added.
  • fast/dom/Window/dom-access-from-closure-iframe.html: Added.
  • fast/dom/Window/dom-access-from-closure-window-expected.txt: Added.
  • fast/dom/Window/dom-access-from-closure-window.html: Added.
  • fast/dom/Window/resources/closure-access-after-navigation-iframe-child-1.html: Added.
  • fast/dom/Window/resources/closure-access-after-navigation-iframe-child-2.html: Added.
  • fast/dom/Window/resources/closure-access-after-navigation-window-child-1.html: Added.
  • fast/dom/Window/resources/closure-access-after-navigation-window-child-2.html: Added.
  • fast/dom/Window/resources/dom-access-from-closure-iframe-child.html: Added.
  • fast/dom/Window/resources/dom-access-from-closure-window-child.html: Added.
  • fast/dom/Window/resources/notify-opener-done.html: Added.
  • fast/dom/Window/resources/notify-parent-done.html: Added.
5:02 PM Changeset in webkit [32844] by weinig@apple.com
  • 23 edits
    2 moves in trunk/WebCore

2008-05-03 Sam Weinig <sam@webkit.org>

Rubber-stamped by Geoffrey Garen.

Rename JSDOMWindowWrapper to JSDOMWindowShell.

2:40 PM Changeset in webkit [32843] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • fix accidental breakage from last patch
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
2:08 PM Changeset in webkit [32842] by mjs@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • a bunch more opcode documentation and corresponding parameter name fixes

I renamed a few opcodes:


type_of --> typeof (that's what the JS operator is named)
instance_of --> instanceof (ditto)
create_error --> new_error (for consistency with other new_* opcodes)


I documented the following opcodes:


  • load
  • new_object
  • new_array
  • new_regexp
  • mov
  • pre_inc
  • pre_dec
  • post_inc
  • post_dec
  • to_jsnumber
  • negate
  • bitnot
  • not
  • instanceof
  • typeof
  • in
  • new_func
  • new_funcexp
  • new_error

I also fixed formatting on some existing opcode docs.


  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitMove): (KJS::CodeGenerator::emitNot): (KJS::CodeGenerator::emitPreInc): (KJS::CodeGenerator::emitPreDec): (KJS::CodeGenerator::emitPostInc): (KJS::CodeGenerator::emitPostDec): (KJS::CodeGenerator::emitToJSNumber): (KJS::CodeGenerator::emitNegate): (KJS::CodeGenerator::emitBitNot): (KJS::CodeGenerator::emitInstanceOf): (KJS::CodeGenerator::emitTypeOf): (KJS::CodeGenerator::emitIn): (KJS::CodeGenerator::emitLoad): (KJS::CodeGenerator::emitNewObject): (KJS::CodeGenerator::emitNewArray): (KJS::CodeGenerator::emitNewRegExp): (KJS::CodeGenerator::emitNewError):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::scopeDepth): (KJS::CodeGenerator::addVar):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::Node::emitThrowError): (KJS::RegExpNode::emitCode): (KJS::TypeOfValueNode::emitCode): (KJS::UnaryPlusNode::emitCode): (KJS::NegateNode::emitCode): (KJS::BitwiseNotNode::emitCode): (KJS::LogicalNotNode::emitCode): (KJS::InstanceOfNode::emitCode): (KJS::InNode::emitCode):
1:53 PM Changeset in webkit [32841] by mjs@apple.com
  • 2 edits
    2 adds in branches/squirrelfish/JavaScriptCore

2008-05-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff and Sam.


  • generate HTML bytecode docs at build time
  • DerivedSources.make:
  • docs: Added.
  • docs/make-bytecode-docs.pl: Added.
1:35 PM Changeset in webkit [32840] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Update ExecState::m_scopeChain when switching scope chains inside the
machine.


This fixes uses of lexicalGlobalObject, such as, in a subframe

alert(top.makeArray() instanceof Array ? "FAIL" : "PASS");


and a bunch of the security failures listed in
https://bugs.webkit.org/show_bug.cgi?id=18870. (Those tests still fail,
seemingly because of regressions in exception messages).


SunSpider reports no change.

  • VM/Machine.cpp: Factored out scope chain updating into a common function that takes care to update ExecState::m_scopeChain, too.
  • kjs/ExecState.h: I made Machine a friend of ExecState so that Machine could update ExecState::m_scopeChain, even though that value is read-only for everyone else.
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): Changed this client to be a little friendlier to ExecState's internal storage type for scope chain data.
12:36 PM Changeset in webkit [32839] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed https://bugs.webkit.org/show_bug.cgi?id=18876
Squirrelfish: ScopeChainNode leak in op_jmp_scopes.


SunSpider reports no change.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Don't construct a ScopeChain object, since the direct threaded interpreter will goto across its destructor.
2:14 AM Changeset in webkit [32838] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-05-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


A bit more efficient fix than r32832: Don't copy globals into function
register files; instead, have the RegisterFileStack track only the base
of the last *global* register file, so the global object's register
references stay good.


SunSpider reports a .3% speedup. Not sure what that's about.

12:20 AM Changeset in webkit [32837] by oliver@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

Bug 18864: SquirrelFish: Support getter and setter definition in object literals
<https://bugs.webkit.org/show_bug.cgi?id=18864>

Reviewed by Maciej

Add new opcodes to allow us to add getters and setters to an object. These are
only used by the codegen for object literals.

Note: See TracTimeline for information about the timeline view.