Bug 56862 - Add Profiling Configuration to JavaScriptCore gyp build
Summary: Add Profiling Configuration to JavaScriptCore gyp build
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other OS X 10.5
: P2 Normal
Assignee: Eric Seidel (no email)
URL:
Keywords:
Depends on:
Blocks: 55018
  Show dependency treegraph
 
Reported: 2011-03-22 14:18 PDT by Eric Seidel (no email)
Modified: 2011-03-22 14:54 PDT (History)
4 users (show)

See Also:


Attachments
Patch (2.06 KB, patch)
2011-03-22 14:19 PDT, Eric Seidel (no email)
abarth: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2011-03-22 14:18:26 PDT
Add Profiling Configuration to JavaScriptCore gyp build
Comment 1 Eric Seidel (no email) 2011-03-22 14:19:34 PDT
Created attachment 86504 [details]
Patch
Comment 2 Eric Seidel (no email) 2011-03-22 14:20:10 PDT
If there is a difference between Release and Profiling (other than name) and I failed to correctly replicate that difference in the gyp build, please let me know and I'll be happy to fix it!
Comment 3 Eric Seidel (no email) 2011-03-22 14:29:10 PDT
Committed r81701: <http://trac.webkit.org/changeset/81701>
Comment 4 Eric Seidel (no email) 2011-03-22 14:30:53 PDT
I see support for --profiling in build-webkit (via webkitdirs.pm):
        if ($opt =~ /^--profil(e|ing)$/i) {
            splice(@ARGV, $i, 1);
            $passedConfiguration = "Profiling";
            $passedConfiguration .= "_Cairo_CFLite" if ($isWinCairo && isCygwin());
            return;
        }

But no other references in the project as far as I can tell.
Comment 5 Eric Seidel (no email) 2011-03-22 14:32:48 PDT
This was added as part of the SFX write.  I suspect it is now vestigial:
http://trac.webkit.org/changeset/36244
Comment 6 Mark Rowe (bdash) 2011-03-22 14:33:10 PDT
It’s not.  The differences are in the .xcconfig files.
Comment 7 Eric Seidel (no email) 2011-03-22 14:36:32 PDT
Yes, "Profiling" was added by mrowe back in:
http://trac.webkit.org/changeset/36136
and was different from Release at that time.
I no longer believe it's different since we no longer explicitly set -fomit-frame-pointer in any configuration that I can tell.  (at least not via the pbxproj file).
Comment 8 Eric Seidel (no email) 2011-03-22 14:38:06 PDT
(In reply to comment #6)
> It’s not.  The differences are in the .xcconfig files.

I'll just trust you on that one. :)  I don't see them, but that doesn't mean they're not there.

Can you confirm that I set up Profiling correctly in the GYP build?  I've verified that the generated project.pbxproj looks the same (at least as far as this is concerned).
Comment 9 Mark Rowe (bdash) 2011-03-22 14:52:36 PDT
(In reply to comment #7)
> Yes, "Profiling" was added by mrowe back in:
> http://trac.webkit.org/changeset/36136
> and was different from Release at that time.
> I no longer believe it's different since we no longer explicitly set -fomit-frame-pointer in any configuration that I can tell.  (at least not via the pbxproj file).

OTHER_CFLAGS = $(OTHER_CFLAGS_$(CONFIGURATION)_$(CURRENT_VARIANT));
OTHER_CFLAGS_Release_normal = $(OTHER_CFLAGS_normal_$(TARGET_GCC_VERSION));
OTHER_CFLAGS_Production_normal = $(OTHER_CFLAGS_normal_$(TARGET_GCC_VERSION));
OTHER_CFLAGS_normal_GCC_42 = -fomit-frame-pointer -funwind-tables;
OTHER_CFLAGS_normal_LLVM_GCC_42 = $(OTHER_CFLAGS_normal_GCC_42);

“grep” clearly shows that we DO set -fomit-frame-pointer.
Comment 10 Eric Seidel (no email) 2011-03-22 14:54:31 PDT
(In reply to comment #9)
> (In reply to comment #7)
> > Yes, "Profiling" was added by mrowe back in:
> > http://trac.webkit.org/changeset/36136
> > and was different from Release at that time.
> > I no longer believe it's different since we no longer explicitly set -fomit-frame-pointer in any configuration that I can tell.  (at least not via the pbxproj file).
> 
> OTHER_CFLAGS = $(OTHER_CFLAGS_$(CONFIGURATION)_$(CURRENT_VARIANT));
> OTHER_CFLAGS_Release_normal = $(OTHER_CFLAGS_normal_$(TARGET_GCC_VERSION));
> OTHER_CFLAGS_Production_normal = $(OTHER_CFLAGS_normal_$(TARGET_GCC_VERSION));
> OTHER_CFLAGS_normal_GCC_42 = -fomit-frame-pointer -funwind-tables;
> OTHER_CFLAGS_normal_LLVM_GCC_42 = $(OTHER_CFLAGS_normal_GCC_42);
> 
> “grep” clearly shows that we DO set -fomit-frame-pointer.

Interesting.  Thank you for the information.