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

Issue 11085004: Faster 64-bit left-shift for ia32. (Closed)

Created:
8 years, 2 months ago by Florian Schneider
Modified:
8 years, 2 months ago
Reviewers:
srdjan
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Faster 64-bit left-shift for ia32. This CL adds a fast left-shift that operates on unboxed mints. (64-bit integers) to the ia32 optimizing compiler. Committed: https://code.google.com/p/dart/source/detail?r=13408

Patch Set 1 #

Patch Set 2 : refined checking of IC data #

Patch Set 3 : fixed overflow detection and added more tests. #

Patch Set 4 : removed unnecessary changes from assembler #

Total comments: 4

Patch Set 5 : addressed comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+103 lines, -24 lines) Patch
M runtime/vm/assembler_ia32.h View 1 3 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/assembler_ia32.cc View 1 3 2 chunks +12 lines, -0 lines 0 comments Download
M runtime/vm/assembler_ia32_test.cc View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 chunks +7 lines, -4 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 3 4 2 chunks +39 lines, -19 lines 0 comments Download
M tests/language/bit_operations_test.dart View 1 2 2 chunks +29 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Florian Schneider
8 years, 2 months ago (2012-10-08 14:44:40 UTC) #1
srdjan
LGTM with comments https://codereview.chromium.org/11085004/diff/4004/runtime/vm/assembler_ia32.cc File runtime/vm/assembler_ia32.cc (right): https://codereview.chromium.org/11085004/diff/4004/runtime/vm/assembler_ia32.cc#newcode1228 runtime/vm/assembler_ia32.cc:1228: EmitGenericShift(4, Operand(operand), shifter); Please add tests ...
8 years, 2 months ago (2012-10-09 00:43:45 UTC) #2
Florian Schneider
8 years, 2 months ago (2012-10-09 11:23:57 UTC) #3
https://codereview.chromium.org/11085004/diff/4004/runtime/vm/assembler_ia32.cc
File runtime/vm/assembler_ia32.cc (right):

https://codereview.chromium.org/11085004/diff/4004/runtime/vm/assembler_ia32....
runtime/vm/assembler_ia32.cc:1228: EmitGenericShift(4, Operand(operand),
shifter);
On 2012/10/09 00:43:45, srdjan wrote:
> Please add tests for both new instructions.

Done.

https://codereview.chromium.org/11085004/diff/4004/runtime/vm/intermediate_la...
File runtime/vm/intermediate_language_ia32.cc (right):

https://codereview.chromium.org/11085004/diff/4004/runtime/vm/intermediate_la...
runtime/vm/intermediate_language_ia32.cc:2421: __ j(ZERO, &done);  // Shift by 0
has is a nop.
On 2012/10/09 00:43:45, srdjan wrote:
> Fix comment.

Done.

Powered by Google App Engine
This is Rietveld 408576698