Bug 117327

Summary: 32-bit CallFrame::Location should use Instruction* for BytecodeLocation, not bytecodeOffset
Product: WebKit Reporter: Mark Lam <mark.lam>
Component: JavaScriptCoreAssignee: Mark Lam <mark.lam>
Status: RESOLVED FIXED    
Severity: Normal CC: fpizlo, ggaren, mhahnenberg, msaboff, oliver
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
the patch. msaboff: review+

Description Mark Lam 2013-06-06 17:04:32 PDT
CallFrame::trueCallFrame() and DFG's reifyInlinedCallFrames() needs to be fixed for 32-bit code.  Will also fix CallFrame::Location to clearly differentiate between BytecodeInstruction (for 32-bit) and BytecodeOffset (for 64 bit).
Comment 1 Mark Lam 2013-06-06 17:40:06 PDT
Created attachment 203982 [details]
the patch.

Don't need to change CallFrame::trueCallFrame() after all.  CallFrame::setLocationAsBytecodeOffset() can take care of the necessary conversion.
Comment 2 Michael Saboff 2013-06-07 10:42:54 PDT
Comment on attachment 203982 [details]
the patch.

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

r=me

> Source/JavaScriptCore/ChangeLog:7
> +

Some comments as to what you did.

> Source/JavaScriptCore/interpreter/CallFrame.h:138
> +                BytecodeLocation = 0,
>                  CodeOriginIndex = (1 << 0),
>                  IsInlinedCode = (1 << 1),

I know some of this was from the earlier patch, but it may be less confusing if these where just literal values, 0, 1 & 2.
Comment 3 Mark Lam 2013-06-07 11:24:11 PDT
Thanks for the review.  Feedback applied, and landed in r151329: <http://trac.webkit.org/changeset/151329>.