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

Timeline



Oct 25, 2008:

1:26 PM Changeset in webkit [37894] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-10-25 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • VM/Machine.cpp: (JSC::Machine::privateExecute): Provide a dummy value to the HostCallRecord in CTI non-sampling builds, to silence compiler warning.
1:21 PM Changeset in webkit [37893] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-10-25 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • VM/SamplingTool.h: (JSC::SamplingTool::encodeSample): Explicitly cast bool to int, to silence compiler warning.
1:03 PM Changeset in webkit [37892] by ggaren@apple.com
  • 3 edits in trunk/WebCore

2008-10-25 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Mac debug build on the buildbot.

  • platform/FileChooser.cpp: (WebCore::FileChooserClient::~FileChooserClient):
  • platform/FileChooser.h: Moved destructor to .cpp file, to avoid a weak exported symbol.
12:59 PM Changeset in webkit [37891] by ggaren@apple.com
  • 16 edits in trunk/JavaScriptCore

2008-10-25 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig, with Gavin Barraclough's help.


Fixed Sampling Tool:

  • Made CodeBlock sampling work with CTI
  • Improved accuracy by unifying most sampling data into a single 32bit word, which can be written / read atomically.
  • Split out three different #ifdefs for modularity: OPCODE_SAMPLING; CODEBLOCK_SAMPLING; OPCODE_STATS.
  • Improved reporting clarity
  • Refactored for code clarity
  • VM/CTI.cpp: (JSC::CTI::emitCTICall): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h: Updated CTI codegen to use the unified SamplingTool interface for encoding samples. (This required passing the current vPC to a lot more functions, since the unified interface samples the current vPC.) Added hooks for writing the current CodeBlock* on function entry and after a function call, for the sake of the CodeBlock sampler. Removed obsolete hook for clearing the current sample inside op_end. Also removed the custom enum used to differentiate flavors of op_call, since the OpcodeID enum works just as well. (This was important in an earlier version of the patch, but now it's just cleanup.)
  • VM/CodeBlock.cpp: (JSC::CodeBlock::lineNumberForVPC):
  • VM/CodeBlock.h: Upated for refactored #ifdefs. Changed lineNumberForVPC to be robust against vPCs not recorded for exception handling, since the Sampler may ask for an arbitrary vPC.
  • VM/Machine.cpp: (JSC::Machine::execute): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_construct_NotJSConstruct):
  • VM/Machine.h: (JSC::Machine::setSampler): (JSC::Machine::sampler): (JSC::Machine::jitCodeBuffer): Upated for refactored #ifdefs. Changed Machine to use SamplingTool helper objects to record movement in and out of host code. This makes samples a bit more precise.


  • VM/Opcode.cpp: (JSC::OpcodeStats::~OpcodeStats):
  • VM/Opcode.h: Upated for refactored #ifdefs. Added a little more padding, to accomodate our more verbose opcode names.
  • VM/SamplingTool.cpp: (JSC::ScopeSampleRecord::sample): Only count a sample toward our total if we actually record it. This solves cases where a CodeBlock will claim to have been sampled many times, with reported samples that don't match.

(JSC::SamplingTool::run): Read the current sample into a Sample helper
object, to ensure that the data doesn't change while we're analyzing it,
and to help decode the data. Only access the CodeBlock sampling hash
table if CodeBlock sampling has been enabled, so non-CodeBlock sampling
runs can operate with even less overhead.

(JSC::SamplingTool::dump): I reorganized this code a lot to print the
most important info at the top, print as a table, annotate and document
the stuff I didn't understand when I started, etc.

  • VM/SamplingTool.h: New helper classes, described above.
  • kjs/Parser.h:
  • kjs/Shell.cpp: (runWithScripts):
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): Updated for new sampling APIs.
  • wtf/Platform.h: Moved sampling #defines here, since our custom is to put ENABLE #defines into Platform.h. Made explicit the fact that CODEBLOCK_SAMPLING depends on OPCODE_SAMPLING.
12:11 PM Changeset in webkit [37890] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

wx build fix.

8:22 AM Changeset in webkit [37889] by vestbo@webkit.org
  • 4 edits in trunk

2008-10-25 Jade Han <jade.han@nokia.com>

Reviewed by Anders.

Enable custom properties for Qt runtime objects in QtWebKit

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

2:37 AM Changeset in webkit [37888] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-25 Jan Michael Alonzo <jmalonzo@webkit.org>

JSC Build fix, not reviewed.

  • VM/CTI.cpp: add missing include stdio.h for debug builds
12:24 AM Changeset in webkit [37887] by jmalonzo@webkit.org
  • 2 edits in trunk

2008-10-25 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix: add '-' to Wl which was missed in r36845

  • GNUmakefile.am:
Note: See TracTimeline for information about the timeline view.