Age | Commit message (Collapse) | Author | Files | Lines |
|
PSSRC files are now in 'gs/psi'.
GLSRC files are now in 'gs/base'.
This is to facilitate build modularization and merging in the ghostpdl
tree.
NOTE: msvc32.mak is now in psi, not src.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@9048 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
to Artifex Software, Inc.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@8022 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
discipline for color spaces. Previously, color spaces were allocated on
stack, on the heap, as sub-structures within other color space structures,
and were very commonly copied. Reference counting was used for the "params"
block of some, but not all, color spaces, but there were correctness
problems with that logic.
In addition, a number of "const" qualifiers have been removed, because
the action of bumping the reference count on an object is not consistent
with the C semantics of const.
This change is required to resolve problems with enhancement 688924. It
should also help with memory leaks.
Other clients, such as the PCL interpreter, will require changes to be
compatible. For simple device colorspaces, the change to gs_setcmykcolor()
(gscolor1.c) is representative of the code change required.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@7765 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@6651 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
DETAILS :
The goals is to remove globals from the system, this includes static
globals that would hinder multiple threads from running at once.
gs_lib_ctx is intended to be used as the opaque "handle" object
that a client would use to associate with a thread running through
the library. Independent of a gs or a language switch build, this
needs a new iapi2.h that allows the use of better job control from the
client side.
gs_lib_ctx is stashed under the gs_memory_t object and all memory objects
used by a thread refer to the same gs_lib_ctx. This storage location was
choosen as a convenence since a memory_t pointer is common throughout the
system. Most of the turmoil is adding memory_t pointers to functions that
used global variables but didn't have a memory pointer.
FILE stdin, stdout, stderr are one per process by default.
stdin and stdout may be changed but stderr may not.
FILE stderr is one per process and shouldn't be changed.
Note the stderr_fn is also one per process, changing this function pointer
will not help as most users of stderr printing do not have a thread handle.
Changing to a thread local storage mechanism can solve this.
gs_id's are currently per thread with each thread starting over at 1.
This can be moved to per process with mutexes if so desired.
A library context has a pointer to the top_of_system the intent is that this
a void handle avaliable to make top of the system calls without knowing the
data type. In a postscript only build this would be gs_main_instance but
in a language switched build this would be an object above that main_universe.
Other members of gs_lib_ctx_t are nothing more than global objects relocated
to this "bag". gs_name_table, dict_autoexpand are examples of this. There
are a few more globals that will be moved.
At the moment iapi is still constrained to one thread, since some of the
globals haven't been removed yet.
The display device's callback function setting is supported for now
but this interface should be changed to a sDEVICE style call.
gs_memory_t is the base type the abstract type gs_raw_memory_t is gone,
this means that all memory types must derive from gs_memory_t.
In addition to a pointer to the gs_lib_ctx there is a pointer to a
non_gc_memory this will always point to a non garbage collected memory,
it maybe the current object or an object below the current gargabe
collected memory space. This can be used were the previous code
used the global gs_malloc_memory. gs_malloc() now takes a memory pointer,
it finds the non-gc memory from a valid memory pointer and allocates from it.
The gdevbit device has an improved algorthym for converting from cmyk to rgb,
this is never used by postscript but for pcl rops it puts the k plane into rgb.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@5215 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
functions in the graphic state or halftone. Old code briefly left
effective_transfer pointing to garbage, which caused relocation of garbage
pointers and crash if GC happened at the right time.
Fix bug 687101
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@4343 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2925 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
files.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2745 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
RCSfile and Revision pair.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2241 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
Artifex Software's commercial release). References file LICENSE.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2234 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
Gill.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@1267 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
Ghostscript to AFPL Ghostscript, as well as some internal references to the
program name.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@729 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
space was a DeviceN space using the alternate space.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@542 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@1089 06663e23-700e-0410-b217-a244a6096597
|
|
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@1040 06663e23-700e-0410-b217-a244a6096597
|
|
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@857 06663e23-700e-0410-b217-a244a6096597
|
|
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@321 06663e23-700e-0410-b217-a244a6096597
|
|
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@318 06663e23-700e-0410-b217-a244a6096597
|
|
which included commits to RCS files with non-trunk default branches.
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@280 06663e23-700e-0410-b217-a244a6096597
|
|
which included commits to RCS files with non-trunk default branches.
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@258 06663e23-700e-0410-b217-a244a6096597
|
|
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@246 06663e23-700e-0410-b217-a244a6096597
|