From: erik.corry@gmail.com Date: Mon, 9 Jan 2012 13:33:59 +0000 (+0000) Subject: Use shift and add instead of mul on ARM for integer hash. X-Git-Tag: upstream/4.7.83~17645 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0264008354422c1cb5fde0996d6de9e4455fc553;p=platform%2Fupstream%2Fv8.git Use shift and add instead of mul on ARM for integer hash. Review URL: http://codereview.chromium.org/9153002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc index 470e322..fd9b568 100644 --- a/src/arm/macro-assembler-arm.cc +++ b/src/arm/macro-assembler-arm.cc @@ -1456,8 +1456,9 @@ void MacroAssembler::LoadFromNumberDictionary(Label* miss, // hash = hash ^ (hash >> 4); eor(t0, t0, Operand(t0, LSR, 4)); // hash = hash * 2057; - mov(t1, Operand(2057)); - mul(t0, t0, t1); + mov(t1, Operand(t0, LSL, 11)); + add(t0, t0, Operand(t0, LSL, 3)); + add(t0, t0, t1); // hash = hash ^ (hash >> 16); eor(t0, t0, Operand(t0, LSR, 16));