We can use this to fix the FIXME in emitAllocateWithNonNullAllocator().
Created attachment 288217 [details] proposed patch.
Looking into how to write a test for this now.
Comment on attachment 288217 [details] proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=288217&action=review You ought to be able to write a test in testb3 that checks that we are now using the 3-operand sub. > Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:568 > + NO_RETURN_DUE_TO_CRASH void sub32(RegisterID, RegisterID, RegisterID) > + { > + RELEASE_ASSERT_NOT_REACHED(); > + } > + Hmm. I think we have an opportunity to make live a lot easier for ourselves if we implement this. Here's a possible impl: sub32(a, b, c) { // Implement c = a - b if (c == b) { neg32(c); add32(a, c); return; } move(a, c); sub32(b, c); }
Created attachment 288310 [details] proposed patch with test added and feedback applied.
Thanks for the review. Landed in r205656: <http://trac.webkit.org/r205656>.