Skip to content

Commit d9e98eb

Browse files
committed
JavaCL: slight events tweak
1 parent 5b4ea12 commit d9e98eb

3 files changed

Lines changed: 15 additions & 12 deletions

File tree

‎Core/src/main/Header.vm‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,22 @@
3434

3535
#macro (declareEventsIn)
3636
int[] eventsInCount = new int[1];
37-
Pointer<cl_event> eventsIn = CLAbstractEntity.copyNonNullEntities(eventsToWaitFor, eventsInCount, ptrs.events_in);
37+
Pointer<cl_event> eventsIn =
38+
CLAbstractEntity.copyNonNullEntities(eventsToWaitFor, eventsInCount, ptrs.events_in);
3839
#end
3940

4041
#macro (declareEventOut)
41-
Pointer<cl_event> eventOut = CLEvent.new_event_out(eventsToWaitFor, ptrs.event_out);
42+
Pointer<cl_event> eventOut =
43+
eventsToWaitFor == null || CLEvent.containsFireAndForget(eventsToWaitFor)
44+
? null
45+
: ptrs.event_out;
4246
#end
4347

4448
#macro (declareEventsOutBlockable)
45-
Pointer<cl_event> eventOut = blocking ? null : CLEvent.new_event_out(eventsToWaitFor, ptrs.event_out);
49+
Pointer<cl_event> eventOut =
50+
blocking || eventsToWaitFor == null || CLEvent.containsFireAndForget(eventsToWaitFor)
51+
? null
52+
: ptrs.event_out;
4653
#end
4754

4855
#macro (declarePErr)

‎Core/src/main/velocity/com/nativelibs4java/opencl/CLEvent.java‎

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,16 +168,12 @@ public void run() {
168168
}.start();
169169
}
170170
171-
static Pointer<cl_event> new_event_out(CLEvent[] eventsToWaitFor, Pointer<cl_event> event_out) {
172-
if (eventsToWaitFor == null)
173-
return null;
174-
175-
for (int i = 0, n = eventsToWaitFor.length; i < n; i++) {
171+
static boolean containsFireAndForget(CLEvent[] eventsToWaitFor) {
172+
for (int i = eventsToWaitFor.length; i-- != 0;) {
176173
if (eventsToWaitFor[i] == FIRE_AND_FORGET)
177-
return null;
174+
return true;
178175
}
179-
180-
return event_out;
176+
return false;
181177
}
182178
183179
@Override

‎Core/src/main/velocity/com/nativelibs4java/opencl/ReusablePointers.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* @author ochafik
99
*/
10-
class ReusablePointers {
10+
final class ReusablePointers {
1111
public final ReusablePointer
1212
sizeT3_1 = new ReusablePointer(3 * SizeT.SIZE),
1313
sizeT3_2 = new ReusablePointer(3 * SizeT.SIZE),

0 commit comments

Comments
 (0)