|
VM: Clean up and fix bugs in instructions patterns
Fix bug in DecodeLoadWordFromPool: used Array::element_offset instead of ObjectPool::element_offset.
This only worked because they accidentally return the same value.
Remove virtual methods from InstructionsPatterns on ia32 and x64. Instead use a template for code reuse.
This avoids among others vtables for the *Pattern classes and saves >= 4K in VM binary code size.
BUG=
R=rmacnak@google.com
Committed: https://github.com/dart-lang/sdk/commit/b5966db69ed201a99c1eecddb3cf5fd22b759af6
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+158 lines, -201 lines) |
Patch |
|
M |
runtime/vm/code_patcher_ia32.cc
|
View
|
1
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/code_patcher_x64.cc
|
View
|
1
|
4 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
runtime/vm/instructions_arm.cc
|
View
|
|
1 chunk |
+1 line, -3 lines |
2 comments
|
Download
|
|
M |
runtime/vm/instructions_arm64.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/instructions_ia32.h
|
View
|
1
|
6 chunks |
+71 lines, -33 lines |
0 comments
|
Download
|
|
M |
runtime/vm/instructions_ia32.cc
|
View
|
|
1 chunk |
+0 lines, -55 lines |
0 comments
|
Download
|
|
M |
runtime/vm/instructions_mips.cc
|
View
|
|
1 chunk |
+1 line, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/instructions_x64.h
|
View
|
1
|
6 chunks |
+63 lines, -41 lines |
0 comments
|
Download
|
|
M |
runtime/vm/instructions_x64.cc
|
View
|
|
2 chunks |
+3 lines, -54 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_ia32.cc
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_x64.cc
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 5 (1 generated)
|