Ignore:
Timestamp:
Aug 19, 2008, 3:22:02 PM (17 years ago)
Author:
[email protected]
Message:

2008-08-19 Kevin McCullough <[email protected]>

Reviewed by Tim and Mark.

Implement DTrace hooks for dashcode and instruments.

  • API/JSProfilerPrivate.cpp: Added. Expose SPI so that profiling can be turned on from a client. The DTrace probes were added within the profiler mechanism for performance reasons so the profiler must be started to enable tracing. (JSStartProfiling): (JSEndProfiling):
  • API/JSProfilerPrivate.h: Added. Ditto.
  • JavaScriptCore.exp: Exposing the start/stop methods to clients.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/Tracing.d: Define the DTrace probes.
  • kjs/Tracing.h: Ditto.
  • profiler/ProfileGenerator.cpp: Implement the DTrace probes in the profiler. (KJS::ProfileGenerator::willExecute): (KJS::ProfileGenerator::didExecute):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r35806 r35847  
    9191                937013480CA97E0E00FA14D3 /* pcre_ucp_searchfuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 937013470CA97E0E00FA14D3 /* pcre_ucp_searchfuncs.cpp */; settings = {COMPILER_FLAGS = "-Wno-sign-compare"; }; };
    9292                93E26BD408B1514100F85226 /* pcre_xclass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93E26BD308B1514100F85226 /* pcre_xclass.cpp */; };
     93                9534AAFB0E5B7A9600B8A45B /* JSProfilerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 952C63AC0E4777D600C13936 /* JSProfilerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
    9394                95742F650DD11F5A000917FB /* Profile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95742F630DD11F5A000917FB /* Profile.cpp */; };
    9495                95AB83420DA4322500BC83F3 /* Profiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95AB832E0DA42CAD00BC83F3 /* Profiler.cpp */; };
     
    99100                95CD45770E1C4FDD0085358E /* ProfileGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 95CD45750E1C4FDD0085358E /* ProfileGenerator.h */; settings = {ATTRIBUTES = (); }; };
    100101                95E3BC050E1AE68200B2D1C1 /* CallIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 95E3BC040E1AE68200B2D1C1 /* CallIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
     102                95F6E6950E5B5F970091E860 /* JSProfilerPrivate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95988BA90E477BEC00D28D4D /* JSProfilerPrivate.cpp */; };
    101103                95FDFA140E22998F0006FB00 /* HeavyProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 95FDFA130E22998F0006FB00 /* HeavyProfile.cpp */; };
    102104                95FDFA160E2299980006FB00 /* HeavyProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 95FDFA150E2299980006FB00 /* HeavyProfile.h */; };
     
    593595                93F0B3AA09BB4DC00068FCE3 /* Parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Parser.h; path = kjs/Parser.h; sourceTree = "<group>"; };
    594596                93F1981A08245AAE001E9ABC /* keywords.table */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = text; path = keywords.table; sourceTree = "<group>"; tabWidth = 8; };
     597                952C63AC0E4777D600C13936 /* JSProfilerPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSProfilerPrivate.h; sourceTree = "<group>"; };
    595598                95742F630DD11F5A000917FB /* Profile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Profile.cpp; path = profiler/Profile.cpp; sourceTree = "<group>"; };
    596599                95742F640DD11F5A000917FB /* Profile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Profile.h; path = profiler/Profile.h; sourceTree = "<group>"; };
     600                95988BA90E477BEC00D28D4D /* JSProfilerPrivate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSProfilerPrivate.cpp; sourceTree = "<group>"; };
    597601                95AB832E0DA42CAD00BC83F3 /* Profiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Profiler.cpp; path = profiler/Profiler.cpp; sourceTree = "<group>"; };
    598602                95AB832F0DA42CAD00BC83F3 /* Profiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Profiler.h; path = profiler/Profiler.h; sourceTree = "<group>"; };
     
    904908                                1482B7E20A43076000517CFC /* JSObjectRef.cpp */,
    905909                                1482B7E10A43076000517CFC /* JSObjectRef.h */,
     910                                95988BA90E477BEC00D28D4D /* JSProfilerPrivate.cpp */,
     911                                952C63AC0E4777D600C13936 /* JSProfilerPrivate.h */,
    906912                                95C18D3E0C90E7EF00E72F73 /* JSRetainPtr.h */,
    907913                                1482B74C0A43032800517CFC /* JSStringRef.cpp */,
     
    15211527                                C0A272630E50A06300E96E15 /* NotFound.h in Headers */,
    15221528                                E124A8F70E555775003091F1 /* OpaqueJSString.h in Headers */,
     1529                                9534AAFB0E5B7A9600B8A45B /* JSProfilerPrivate.h in Headers */,
    15231530                        );
    15241531                        runOnlyForDeploymentPostprocessing = 0;
     
    16261633                        projectDirPath = "";
    16271634                        projectRoot = "";
     1635                        projectRoots = (
     1636                                "",
     1637                        );
    16281638                        targets = (
    16291639                                932F5BE30822A1C700736975 /* All */,
     
    18261836                                8613F45A0E3A433E00C948FD /* SamplingTool.cpp in Sources */,
    18271837                                E124A8F80E555775003091F1 /* OpaqueJSString.cpp in Sources */,
     1838                                95F6E6950E5B5F970091E860 /* JSProfilerPrivate.cpp in Sources */,
    18281839                        );
    18291840                        runOnlyForDeploymentPostprocessing = 0;
Note: See TracChangeset for help on using the changeset viewer.