Message from discussion
Improve page flag checking sequence on ARM. (issue 11090021)
Received: by 10.236.189.105 with SMTP id b69mr14918557yhn.2.1349787279642;
Tue, 09 Oct 2012 05:54:39 -0700 (PDT)
X-BeenThere: v8-dev@googlegroups.com
Received: by 10.236.187.39 with SMTP id x27ls10065075yhm.4.gmail; Tue, 09 Oct
2012 05:54:38 -0700 (PDT)
Received: by 10.236.35.52 with SMTP id t40mr15231306yha.31.1349787278854;
Tue, 09 Oct 2012 05:54:38 -0700 (PDT)
Received: by 10.236.35.52 with SMTP id t40mr15231305yha.31.1349787278845;
Tue, 09 Oct 2012 05:54:38 -0700 (PDT)
Return-Path: <3jh50UBUJACUDISPNJVNDPEFSFWJFX-ISHNBJM....@2uix4h7xygsz66weerlq.apphosting.bounces.google.com>
Received: from mail-yh0-f71.google.com (mail-yh0-f71.google.com [209.85.213.71])
by gmr-mx.google.com with ESMTPS id l20si115693yhi.2.2012.10.09.05.54.38
(version=TLSv1/SSLv3 cipher=OTHER);
Tue, 09 Oct 2012 05:54:38 -0700 (PDT)
Received-SPF: pass (google.com: domain of 3jh50UBUJACUDISPNJVNDPEFSFWJFX-ISHNBJM....@2uix4h7xygsz66weerlq.apphosting.bounces.google.com designates 209.85.213.71 as permitted sender) client-ip=209.85.213.71;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of 3jh50UBUJACUDISPNJVNDPEFSFWJFX-ISHNBJM....@2uix4h7xygsz66weerlq.apphosting.bounces.google.com designates 209.85.213.71 as permitted sender) smtp.mail=3jh50UBUJACUDISPNJVNDPEFSFWJFX-ISHNBJM....@2uix4h7xygsz66weerlq.apphosting.bounces.google.com; dkim=pass header...@chromium.org
Received: by mail-yh0-f71.google.com with SMTP id 56so6811893yhq.10
for <v8-dev@googlegroups.com>; Tue, 09 Oct 2012 05:54:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=chromium.org; s=google;
h=mime-version:reply-to:x-google-appengine-app-id:message-id:date
:subject:from:to:cc:content-type;
bh=U8hq/af8e+8DwIT4GPSbhJuuWwccLpbvySFF4NjyA1A=;
b=UVgj+b5pZs7MrjGqvNUI2+1sagYS+J6mIFf/N9iYugz3IFGUQgk68ipDEUhu08TxAB
WIz2VbjfuPaRevN76s3U6WfMYBuYvMRJzbefP1kycGvFE+XCwr7kek8ye5dpoU/Uepzg
YDIGs6APp6S75gJ0oSLpHWkaIKGVp+kGzPhho=
d=google.com; s=20120113;
h=mime-version:reply-to:x-google-appengine-app-id:message-id:date
:subject:from:to:cc:content-type:x-gm-message-state;
bh=U8hq/af8e+8DwIT4GPSbhJuuWwccLpbvySFF4NjyA1A=;
b=YeSxjgugqQHAc5ALGY44Qily9XRTVK29A19EfBYEAHrnx+jbjcZL4FjYGxicaBk3rO
lQdsqI22+8SMAV9mJjAqNAq/C9yTNLnUkcXwhQyl8rfFlxZjuMmFSZMZ9QWI8GOo67eH
NEJgChNki8eRuNnMjttLYF/9ZDcft9pUHml4xZNLB5F5iZ9wcm8+O+NTNpTbdSWnsVW/
YclMOr/mitcINUuZlkaJFecWT5rRK0zlbpkL5k1jZ9qwqyYeLdra+DrxK1sbGz8lmY2R
Mmr19VKNJ6+5LfyF2bFvX0gYFwkJCbePvcrIUju4rX/Kc4GgWIDdm2b5KnFZMg6GxvY9
WRWQ==
MIME-Version: 1.0
Received: by 10.58.180.134 with SMTP id do6mr5298826vec.5.1349787278620; Tue,
09 Oct 2012 05:54:38 -0700 (PDT)
Reply-To: mstarzin...@chromium.org, u...@chromium.org, j...@chromium.org,
v8-dev@googlegroups.com
Message-ID: <047d7b5d468043b9e904cb9fd...@google.com>
Date: Tue, 09 Oct 2012 12:54:38 +0000
Subject: Improve page flag checking sequence on ARM. (issue 11090021)
From: mstarzin...@chromium.org
To: u...@chromium.org, j...@chromium.org
Cc: v8-dev@googlegroups.com
Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes
X-Gm-Message-State: ALoCoQlJueo/wM46e18k5E0hOnSDk431DyjttB/jBU+RVtIutP21+uXq4qb6Yab7WMosl0STmsCN
Reviewers: ulan, JF,
Description:
Improve page flag checking sequence on ARM.
R=u...@chromium.org
Please review this at https://codereview.chromium.org/11090021/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/arm/macro-assembler-arm.cc
Index: src/arm/macro-assembler-arm.cc
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
index
cc7fc4d3a4203706ce0a9cccee63e43d2adbdbb2..cf95e77f0771c346e28c31943a50f0861dae587b
100644
--- a/src/arm/macro-assembler-arm.cc
+++ b/src/arm/macro-assembler-arm.cc
@@ -3497,7 +3497,8 @@ void MacroAssembler::CheckPageFlag(
int mask,
Condition cc,
Label* condition_met) {
- and_(scratch, object, Operand(~Page::kPageAlignmentMask));
+ Move(scratch, object);
+ Bfc(scratch, 0, kPageSizeBits);
ldr(scratch, MemOperand(scratch, MemoryChunk::kFlagsOffset));
tst(scratch, Operand(mask));
b(cc, condition_met);