[webkit-reviews] review granted: [Bug 183756] Improve FunctionPtr and use it in the JIT CallRecord. : [Attachment 336091] proposed patch w/ 32-bit build fix.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 19 21:25:18 PDT 2018


JF Bastien <jfbastien at apple.com> has granted  review:
Bug 183756: Improve FunctionPtr and use it in the JIT CallRecord.
https://bugs.webkit.org/show_bug.cgi?id=183756

Attachment 336091: proposed patch w/ 32-bit build fix.

https://bugs.webkit.org/attachment.cgi?id=336091&action=review




--- Comment #7 from JF Bastien <jfbastien at apple.com> ---
Comment on attachment 336091
  --> https://bugs.webkit.org/attachment.cgi?id=336091
proposed patch w/ 32-bit build fix.

View in context: https://bugs.webkit.org/attachment.cgi?id=336091&action=review

r=me modulo EWS.

> Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:81
> +    FunctionPtr(ReturnType(CDECL *value)(Arguments...), PtrTag tag =
CFunctionPtrTag)

Does it matter that this is CDECL (and below, FASTCALL), as opposed to the
default calling convention? It seems like you could have a different PtrTag for
those.

> Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:225
> +	   return MacroAssemblerCodePtr(retagCodePtr(executableAddress(),
oldTag, newTag));

Are there any relationships that we want to enforce between tags? Like if
there's a lattice of tags, we could have a debug assert here that the PtrTags
are compatible (that function would come from the PtrTag header).


More information about the webkit-reviews mailing list