Bug 101365
Summary: | Should ARMv7Assembler::replaceWithJump cache-flush the nop on page boundary | ||
---|---|---|---|
Product: | WebKit | Reporter: | Yong Li <yong.li.webkit> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | ||
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 108645 |
Yong Li
ARMv7Assembler::replaceWithJump() contains following code:
if (spansTwo4K) {
ptr[-2] = OP_NOP_T1;
ptr++;
}
After that, it calls linkJumpT4(ptr, to) and then cacheFlush(ptr - 2,
sizeof(uint16_t) * 2), so it doesn't cache-flush this instruction.
According to the comments, this seems a work around of a Cortex-A8 bug.
I'm not sure if we should make sure the nop instruction should also be
cache-flushed, because the instruction was probably nop anyway.
Also, these spansTwo4K are said to workaround a Cortex-A8 issue. Does this also give perf penalty to other cores?
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Yong Li
*** This bug has been marked as a duplicate of bug 102759 ***