[Webkit-unassigned] [Bug 67826] JavaScriptCore does not have speculative->baseline OSR
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Sep 11 14:33:09 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=67826
--- Comment #23 from Filip Pizlo <fpizlo at apple.com> 2011-09-11 14:33:09 PST ---
> > Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:103
> > +#if DFG_OSR
>
> I'd prefer we used the ENABLE() style macros, e.g. ENABLE(DFG_OSR)
>
> > Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:109
> > +#if DFG_DEBUG_VERBOSE
>
> ENABLE() again
>
> > Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:113
> > +#if DFG_JIT_BREAK_ON_SPECULATION_FAILURE
>
> and again
>
> > Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:117
> > +#if DFG_VERBOSE_SPECULATION_FAILURE
>
> ...
>
I've filed a bug against this: https://bugs.webkit.org/show_bug.cgi?id=67907
> This seems more related to the presence or absence of VERBOSE logging rather than debug build vs. not debug build -- perhaps it should be
> #if ENABLE(....) || !defined(NDEBUG)
> ?
The goal there was to enable us to plant dump() statements wherever necessary when debugging, without having to enable DFG_DEBUG_VERBOSE, since in some (admittedly rare) situations DFG_DEBUG_VERBOSE causes too much output.
This isn't a big deal since I've happily browsed the interwebs with DFG_DEBUG_VERBOSE and was reasonably happy.
>
> > Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:219
> > + JSValue constant() const
> > + {
> > + ASSERT(m_technique == Constant);
> > + return JSValue::decode(m_source.constant);
> > + }
>
> Just for reference can a constant be a JSString? Does this end up relying on the containing code block for marking?
All constants come from the CodeBlock's constant pool, so yes.
>
> > Source/JavaScriptCore/runtime/JSGlobalData.h:239
> > + Vector<int64_t*> osrScratchBuffers;
>
> Honestly I think i'd prefer a Vector of vectors here -- If we really felt it would be beneficial we could come up with a more sensible "Array" class -> the absence of range checking in debug builds and the need to manually free the arrays is just a little icky to me.
Vector<void*> it is for now, as per our discussions on IRC.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list