Message from discussion
Improve page flag checking sequence on ARM. (issue 11090021)
Received: by 10.236.129.106 with SMTP id g70mr15256202yhi.49.1349791649389;
Tue, 09 Oct 2012 07:07:29 -0700 (PDT)
X-BeenThere: v8-dev@googlegroups.com
Received: by 10.236.92.236 with SMTP id j72ls8249973yhf.1.gmail; Tue, 09 Oct
2012 07:07:28 -0700 (PDT)
Received: by 10.236.191.73 with SMTP id f49mr2369909yhn.4.1349791648510;
Tue, 09 Oct 2012 07:07:28 -0700 (PDT)
Received: by 10.236.191.73 with SMTP id f49mr2369907yhn.4.1349791648498;
Tue, 09 Oct 2012 07:07:28 -0700 (PDT)
Return-Path: <3oC90UBUJAFk38IFD9LD3F45I5M95N-8I7D19C....@2uix4h7xygsz66weerlq.apphosting.bounces.google.com>
Received: from mail-gg0-f198.google.com (mail-gg0-f198.google.com [209.85.161.198])
by gmr-mx.google.com with ESMTPS id i27si4588261yhe.4.2012.10.09.07.07.28
(version=TLSv1/SSLv3 cipher=OTHER);
Tue, 09 Oct 2012 07:07:28 -0700 (PDT)
Received-SPF: pass (google.com: domain of 3oC90UBUJAFk38IFD9LD3F45I5M95N-8I7D19C....@2uix4h7xygsz66weerlq.apphosting.bounces.google.com designates 209.85.161.198 as permitted sender) client-ip=209.85.161.198;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of 3oC90UBUJAFk38IFD9LD3F45I5M95N-8I7D19C....@2uix4h7xygsz66weerlq.apphosting.bounces.google.com designates 209.85.161.198 as permitted sender) smtp.mail=3oC90UBUJAFk38IFD9LD3F45I5M95N-8I7D19C....@2uix4h7xygsz66weerlq.apphosting.bounces.google.com
Received: by mail-gg0-f198.google.com with SMTP id o1so8388626ggn.5
for <v8-dev@googlegroups.com>; Tue, 09 Oct 2012 07:07:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.58.73.135 with SMTP id l7mr33949vev.13.1349791648040; Tue, 09
Oct 2012 07:07:28 -0700 (PDT)
Reply-To: mstarzin...@chromium.org, u...@chromium.org, j...@chromium.org,
j...@google.com, v8-dev@googlegroups.com
Message-ID: <047d7b6d8cecb3c85204cba0db98@google.com>
Date: Tue, 09 Oct 2012 14:07:28 +0000
Subject: Re: Improve page flag checking sequence on ARM. (issue 11090021)
From: m.m.capew...@googlemail.com
To: mstarzin...@chromium.org, u...@chromium.org, j...@chromium.org,
j...@google.com
Cc: v8-dev@googlegroups.com
Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes
> So just to clarify. Do you think that the two-shift-approach would perform
> better than move+bfc on ARMv7? That would surprise me, but I am no ARM
> expert.
If you look at the A9 Technical Reference Manual, this page explains that
BFC is
a two cycle instructions, whereas MOV with constant shift is single cycle:
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0388i/Chdgjcci.html
So shift right/left will be two cycles, and MOV + BFC three. However, if the
source and destination register are the same, only BFC would be required,
and
would take two cycles with slightly smaller code.
The only way to be sure is to benchmark it ;)
https://codereview.chromium.org/11090021/