EVALUATION
The submitter is correct. This problem was introduced by the hopper fix for
bug 4676548 - Buffer-put operations too slow when direct and non-direct buffers
are mixed.
-- iag@sfbay 2002-11-21
Regression from 1.4.0. Should fix in 1.4.2. -- ###@###.### 2002/12/2
The problem was in the bulk put method defined in Direct-X-Buffer.java, which
was using src.array() and src.arrayOffset() to access the backing array of a
source heap buffer. The fix is to use the fields behind these accessors,
thereby bypassing the read-only checks. This is completely safe since we're
only copying from the source buffer, not writing to it.
I've also verified that the performance of the new code is in line with the
other cases, using a variant of the BufferPutSpeed test from 4676548.
-- ###@###.### 2002/12/9
|