[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:00:48 PDT 2011


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


Oliver Hunt <oliver at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #107000|review?, commit-queue?      |review-, commit-queue-
               Flag|                            |




--- Comment #22 from Oliver Hunt <oliver at apple.com>  2011-09-11 14:00:48 PST ---
(From update of attachment 107000)
View in context: https://bugs.webkit.org/attachment.cgi?id=107000&action=review

> Source/JavaScriptCore/dfg/DFGDriver.cpp:47
> +    if (false) {
> +        switch (codeBlock->instructions().size() * sizeof(Instruction)) {
> +        case 11176:
> +            return false;
> +        default:
> +            break;
> +        }
> +    }

please to be removing the debugging code? :D

> 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

...

> Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:1184
> +#if DFG_OSR

ENABLE()

> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:176
> +#ifndef NDEBUG

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) 
?

> 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?

> 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.

-- 
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