[Webkit-unassigned] [Bug 82013] New: CALLFRAME_OFFSET and EXCEPTION_OFFSET are same in ctiTrampoline on ARM Thumb2

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 22 21:57:49 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=82013

           Summary: CALLFRAME_OFFSET and EXCEPTION_OFFSET are same in
                    ctiTrampoline on ARM Thumb2
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: sg5.lee at samsung.com
                CC: barraclough at apple.com


CALLFRAME_OFFSET and EXCEPTION_OFFSET have same value in ctiTrampoline on ARM Thumb2 like followings:

In JITStubs.cpp

#elif (COMPILER(GCC) || COMPILER(RVCT)) && CPU(ARM_THUMB2)

#define THUNK_RETURN_ADDRESS_OFFSET      0x38
#define PRESERVED_RETURN_ADDRESS_OFFSET  0x3C
...
#define REGISTER_FILE_OFFSET             0x60
#define CALLFRAME_OFFSET                 0x64
#define EXCEPTION_OFFSET                 0x64
#define ENABLE_PROFILER_REFERENCE_OFFSET 0x68

I wonder it is intentional or not.

I think they should have different offset and back up register value in separate stack location.
( like on MIPS or other platforms )

#define CALLFRAME_OFFSET                 0x64
#define EXCEPTION_OFFSET                 0x68
#define ENABLE_PROFILER_REFERENCE_OFFSET 0x6C

Currently, since CALLFRAME and EXCEPTION have same offset, in ARM_THUMB2 ctiTrampoline code,

    "str r2, [sp, #" STRINGIZE_VALUE_OF(CALLFRAME_OFFSET) "]" "\n"

seems to be dead code.

The value in stack location is replaced by r3, with the immediately following statement 

    "str r3, [sp, #" STRINGIZE_VALUE_OF(EXCEPTION_OFFSET) "]" "\n"

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list