Move gcc_jit_result implementation to a new files jit-result.{h|c}
[gcc.git] / gcc / jit / ChangeLog
1 2014-12-01 David Malcolm <dmalcolm@redhat.com>
2
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
9 header jit-result.h.
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
19 of implementation.
20 (gcc_jit_result_release): Likewise.
21
22 2014-12-01 David Malcolm <dmalcolm@redhat.com>
23
24 PR jit/63854
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.
35 (main): Likewise.
36 (docs/intro/tutorial04.rst): Update to reflect the above changes,
37 and to better spell out the lifetime of the compiled code.
38
39 2014-12-01 David Malcolm <dmalcolm@redhat.com>
40
41 PR jit/63854
42 * jit-builtins.c
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.
46 * jit-recording.c
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.
51 * jit-recording.h
52 (gcc::jit::recording::context::new_function_type): New method.
53
54 2014-12-01 David Malcolm <dmalcolm@redhat.com>
55
56 PR jit/63969
57 * jit-playback.c: Ensure that ctxt_progname is non-NULL.
58
59 2014-11-19 David Malcolm <dmalcolm@redhat.com>
60
61 PR jit/63854
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
76 wrapper_finalizer.
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.
81
82 * jit-playback.h
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.
101
102 * jit-recording.c
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.
109
110 * jit-recording.h (gcc::jit::recording::context): Convert fields
111 "m_mementos", "m_compound_types", "m_functions" from vec<> to
112 auto_vec <>.
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".
123 vec<> to auto_vec<>.
124 (gcc::jit::recording::call): Likewise for field "m_args".
125 (gcc::jit::recording::call_through_ptr): Likewise.
126
127 2014-11-19 David Malcolm <dmalcolm@redhat.com>
128
129 PR jit/63854
130 * jit-recording.c (recording::function::validate): Convert
131 "worklist" from vec<> to autovec<> to fix a leak.
132
133 2014-11-11 David Malcolm <dmalcolm@redhat.com>
134
135 * ChangeLog.jit: New.
136 * ChangeLog: New.
137 * Make-lang.in: New.
138 * TODO.rst: 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.
145 * docs/conf.py: 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.
173 * jit-common.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.
179 * libgccjit.c: New.
180 * libgccjit.h: New.
181 * libgccjit.map: New.
182 * notes.txt: New.
183
184 2013-07-26 David Malcolm <dmalcolm@redhat.com>
185
186 * Initial creation
187
188 Copyright (C) 2013-2014 Free Software Foundation, Inc.
189
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.