1 2014-12-01 David Malcolm <dmalcolm@redhat.com>
3 * Make-lang.in (jit_OBJS): Add jit/jit-result.o.
4 * jit-playback.c: Include new header jit-result.h.
5 (gcc::jit::result::result): Move to new file jit-result.c.
6 (gcc::jit::result::~result): Likewise.
7 (gcc::jit::playback::result): Likewise.
8 * jit-recording.h (class gcc::jit::result): Move to new
10 * jit-result.c: New file, to contain...
11 (gcc::jit::result::result): Move here from jit-playback.c,
12 removing erroneous "playback" namespace from comment.
13 (gcc::jit::result::~result): Likewise.
14 (gcc::jit::playback::result): Likewise.
15 * jit-result.h: New file, to contain...
16 (class gcc::jit::result): Move from jit-recording.h.
17 * libgccjit.c: Include jit-result.h.
18 (gcc_jit_result_get_code): Update comment to reflect move
20 (gcc_jit_result_release): Likewise.
22 2014-12-01 David Malcolm <dmalcolm@redhat.com>
25 * docs/examples/tut04-toyvm/toyvm.c
26 (toyvm_compiled_function): New typedef.
27 (toyvm_compiled_func) Rename to...
28 (toyvm_compiled_code) ...this.
29 (struct toyvm_compiled_function): New struct.
30 (toyvm_function_compile): Return a toyvm_compiled_function *
31 rather than a toyvm_compiled_func, so that the caller can fully
32 clean things up. Free "funcname".
33 (test_script): Update for change to toyvm_function_compile.
34 Clean up the toyvm_compiled_function.
36 (docs/intro/tutorial04.rst): Update to reflect the above changes,
37 and to better spell out the lifetime of the compiled code.
39 2014-12-01 David Malcolm <dmalcolm@redhat.com>
43 (gcc::jit::recording::builtins_manager::make_fn_type): Call the
44 context's new_function_type method, rather than directly creating
45 a function_type instance.
47 (gcc::jit::recording::context::new_function_type): New method,
48 adapted from part of...
49 (gcc::jit::recording::context::new_function_ptr_type): ...this.
50 Update to call new_function_type.
52 (gcc::jit::recording::context::new_function_type): New method.
54 2014-12-01 David Malcolm <dmalcolm@redhat.com>
57 * jit-playback.c: Ensure that ctxt_progname is non-NULL.
59 2014-11-19 David Malcolm <dmalcolm@redhat.com>
62 * jit-playback.c (gcc::jit::playback::compound_type::set_fields):
63 Convert param from const vec<playback::field *> & to
64 const auto_vec<playback::field *> *.
65 (gcc::jit::playback::context::new_function_type): Convert param
66 "param_types" from vec<type *> * to const auto_vec<type *> *.
67 (gcc::jit::playback::context::new_function): Convert param
68 "params" from vec<param *> * to const auto_vec<param *> *.
69 (gcc::jit::playback::context::build_call): Convert param "args"
70 from vec<rvalue *> to const auto_vec<rvalue *> *.
71 (gcc::jit::playback::context::new_call): Likewise.
72 (gcc::jit::playback::context::new_call_through_ptr): Likewise.
73 (wrapper_finalizer): New function.
74 (gcc::jit::playback::wrapper::operator new): Call the finalizer
75 variant of ggc_internal_cleared_alloc, supplying
77 (gcc::jit::playback::function::finalizer): New.
78 (gcc::jit::playback::block::finalizer): New.
79 (gcc::jit::playback::source_file::finalizer): New.
80 (gcc::jit::playback::source_line::finalizer): New.
83 (gcc::jit::playback::context::new_function_type): Convert param
84 "param_types" from vec<type *> * to const auto_vec<type *> *.
85 (gcc::jit::playback::context::new_function): Convert param
86 "params" from vec<param *> * to const auto_vec<param *> *.
87 (gcc::jit::playback::context::new_call): Convert param
88 "args" from vec<rvalue *> to const auto_vec<rvalue *> *.
89 (gcc::jit::playback::context::new_call_through_ptr): Likewise.
90 (gcc::jit::playback::context::build_call): Likewise.
91 (gcc::jit::playback::context): Convert fields "m_functions",
92 "m_source_files", "m_cached_locations" from vec to auto_vec.
93 (gcc::jit::playback::wrapper::finalizer): New virtual function.
94 (gcc::jit::playback::compound_type::set_fields): Convert param fro
95 const vec<playback::field *> & to
96 const auto_vec<playback::field *> *.
97 (gcc::jit::playback::function::finalizer): New.
98 (gcc::jit::playback::block::finalizer): New.
99 (gcc::jit::playback::source_file::finalizer): New.
100 (gcc::jit::playback::source_line::finalizer): New.
103 (gcc::jit::recording::function_type::replay_into): Convert local
104 from a vec into an auto_vec.
105 (gcc::jit::recording::fields::replay_into): Likewise.
106 (gcc::jit::recording::function::replay_into): Likewise.
107 (gcc::jit::recording::call::replay_into): Likewise.
108 (gcc::jit::recording::call_through_ptr::replay_into): Likewise.
110 * jit-recording.h (gcc::jit::recording::context): Convert fields
111 "m_mementos", "m_compound_types", "m_functions" from vec<> to
113 (gcc::jit::recording::function_type::get_param_types): Convert
114 return type from vec<type *> to const vec<type *> &.
115 (gcc::jit::recording::function_type): Convert field
116 "m_param_types" from a vec<> to an auto_vec<>.
117 (gcc::jit::recording::fields): Likewise for field "m_fields".
118 (gcc::jit::recording::function::get_params): Convert return type
119 from vec <param *> to const vec<param *> &.
120 (gcc::jit::recording::function): Convert fields "m_params",
121 "m_locals", "m_blocks" from vec<> to auto_vec<>.
122 (gcc::jit::recording::block): Likewise for field "m_statements".
124 (gcc::jit::recording::call): Likewise for field "m_args".
125 (gcc::jit::recording::call_through_ptr): Likewise.
127 2014-11-19 David Malcolm <dmalcolm@redhat.com>
130 * jit-recording.c (recording::function::validate): Convert
131 "worklist" from vec<> to autovec<> to fix a leak.
133 2014-11-11 David Malcolm <dmalcolm@redhat.com>
135 * ChangeLog.jit: New.
139 * config-lang.in: New.
140 * docs/Makefile: New.
141 * docs/_build/texinfo/Makefile: New.
142 * docs/_build/texinfo/factorial.png: New.
143 * docs/_build/texinfo/libgccjit.texi: New.
144 * docs/_build/texinfo/sum-of-squares.png: New.
146 * docs/examples/tut01-hello-world.c: New.
147 * docs/examples/tut02-square.c: New.
148 * docs/examples/tut03-sum-of-squares.c: New.
149 * docs/examples/tut04-toyvm/Makefile: New.
150 * docs/examples/tut04-toyvm/factorial.toy: New.
151 * docs/examples/tut04-toyvm/fibonacci.toy: New.
152 * docs/examples/tut04-toyvm/toyvm.c: New.
153 * docs/index.rst: New.
154 * docs/internals/index.rst: New.
155 * docs/intro/factorial.png: New.
156 * docs/intro/index.rst: New.
157 * docs/intro/sum-of-squares.png: New.
158 * docs/intro/tutorial01.rst: New.
159 * docs/intro/tutorial02.rst: New.
160 * docs/intro/tutorial03.rst: New.
161 * docs/intro/tutorial04.rst: New.
162 * docs/topics/contexts.rst: New.
163 * docs/topics/expressions.rst: New.
164 * docs/topics/functions.rst: New.
165 * docs/topics/index.rst: New.
166 * docs/topics/locations.rst: New.
167 * docs/topics/objects.rst: New.
168 * docs/topics/results.rst: New.
169 * docs/topics/types.rst: New.
170 * dummy-frontend.c: New.
171 * jit-builtins.c: New.
172 * jit-builtins.h: New.
174 * jit-playback.c: New.
175 * jit-playback.h: New.
176 * jit-recording.c: New.
177 * jit-recording.h: New.
178 * libgccjit++.h: New.
181 * libgccjit.map: New.
184 2013-07-26 David Malcolm <dmalcolm@redhat.com>
188 Copyright (C) 2013-2014 Free Software Foundation, Inc.
190 Copying and distribution of this file, with or without modification,
191 are permitted in any medium without royalty provided the copyright
192 notice and this notice are preserved.