Mercurial > hg > truffle
comparison src/share/vm/interpreter/interpreter.cpp @ 8151:b8f261ba79c6
Minimize diff to plain HotSpot version.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 07 Mar 2013 21:00:29 +0100 |
parents | 291ffc492eb6 |
children | b9a918201d47 |
comparison
equal
deleted
inserted
replaced
8150:b66f831ac5ab | 8151:b8f261ba79c6 |
---|---|
61 } | 61 } |
62 | 62 |
63 | 63 |
64 void InterpreterCodelet::print_on(outputStream* st) const { | 64 void InterpreterCodelet::print_on(outputStream* st) const { |
65 ttyLocker ttyl; | 65 ttyLocker ttyl; |
66 if (PrintInterpreter || PrintMachineCodeToFile) { | 66 |
67 | 67 if (PrintInterpreter) { |
68 st->cr(); | |
68 st->print_cr("----------------------------------------------------------------------"); | 69 st->print_cr("----------------------------------------------------------------------"); |
69 } | 70 } |
70 | 71 |
71 if (description() != NULL) st->print("%s ", description()); | 72 if (description() != NULL) st->print("%s ", description()); |
72 if (bytecode() >= 0 ) st->print("%d %s ", bytecode(), Bytecodes::name(bytecode())); | 73 if (bytecode() >= 0 ) st->print("%d %s ", bytecode(), Bytecodes::name(bytecode())); |
73 st->print_cr("[" INTPTR_FORMAT ", " INTPTR_FORMAT "] %d bytes", | 74 st->print_cr("[" INTPTR_FORMAT ", " INTPTR_FORMAT "] %d bytes", |
74 code_begin(), code_end(), code_size()); | 75 code_begin(), code_end(), code_size()); |
75 | 76 |
76 if (PrintInterpreter || PrintMachineCodeToFile) { | 77 if (PrintInterpreter) { |
78 st->cr(); | |
77 Disassembler::decode(code_begin(), code_end(), st, DEBUG_ONLY(_comments) NOT_DEBUG(CodeComments())); | 79 Disassembler::decode(code_begin(), code_end(), st, DEBUG_ONLY(_comments) NOT_DEBUG(CodeComments())); |
78 } | 80 } |
79 } | 81 } |
80 | 82 |
81 | 83 |
386 // Interpreter::deopt_entry(vtos, 0) like others | 388 // Interpreter::deopt_entry(vtos, 0) like others |
387 address AbstractInterpreter::deopt_reexecute_entry(Method* method, address bcp) { | 389 address AbstractInterpreter::deopt_reexecute_entry(Method* method, address bcp) { |
388 assert(method->contains(bcp), "just checkin'"); | 390 assert(method->contains(bcp), "just checkin'"); |
389 Bytecodes::Code code = Bytecodes::java_code_at(method, bcp); | 391 Bytecodes::Code code = Bytecodes::java_code_at(method, bcp); |
390 #if defined(COMPILER1) || defined(GRAAL) | 392 #if defined(COMPILER1) || defined(GRAAL) |
391 | |
392 if(code == Bytecodes::_athrow ) { | 393 if(code == Bytecodes::_athrow ) { |
393 return Interpreter::rethrow_exception_entry(); | 394 return Interpreter::rethrow_exception_entry(); |
394 } | 395 } |
395 #endif /* COMPILER1 */ | 396 #endif /* COMPILER1 */ |
396 return Interpreter::deopt_entry(vtos, 0); | 397 return Interpreter::deopt_entry(vtos, 0); |
432 case Bytecodes::_getfield : | 433 case Bytecodes::_getfield : |
433 case Bytecodes::_putfield : | 434 case Bytecodes::_putfield : |
434 case Bytecodes::_getstatic : | 435 case Bytecodes::_getstatic : |
435 case Bytecodes::_putstatic : | 436 case Bytecodes::_putstatic : |
436 case Bytecodes::_aastore : | 437 case Bytecodes::_aastore : |
437 #if defined(COMPILER1) | 438 #ifdef COMPILER1 |
438 | |
439 //special case of reexecution | 439 //special case of reexecution |
440 case Bytecodes::_athrow : | 440 case Bytecodes::_athrow : |
441 #endif | 441 #endif |
442 return true; | 442 return true; |
443 | 443 |