This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Java: [BC] Implement type assertion table


Tom Tromey wrote:

Bryce> Index: link.cc
[ ... ]
Bryce> +void
Bryce> +_Jv_Linker::verify_type_assertions (jclass klass)

Everything in _Jv_Linker should be independent of the execution engine
(there's one bogus exception). That's why all the interpreter-related
code is in interpret.cc. So it seems a little weird to put this code
here.



Doing the work to lay out indirect-dispatch tables and such is also "linking", but I agree that having the distinction between generic class layout and that which is specific to the BC-ABI may make sense. However, there is already native-code/BC-ABI-specific functions are already in _Jv_Linker - link_symbol_table(), link_exception_table(), etc. We could separate these out into some other class/file, specific to the BC-ABI?


OTOH if we plan to support this field in Class independent of the
engine, then we might as well just inline the code into
_Jv_Linker::verify_class().


No, I do think this is native code/BC-ABI specific.

Bryce> +      if (assertion_code == 0)
Bryce> +        // End of the table.
Bryce> +        return;

Should probably use JV_ASSERT_END_OF_TABLE instead of "0" here.


Right.

Regards,

Bryce


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]