Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion r12623 committed - Fix ARM bug introduced in r12604 that caused crashes on ARM...

Received: by 10.236.182.201 with SMTP id o49mr2157136yhm.35.1348731966804;
        Thu, 27 Sep 2012 00:46:06 -0700 (PDT)
X-BeenThere: v8-dev@googlegroups.com
Received: by 10.236.149.34 with SMTP id w22ls4296517yhj.8.gmail; Thu, 27 Sep
 2012 00:46:06 -0700 (PDT)
Received: by 10.236.115.6 with SMTP id d6mr2477215yhh.40.1348731966101;
        Thu, 27 Sep 2012 00:46:06 -0700 (PDT)
Received: by 10.236.115.6 with SMTP id d6mr2477214yhh.40.1348731966084;
        Thu, 27 Sep 2012 00:46:06 -0700 (PDT)
Return-Path: <3PQRkUBAKBl48K9AOEPA-JKNALHUCKKCHA.8KIRe-9ARCKKCHACNKQLO....@codesite.bounces.google.com>
Received: from mail-yx0-f203.google.com (mail-yx0-f203.google.com [209.85.213.203])
        by gmr-mx.google.com with ESMTPS id u17si595880ank.0.2012.09.27.00.46.06
        (version=TLSv1/SSLv3 cipher=OTHER);
        Thu, 27 Sep 2012 00:46:06 -0700 (PDT)
Received-SPF: pass (google.com: domain of 3PQRkUBAKBl48K9AOEPA-JKNALHUCKKCHA.8KIRe-9ARCKKCHACNKQLO....@codesite.bounces.google.com designates 209.85.213.203 as permitted sender) client-ip=209.85.213.203;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of 3PQRkUBAKBl48K9AOEPA-JKNALHUCKKCHA.8KIRe-9ARCKKCHACNKQLO....@codesite.bounces.google.com designates 209.85.213.203 as permitted sender) smtp.mail=3PQRkUBAKBl48K9AOEPA-JKNALHUCKKCHA.8KIRe-9ARCKKCHACNKQLO....@codesite.bounces.google.com; dkim=pass header...@google.com
Received: by yenr5 with SMTP id r5so6390yen.0
        for <v8-dev@googlegroups.com>; Thu, 27 Sep 2012 00:46:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20120113;
        h=mime-version:x-generated-by:message-id:date:subject:from:to
         :content-type;
        bh=kpJ9h1aCH0+CwfAJ4ejeeMzKor4CmQYhpeMwHrW5odw=;
        b=jGI7KUr0XDcXeXAAEqi1HvaUjkiDIqTmaBKqf8AEAApSimd5beDKdYnO/pOfCOWwik
         F9QycJJZw1eH+w/G1RmdZKFZcJb5RfbeyDYbFSFgVK0HzwetTR4wLyb8rdqvKDudsl62
         3CbTQ3FuwOvAFavTYiGC4/N4hEJ43hyryZ0ai3i/tomz9tKpwxvLiz4eI8+JRFuTA2Re
         vmbKeaCYNI0ym/zn8M1O19GSUYWyal2EDySbc2vLVzCe1h+baOEEC2RukJfMrKAXxpZt
         GRSXVDJvIGIfRGSCziSIGdXQ37mCU6PiLQ5OzkTL15hJUJZrQxJvozfCo8gVVn3RPdm5
         d1VA==
MIME-Version: 1.0
Received: by 10.224.223.84 with SMTP id ij20mr2388442qab.5.1348731965910; Thu,
 27 Sep 2012 00:46:05 -0700 (PDT)
X-Generated-By: Google Code
Message-ID: <20cf3074b548b9b20104caaa2...@google.com>
Date: Thu, 27 Sep 2012 07:46:05 +0000
Subject: [v8] r12623 committed - Fix ARM bug introduced in r12604 that caused
 crashes on ARM...
From: codesite-nore...@google.com
To: v8-dev@googlegroups.com
Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes

Revision: 12623
Author:   erik.co...@gmail.com
Date:     Thu Sep 27 00:45:49 2012
Log:      Fix ARM bug introduced in r12604 that caused crashes on ARM
on crypto-md5 from SunSpider.  Bug=152402
Review URL: https://chromiumcodereview.appspot.com/10991045
http://code.google.com/p/v8/source/detail?r=12623

Modified:
  /branches/bleeding_edge/src/arm/code-stubs-arm.cc
  /branches/bleeding_edge/src/arm/ic-arm.cc
  /branches/bleeding_edge/src/arm/macro-assembler-arm.cc
  /branches/bleeding_edge/src/arm/macro-assembler-arm.h
  /branches/bleeding_edge/src/arm/stub-cache-arm.cc

=======================================
--- /branches/bleeding_edge/src/arm/code-stubs-arm.cc	Wed Sep 26 04:35:42  
2012
+++ /branches/bleeding_edge/src/arm/code-stubs-arm.cc	Thu Sep 27 00:45:49  
2012
@@ -7561,7 +7561,9 @@
    // Array literal has ElementsKind of FAST_DOUBLE_ELEMENTS.
    __ bind(&double_elements);
    __ ldr(r5, FieldMemOperand(r1, JSObject::kElementsOffset));
-  __ StoreNumberToDoubleElements(r0, r3, r1, r5, r6, r7, r9, r2,
+  __ StoreNumberToDoubleElements(r0, r3, r1,
+                                 // Overwrites all regs after this.
+                                 r5, r6, r7, r9, r2,
                                   &slow_elements);
    __ Ret();
  }
=======================================
--- /branches/bleeding_edge/src/arm/ic-arm.cc	Tue Sep 25 06:35:42 2012
+++ /branches/bleeding_edge/src/arm/ic-arm.cc	Thu Sep 27 00:45:49 2012
@@ -1380,8 +1380,8 @@
    __ StoreNumberToDoubleElements(value,
                                   key,
                                   receiver,
-                                 elements,
-                                 r3,
+                                 elements,  // Overwritten.
+                                 r3,        // Scratch regs...
                                   r4,
                                   r5,
                                   r6,
=======================================
--- /branches/bleeding_edge/src/arm/macro-assembler-arm.cc	Tue Sep 25  
07:32:07 2012
+++ /branches/bleeding_edge/src/arm/macro-assembler-arm.cc	Thu Sep 27  
00:45:49 2012
@@ -1988,7 +1988,7 @@
      destination = FloatingPointHelper::kCoreRegisters;
    }

-  Register untagged_value = receiver_reg;
+  Register untagged_value = elements_reg;
    SmiUntag(untagged_value, value_reg);
    FloatingPointHelper::ConvertIntToDouble(this,
                                            untagged_value,
=======================================
--- /branches/bleeding_edge/src/arm/macro-assembler-arm.h	Tue Sep 25  
07:32:07 2012
+++ /branches/bleeding_edge/src/arm/macro-assembler-arm.h	Thu Sep 27  
00:45:49 2012
@@ -816,6 +816,7 @@
    void StoreNumberToDoubleElements(Register value_reg,
                                     Register key_reg,
                                     Register receiver_reg,
+                                   // All regs below here overwritten.
                                     Register elements_reg,
                                     Register scratch1,
                                     Register scratch2,
=======================================
--- /branches/bleeding_edge/src/arm/stub-cache-arm.cc	Fri Sep  7 02:01:54  
2012
+++ /branches/bleeding_edge/src/arm/stub-cache-arm.cc	Thu Sep 27 00:45:49  
2012
@@ -4686,6 +4686,7 @@
    __ StoreNumberToDoubleElements(value_reg,
                                   key_reg,
                                   receiver_reg,
+                                 // All registers after this are  
overwritten.
                                   elements_reg,
                                   scratch1,
                                   scratch2,