@@ -635,18 +635,18 @@ class JumpIfSuppliedFixup_O : public LabelFixup_O {
635635 LISP_CLASS (comp, CompPkg, JumpIfSuppliedFixup_O, " JumpIfSuppliedFixup" , LabelFixup_O);
636636
637637public:
638- uint8_t _index;
638+ uint16_t _index;
639639
640640public:
641- JumpIfSuppliedFixup_O (Label_sp label, uint8_t index) : LabelFixup_O(label, 3 ), _index(index) {}
641+ JumpIfSuppliedFixup_O (Label_sp label, uint16_t index) : LabelFixup_O(label, 3 ), _index(index) {}
642642 CL_LISPIFY_NAME (JumpIfSuppliedFixup/make)
643643 CL_DEF_CLASS_METHOD
644- static JumpIfSuppliedFixup_sp make (Label_sp label, uint8_t nindex) {
644+ static JumpIfSuppliedFixup_sp make (Label_sp label, uint16_t nindex) {
645645 return gctools::GC<JumpIfSuppliedFixup_O>::allocate<gctools::RuntimeStage>(label, nindex);
646646 }
647647
648648public:
649- uint8_t iindex () { return this ->_index ; }
649+ uint16_t iindex () { return this ->_index ; }
650650 virtual void emit (size_t position, SimpleVector_byte8_t_sp code);
651651 virtual size_t resize ();
652652};
@@ -816,6 +816,8 @@ class LoadTimeValueInfo_O : public General_O {
816816 bool _read_only_p;
817817
818818public:
819+ CL_LISPIFY_NAME (LoadTimeValueInfo/make)
820+ CL_DEF_CLASS_METHOD
819821 static LoadTimeValueInfo_sp make (T_sp form, bool read_only_p) {
820822 return gctools::GC<LoadTimeValueInfo_O>::allocate<gctools::RuntimeStage>(form, read_only_p);
821823 }
@@ -843,6 +845,8 @@ class ConstantInfo_O : public General_O {
843845public:
844846 T_sp _value; // the value of the constant.
845847public:
848+ CL_LISPIFY_NAME (ConstantInfo/make)
849+ CL_DEF_CLASS_METHOD
846850 static ConstantInfo_sp make (T_sp value) { return gctools::GC<ConstantInfo_O>::allocate<gctools::RuntimeStage>(value); }
847851
848852public:
@@ -863,6 +867,8 @@ class FunctionCellInfo_O : public General_O {
863867public:
864868 T_sp _fname; // Name of the function being looked up.
865869public:
870+ CL_LISPIFY_NAME (FunctionCellInfo/make)
871+ CL_DEF_CLASS_METHOD
866872 static FunctionCellInfo_sp make (T_sp fname) { return gctools::GC<FunctionCellInfo_O>::allocate<gctools::RuntimeStage>(fname); }
867873
868874public:
@@ -881,6 +887,8 @@ class VariableCellInfo_O : public General_O {
881887public:
882888 Symbol_sp _vname; // Name of the variable being looked up.
883889public:
890+ CL_LISPIFY_NAME (VariableCellInfo/make)
891+ CL_DEF_CLASS_METHOD
884892 static VariableCellInfo_sp make (Symbol_sp vname) {
885893 return gctools::GC<VariableCellInfo_O>::allocate<gctools::RuntimeStage>(vname);
886894 }
@@ -898,6 +906,8 @@ class EnvInfo_O : public General_O {
898906public:
899907 EnvInfo_O () {}
900908public:
909+ CL_LISPIFY_NAME (EnvInfo/make)
910+ CL_DEF_CLASS_METHOD
901911 static EnvInfo_sp make () {
902912 return gctools::GC<EnvInfo_O>::allocate<gctools::RuntimeStage>();
903913 }
@@ -1000,59 +1010,64 @@ class Cfunction_O : public General_O {
10001010 }
10011011 CL_DEFMETHOD Module_sp module () { return _module; }
10021012 CL_LISPIFY_NAME (cfunction/bytecode)
1003- CL_DEFMETHOD ComplexVector_byte8_t_sp bytecode() { return _bytecode; }
1004- CL_DEFMETHOD ComplexVector_T_sp annotations () { return _annotations; }
1013+ CL_DEFMETHOD ComplexVector_byte8_t_sp bytecode() const { return _bytecode; }
1014+ CL_DEFMETHOD ComplexVector_T_sp annotations () const { return _annotations; }
10051015 CL_LISPIFY_NAME (cfunction/debug-info)
1006- CL_DEFMETHOD ComplexVector_T_sp debug_info() { return _debug_info; }
1007- CL_DEFMETHOD size_t nlocals () { return _nlocals; }
1016+ CL_DEFMETHOD ComplexVector_T_sp debug_info() const { return _debug_info; }
1017+ CL_DEFMETHOD size_t nlocals () const { return _nlocals; }
10081018 CL_LISPIFY_NAME (Cfunction/setf-nlocals)
10091019 CL_DEFMETHOD size_t setNlocals(size_t new_nlocals) {
10101020 this ->_nlocals = new_nlocals;
10111021 return new_nlocals;
10121022 }
1013- CL_DEFMETHOD ComplexVector_T_sp closed () { return _closed; }
1023+ CL_DEFMETHOD ComplexVector_T_sp closed () const { return _closed; }
10141024 CL_LISPIFY_NAME (Cfunction/entry-point)
1015- CL_DEFMETHOD Label_sp entry_point() { return _entry_point; }
1025+ CL_DEFMETHOD Label_sp entry_point() const { return _entry_point; }
10161026 CL_LISPIFY_NAME (Cfunction/position)
1017- CL_DEFMETHOD size_t pposition() { return _position; }
1027+ CL_DEFMETHOD size_t pposition() const { return _position; }
10181028 CL_LISPIFY_NAME (Cfunction/setf-position)
10191029 CL_DEFMETHOD size_t setPosition(size_t npos) {
10201030 this ->_position = npos;
10211031 return npos;
10221032 }
1023- CL_DEFMETHOD size_t extra () { return _extra; }
1033+ CL_DEFMETHOD size_t extra () const { return _extra; }
10241034 CL_LISPIFY_NAME (Cfunction/setf-extra)
10251035 CL_LAMBDA(cfunction new ) // avoid name conflict with next
10261036 CL_DEFMETHOD size_t setExtra(size_t next) {
10271037 this ->_extra = next;
10281038 return next;
10291039 }
10301040 CL_LISPIFY_NAME (Cfunction/final_size)
1031- CL_DEFMETHOD size_t final_size() { return this ->bytecode ()->length () + this ->extra (); }
1041+ CL_DEFMETHOD size_t final_size() const { return this ->bytecode ()->length () + this ->extra (); }
10321042 CL_LISPIFY_NAME (Cfunction/index)
1033- CL_DEFMETHOD size_t iindex() { return _index; }
1043+ CL_DEFMETHOD size_t iindex() const { return _index; }
10341044 CL_LISPIFY_NAME (Cfunction/setf-index)
10351045 CL_DEFMETHOD size_t setIndex(size_t nindex) {
10361046 this ->_index = nindex;
10371047 return nindex;
10381048 }
1039- CL_DEFMETHOD BytecodeSimpleFun_sp info () { return _info; }
1049+ CL_DEFMETHOD BytecodeSimpleFun_sp info () const { return _info; }
10401050 CL_LISPIFY_NAME (Cfunction/setf-info)
10411051 CL_DEFMETHOD BytecodeSimpleFun_sp setInfo(BytecodeSimpleFun_sp gbep) {
10421052 this ->_info = gbep;
10431053 return gbep;
10441054 }
10451055 CL_LISPIFY_NAME (Cfunction/name)
1046- CL_DEFMETHOD T_sp nname() { return _name; }
1047- CL_DEFMETHOD T_sp doc () { return _doc; }
1056+ CL_DEFMETHOD T_sp nname() const { return _name; }
1057+ CL_DEFMETHOD T_sp doc () const { return _doc; }
10481058 CL_LISPIFY_NAME (Cfunction/lambda-list)
1049- CL_DEFMETHOD T_sp lambda_list() { return _lambda_list; }
1050- T_sp sourcePosInfo () { return _source_pos_info; }
1059+ CL_DEFMETHOD T_sp lambda_list() const { return _lambda_list; }
1060+ CL_LISPIFY_NAME (Cfunction/source-pos-info)
1061+ CL_DEFMETHOD T_sp sourcePosInfo() const { return _source_pos_info; }
10511062
10521063public:
10531064 // Convenience method to link the module and return the new bytecode function
10541065 // corresponding to this cfunction. Good for cl:compile.
10551066 CL_DEFMETHOD Function_sp link_function ();
1067+ public:
1068+ // For use as a BytecodeDebugInfo.
1069+ T_sp start () const ;
1070+ T_sp end () const ;
10561071};
10571072
10581073// Main entry point
0 commit comments