1655 }
1656
1657 //-----------------------------------------------------------------------------
1658 // Generation of individual instructions
1659
1660 // helpers for generate_and_dispatch
1661
1662 InterpreterGenerator::InterpreterGenerator(StubQueue* code)
1663 : TemplateInterpreterGenerator(code) {
1664 generate_all(); // Down here so it can be "virtual".
1665 }
1666
1667 //-----------------------------------------------------------------------------
1668
1669 // Non-product code
1670 #ifndef PRODUCT
1671 address TemplateInterpreterGenerator::generate_trace_code(TosState state) {
1672 //__ flush_bundle();
1673 address entry = __ pc();
1674
1675 char *bname = NULL;
1676 uint tsize = 0;
1677 switch(state) {
1678 case ftos:
1679 bname = "trace_code_ftos {";
1680 tsize = 2;
1681 break;
1682 case btos:
1683 bname = "trace_code_btos {";
1684 tsize = 2;
1685 break;
1686 case ctos:
1687 bname = "trace_code_ctos {";
1688 tsize = 2;
1689 break;
1690 case stos:
1691 bname = "trace_code_stos {";
1692 tsize = 2;
1693 break;
1694 case itos:
1695 bname = "trace_code_itos {";
|
1655 }
1656
1657 //-----------------------------------------------------------------------------
1658 // Generation of individual instructions
1659
1660 // helpers for generate_and_dispatch
1661
1662 InterpreterGenerator::InterpreterGenerator(StubQueue* code)
1663 : TemplateInterpreterGenerator(code) {
1664 generate_all(); // Down here so it can be "virtual".
1665 }
1666
1667 //-----------------------------------------------------------------------------
1668
1669 // Non-product code
1670 #ifndef PRODUCT
1671 address TemplateInterpreterGenerator::generate_trace_code(TosState state) {
1672 //__ flush_bundle();
1673 address entry = __ pc();
1674
1675 const char *bname = NULL;
1676 uint tsize = 0;
1677 switch(state) {
1678 case ftos:
1679 bname = "trace_code_ftos {";
1680 tsize = 2;
1681 break;
1682 case btos:
1683 bname = "trace_code_btos {";
1684 tsize = 2;
1685 break;
1686 case ctos:
1687 bname = "trace_code_ctos {";
1688 tsize = 2;
1689 break;
1690 case stos:
1691 bname = "trace_code_stos {";
1692 tsize = 2;
1693 break;
1694 case itos:
1695 bname = "trace_code_itos {";
|