[webkit-reviews] review denied: [Bug 126393] CStack: Get the C Loop LLINT to build again. : [Attachment 220241] the patch.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jan 2 13:46:19 PST 2014
Michael Saboff <msaboff at apple.com> has denied Mark Lam <mark.lam at apple.com>'s
request for review:
Bug 126393: CStack: Get the C Loop LLINT to build again.
https://bugs.webkit.org/show_bug.cgi?id=126393
Attachment 220241: the patch.
https://bugs.webkit.org/attachment.cgi?id=220241&action=review
------- Additional Comments from Michael Saboff <msaboff at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=220241&action=review
r-
It seems to me that callToJavaScript should be calling the C Loop interpreter
and not the other way around. By having CLoop::execute() call into
callToJavaScript (renamed for the CLoop in this patch to
_llint_call_to_javascript) the CLoop is diverging from the LLInt.
CLoop::execute() is the entry point for the C Loop LLInt and that is what
callToJavaScript should call.
This patch also breaks 4 tests when compiled X86-64:
** The following JSC stress test failures have been introduced:
jsc-layout-tests.yaml/js/script-tests/function-apply-aliased.js.layout
jsc-layout-tests.yaml/js/script-tests/function-apply-aliased.js.layout-no-llint
jsc-layout-tests.yaml/js/script-tests/function-apply-aliased.js.layout-no-cjit
jsc-layout-tests.yaml/js/script-tests/function-apply-aliased.js.layout-dfg-eage
r-no-cjit
> Source/JavaScriptCore/llint/LLIntThunks.cpp:97
> +EncodedJSValue callToJavaScript(void* executableAddress, VM* vm,
ProtoCallFrame* protoCallFrame)
This should be renamed to cLoopCallToJavaScript() or callToJavaScriptCLoop()
and don't rename callToJavaScript().
> Source/JavaScriptCore/llint/LLIntThunks.cpp:103
> +EncodedJSValue callToNativeFunction(void* executableAddress, VM* vm,
ProtoCallFrame* protoCallFrame)
Same comment as callToJavaScript above. Rename this function not the one in
LowLevelInterpreter.asm
> Source/JavaScriptCore/llint/LowLevelInterpreter.asm:475
> +_llint_call_to_javascript:
Why a different name for the C Loop?
> Source/JavaScriptCore/llint/LowLevelInterpreter.asm:483
> +_llint_call_to_native_function:
Ditto.
> Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:247
> +JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM*
vm, ProtoCallFrame* protoCallFrame, bool isInitializationPass)
I don't like that the C Loop interpreter uses the ProtoCallFrame. We want it
to use a CallFrame just like the LLInt and other engines.
> Source/JavaScriptCore/offlineasm/cloop.rb:74
> + "t0"
Move the when "t0" to here as well.
> Source/JavaScriptCore/offlineasm/cloop.rb:75
> when "a1"
Move the when "t1" to here as well.
More information about the webkit-reviews
mailing list