Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(278)

Issue 23323002: ARM: Fix register misuse bug in Allocate(). (Closed)

Created:
7 years, 4 months ago by Benedikt Meurer
Modified:
7 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

ARM: Fix register misuse bug in Allocate(). The bug is triggered if flags contains DOUBLE_ALIGNMENT and the object_size is not an ARM immediate value. In this case, the code for DOUBLE_ALIGNMENT uses the scratch2 register, which is aliased to obj_size_reg containing the object_size. Instead of pre-loading the object_size, which is difficult since we are out of registers here, we simply generate a non-empty sequence of add instructions for the addition of the constant object_size (carefully handling possible overflow in each step). Also turn static ASSERT into STATIC_ASSERT in Allocate(). BUG=v8:2851 R=svenpanne@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=16221

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+21 lines, -15 lines) Patch
M src/arm/macro-assembler-arm.cc View 3 chunks +21 lines, -15 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Benedikt Meurer
PTAL
7 years, 4 months ago (2013-08-19 11:21:53 UTC) #1
Sven Panne
lgtm
7 years, 4 months ago (2013-08-19 12:50:27 UTC) #2
Benedikt Meurer
7 years, 4 months ago (2013-08-19 13:38:05 UTC) #3
Message was sent while issue was closed.
Committed patchset #1 manually as r16221.

Powered by Google App Engine
This is Rietveld 408576698