DescriptionOptimize instanceof further
If the instance of is performed against what is beliwed to be a constant global function inline the instance of check and have the call to the instanceof stub in deferred code. The inlined check will be patched by the instanceof stub when called from deferred code. This is indicated by the lithium instruction LInstanceOfKnownGlobal.
To help the patching the delta from the return address to the patch site is placed just below the return address in the edi slot of the pushad/popad ares. This is safe because the edi register (which is pushed last) is a temporary for the lithium instruction.
As the instanceof stub can call other JavaScript an additional marking for saving all double registers have been added.
Also tweaked the instanceof stub to produce true/false objects instead of 0/1 for the case with deferred code.
Committed: http://code.google.com/p/v8/source/detail?r=6173
Patch Set 1 #Patch Set 2 : '' #
Total comments: 40
Patch Set 3 : '' #
Total comments: 4
Patch Set 4 : '' #Patch Set 5 : '' #
Messages
Total messages: 6 (0 generated)
|