Bug 74807 - It should be possible to change the value of an Options variable without recompiling the world
Summary: It should be possible to change the value of an Options variable without reco...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2011-12-18 02:31 PST by Filip Pizlo
Modified: 2011-12-21 14:41 PST (History)
2 users (show)

See Also:


Attachments
the patch (10.74 KB, patch)
2011-12-19 16:39 PST, Filip Pizlo
barraclough: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2011-12-18 02:31:02 PST
Patch forthcoming.
Comment 1 Filip Pizlo 2011-12-19 16:39:08 PST
Created attachment 119948 [details]
the patch
Comment 2 Filip Pizlo 2011-12-19 17:07:18 PST
<rdar://problem/10604755>
Comment 3 Filip Pizlo 2011-12-19 17:12:25 PST
Landed in http://trac.webkit.org/changeset/103286
Comment 4 Andy Wingo 2011-12-21 14:36:56 PST
Hi Filip,

Was this a simple reversion of bug 72938?

Do you have any more specific feedback for me?

Thanks,

Andy
Comment 5 Filip Pizlo 2011-12-21 14:41:52 PST
(In reply to comment #4)
> Hi Filip,
> 
> Was this a simple reversion of bug 72938?

Yes, it was.

> 
> Do you have any more specific feedback for me?

JavaScriptCore is not meant to be used on the command-line, but rather, as a framework. Often the only practical way to change a heuristic is to recompile.  And if I have to do that, then I don't want to have to recompile the whole world.

Hence why Options variables were originally defined in a C++ file as out-of-line constants.

While I like your change, since it reduces code duplication, it means that to change an Options value I have to edit Options.h, which is included in a bunch of places, causing nearly a world-recompile.  This is especially annoying when I'm debugging, profiling, and optimizing WebKit.

-F