[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