Bug 124365

Summary: REGRESSION(r159276): Lots of crashes for ARM builds
Product: WebKit Reporter: Julien Brianceau <jbriance>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: msaboff, ossy, rgabor, zherczeg
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 108645    
Attachments:
Description Flags
Rearrange ARM_EXTRA_GPRS in LLINT and fix cCallX macros.
msaboff: review-, msaboff: commit-queue-
Updated the prior patch oliver: review+

Description Julien Brianceau 2013-11-14 09:19:16 PST
Lots of crashes appeared for arm_traditional architecture since http://trac.webkit.org/changeset/159276

The issue is identified and I'll submit a patch soon
Comment 1 Julien Brianceau 2013-11-14 09:28:46 PST
Created attachment 216950 [details]
Rearrange ARM_EXTRA_GPRS in LLINT and fix cCallX macros.
Comment 2 Michael Saboff 2013-11-14 11:06:39 PST
Comment on attachment 216950 [details]
Rearrange ARM_EXTRA_GPRS in LLINT and fix cCallX macros.

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

> Source/JavaScriptCore/offlineasm/arm.rb:465
> +                $asm.puts "pop {r4-r6, r8-r12}"                

Since r12 is a global scratch, why do we need to save it?

> Source/JavaScriptCore/offlineasm/arm.rb:471
> +                $asm.puts "push {r4-r6, r8-r12}"

Ditto.
Comment 3 Michael Saboff 2013-11-14 11:34:27 PST
Created attachment 216964 [details]
Updated the prior patch
Comment 4 Michael Saboff 2013-11-14 11:41:02 PST
Committed r159298: <http://trac.webkit.org/changeset/159298>
Comment 5 Filip Pizlo 2013-11-14 11:47:31 PST
Comment on attachment 216964 [details]
Updated the prior patch

r=me too
Comment 6 Julien Brianceau 2013-11-14 15:22:13 PST
(In reply to comment #2)
> > Source/JavaScriptCore/offlineasm/arm.rb:465
> > +                $asm.puts "pop {r4-r6, r8-r12}"                
> 
> Since r12 is a global scratch, why do we need to save it?
> 
> > Source/JavaScriptCore/offlineasm/arm.rb:471
> > +                $asm.puts "push {r4-r6, r8-r12}"
> 
> Ditto.

You're right, that was not necessary. Thanks for the review & having landed it!