Adding for X86(_64) for now, should be rolled out to other backends as necessary. These may allow more efficient code generation in some cases, avoiding the need for unnecessary register-register move instructions.
Created attachment 85624 [details] The patch Also adds a non-expilicit constructor to FunctionPtr, and an isSet method to Jump.
Attachment 85624 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1 Source/JavaScriptCore/assembler/X86Assembler.h:1403: movsd_rr is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:106: Should only a single space after a punctuation in a comment. [whitespace/comments] [5] Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:174: shift_amount is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:179: Extra space before ( in function call [whitespace/parens] [4] Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:289: shift_amount is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:294: Extra space before ( in function call [whitespace/parens] [4] Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:326: shift_amount is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:331: Extra space before ( in function call [whitespace/parens] [4] Total errors found: 8 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
fixed in r80972