Mercurial > octave-nkf
diff src/TEMPLATE-INST/Array-jit.cc @ 15014:094bc0a145a1
Take into account different calling conventions
* src/TEMPLATE-INST/Array-jit.cc: Instantiate jit_function instead of
jit_operation::overload.
* src/pt-jit.cc: New test cases.
(operator<<): New overload.
(jit_type::jit_type): Initialize new fields.
(jit_function::jit_function, jit_function::name, jit_function::new_block,
jit_function::call, jit_function::argument, jit_function::do_return, jit_typeinfo::create_int, jit_typeinfo::intN): New function.
(jit_operation::add_overload, jit_typeinfo::add_print, jit_typeinfo::add_binary_op, jit_typeinfo::add_binary_icmp, jit_typeinfo::add_binary_fcmp, jit_typeinfo::create_function, jit_typeinfo::create_identity, jit_typeinfo::register_intrinsic, jit_typeinfo::mirror_binary): Use jit_function.
(jit_operation::overload): Renamed from get_overload and use jit_function.
(jit_typeinfo::initialize): Do not assign to instance.
(jit_typeinfo::jit_typeinfo): Assign to instance and deal with calling
conventions using jit_function.
(jit_typeinfo::wrap_complex, jit_convert::convert_llvm::create_call): Removed function.
(jit_call::infer): Call result instead of get_result.
(jit_convert::convert_llvm::visit): Use jit_function and jit_function::call.
* src/pt-jit.h (operator<<): New declaration.
(jit_convention::type): New enumeration.
(jit_type::jit_type): Move implementation to src/pt-jit.cc.
(jit_type::sret, jit_type::mark_sret, jit_type::pointer_arg,
jit_type::mark_pointer_arg, jit_type::pack, jit_type::set_pack,
jit_type::unpack, jit_type::set_unpack, jit_type::packed_type,
jit_type::set_packed_type): New functions.
(ASSIGN_ARG, JIT_EXPAND): New convenience macros.
(jit_function): New class.
(jit_operation::overload): Removed class.
(jit_operation::add_overload): Accept a jit_function instead of a jit_operation::overload.
(jit_operation::result): Rename from jit_operation::get_result.
(jit_operation::overload): Rename from jit_operation::get_overload.
(jit_operation::add_overload): Remove several overloads.
(jit_typeinfo::get_grab, jit_typeinfo::get_release, jit_typeinfo::cast, jit_typeinfo::do_cast, jit_typeinfo::mirror_binary, jit_call::overload, jit_call::needs_release, jit_extract_argument::overload, jit_store_argument::overload): Use jit_function
(jit_typeinfo::add_print): Remove unneeded parameter.
(jit_typeinfo::create_function): Use new parameters.
(jit_typeinfo::pack_complex, jit_typeinfo::unpack_complex): Make static.
(jit_typeinfo::intN, jit_typeinfo::create_int): New declarations.
(jit_call::jit_call): Use rename parameter.
(jit_call::operation): Rename from jit_call::function.
(jit_call::can_error): overload ().can_error is now a function.
(jit_call::print): Use moperation instead of mfunction.
(jit_convert::create_call): Removed function and declarations.
author | Max Brister <max@2bass.com> |
---|---|
date | Wed, 25 Jul 2012 06:40:15 -0500 |
parents | fd8d1a616be1 |
children |
line wrap: on
line diff
--- a/src/TEMPLATE-INST/Array-jit.cc Wed Jul 25 16:48:10 2012 +0100 +++ b/src/TEMPLATE-INST/Array-jit.cc Wed Jul 25 06:40:15 2012 -0500 @@ -33,8 +33,8 @@ #include "pt-jit.h" -NO_INSTANTIATE_ARRAY_SORT (jit_operation::overload); +NO_INSTANTIATE_ARRAY_SORT (jit_function); -INSTANTIATE_ARRAY (jit_operation::overload, OCTINTERP_API); +INSTANTIATE_ARRAY (jit_function, OCTINTERP_API); #endif