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

Side by Side Diff: runtime/vm/disassembler_ia32.cc

Issue 10453110: Implement optimized unary ops for ia32 as well. Fix a crash in disassembler. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/disassembler.h" 5 #include "vm/disassembler.h"
6 6
7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32. 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
8 #if defined(TARGET_ARCH_IA32) 8 #if defined(TARGET_ARCH_IA32)
9 #include "platform/utils.h" 9 #include "platform/utils.h"
10 #include "vm/allocation.h" 10 #include "vm/allocation.h"
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 const char* name_of_stub = StubCode::NameOfStub(addr); 423 const char* name_of_stub = StubCode::NameOfStub(addr);
424 if (name_of_stub != NULL) { 424 if (name_of_stub != NULL) {
425 Print(" [stub: "); 425 Print(" [stub: ");
426 Print(name_of_stub); 426 Print(name_of_stub);
427 Print("]"); 427 Print("]");
428 } else { 428 } else {
429 // Print only if jumping to entry point. 429 // Print only if jumping to entry point.
430 const Code& code = Code::Handle(Code::LookupCode(addr)); 430 const Code& code = Code::Handle(Code::LookupCode(addr));
431 if (!code.IsNull() && (code.EntryPoint() == addr)) { 431 if (!code.IsNull() && (code.EntryPoint() == addr)) {
432 const Function& function = Function::Handle(code.function()); 432 const Function& function = Function::Handle(code.function());
433 const char* name_of_function = function.ToFullyQualifiedCString(); 433 if (function.IsNull()) {
434 Print(" ["); 434 Print(" [ stub ]");
435 Print(name_of_function); 435 } else {
436 Print("]"); 436 const char* name_of_function = function.ToFullyQualifiedCString();
437 Print(" [");
438 Print(name_of_function);
439 Print("]");
440 }
437 } 441 }
438 } 442 }
439 } 443 }
440 } 444 }
441 445
442 446
443 int X86Decoder::PrintRightOperandHelper(uint8_t* modrmp, 447 int X86Decoder::PrintRightOperandHelper(uint8_t* modrmp,
444 RegisterNamePrinter register_printer) { 448 RegisterNamePrinter register_printer) {
445 int mod, regop, rm; 449 int mod, regop, rm;
446 GetModRm(*modrmp, &mod, &regop, &rm); 450 GetModRm(*modrmp, &mod, &regop, &rm);
(...skipping 1147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1594 human_buffer, 1598 human_buffer,
1595 sizeof(human_buffer), 1599 sizeof(human_buffer),
1596 pc); 1600 pc);
1597 pc += instruction_length; 1601 pc += instruction_length;
1598 } 1602 }
1599 } 1603 }
1600 1604
1601 } // namespace dart 1605 } // namespace dart
1602 1606
1603 #endif // defined TARGET_ARCH_IA32 1607 #endif // defined TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/flow_graph_compiler_ia32.h » ('j') | runtime/vm/intermediate_language_ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698