|
A few fixes for ARMv5TE.
This CL:
- Adds SupportsHardwareDivision() to FlowGraphCompiler.
In FlowGraphOptimizer, if SupportsHardwareDivision()
is false, Smi and Mint division operations are not
inlined.
- Reduces the supported addressing modes for ldrd, strd.
For ARMv6 and up, the address only needs to be 4-byte
aligned, for ARMv5TE and below the address must be
8-byte aligned. So, on ARMv5TE, we can split these
each into two instructions, which is easier to do if
the addressing modes are restricted to base + offset,
which is all we were using anyway.
- Uses the smull instruction on ARMv5TE and ARMv6. I don't
remember why it was disabled, and the docs say
it is supported. Verified working on ARMv5TE hardware.
- Fixes a bug in OSR frame entry caused by the
difference between the PC read offset in store vs.
other instructions.
- Fixes assembler tests that have a float return for
targets without vfp.
R=regis@google.com
Committed: https://code.google.com/p/dart/source/detail?r=44788
Total comments: 16
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+510 lines, -859 lines) |
Patch |
|
M |
runtime/vm/assembler_arm.h
|
View
|
|
2 chunks |
+5 lines, -9 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm.cc
|
View
|
|
9 chunks |
+25 lines, -74 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm_test.cc
|
View
|
1
|
121 chunks |
+388 lines, -614 lines |
0 comments
|
Download
|
|
M |
runtime/vm/cpu_arm.cc
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm64.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_ia32.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_mips.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_x64.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_optimizer.cc
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_arm.cc
|
View
|
|
15 chunks |
+37 lines, -124 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_arm.cc
|
View
|
|
9 chunks |
+18 lines, -28 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object_test.cc
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/os_linux.cc
|
View
|
1
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/regexp_parser.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/simulator_arm.cc
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
Total messages: 8 (2 generated)
|