11 Commits

Author SHA1 Message Date
fur
90721aa429 + Fixed heap corruption caused by free'ing of an uninitialized pointer.
+ Changed the way JS wrapper functions for Java instance methods are constructed.

  Previously, these were computed the first time that an instance method was
  accessed for a particular JavaObject and cached in the native, private portion
  of that JavaObject.  However, the required call to JS_AddRoot() causes an root
  to appear as a link in a cyclical graph, leading to uncollectible objects, i.e.
  the JavaObject has a root pointer to the function object and the function has
  a parent that points back to the JavaObject.  Now, we compute the functions
  at the time a class is reflected and use JS_CloneFunctionObject() each time
  a JS wrapper function is needed, which is slower, but avoids this GC problem.


git-svn-id: svn://10.0.0.236/trunk@5005 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-03 15:50:16 +00:00
fur
c583e2e8f7 Fix Win32 warnings that were introduced as a result of curing Mac warnings.
git-svn-id: svn://10.0.0.236/trunk@4984 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-03 02:42:16 +00:00
beard
feeaf633f6 Fixed unintended assignment warning in lookup_member_by_id.
git-svn-id: svn://10.0.0.236/trunk@4823 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-01 18:58:29 +00:00
beard
2a4bff8f61 JavaObject_getObjectOps now static since it had no external prototype.
git-svn-id: svn://10.0.0.236/trunk@4817 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-01 18:45:32 +00:00
fur
88bc9aaf64 Return false when using the 'delete' operator on JavaClass or JavaObject objects.
git-svn-id: svn://10.0.0.236/trunk@4711 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 18:10:14 +00:00
fur
5bc94271e8 Eliminated the last uses of the JNIEnv global variable. Unfortunately, this
means that we had to switch from using NSPR hash tables to a private version.
The new jsj_hash.c file is derived from plhash.c, but it provides for an additional
argument to be passed to the hash key comparison function.  This capability
is used to pass in the JNIEnv pointer.

On shutdown, LiveConnect now removes all references to Java objects and classes,
so that the JVM might be able to GC them.


git-svn-id: svn://10.0.0.236/trunk@4706 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-30 10:04:32 +00:00
fur
94fedc809c Property deletion should be silent for ECMA-conformant versions of JS.
git-svn-id: svn://10.0.0.236/trunk@4652 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-28 07:39:58 +00:00
fur
38185cca7b Tweaked error messages and comments.
git-svn-id: svn://10.0.0.236/trunk@4562 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-26 06:46:15 +00:00
fur
084c69d9c7 Added the getClass() method for backward-compatibility with old LiveConnect.
git-svn-id: svn://10.0.0.236/trunk@4210 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-21 06:51:27 +00:00
fur
cf01601caa Removed all ifdef NO_JSOBJECTOPS code. This was older code that used the
"classic" JSAPI, rather than the new, faster JSObjectOps API.


git-svn-id: svn://10.0.0.236/trunk@4206 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-21 05:17:15 +00:00
fur
28549242ec [Not in the mozilla build]
This new vendor-neutral version of LiveConnect is designed to replace the older
one in the js/jsj directory, which only works with the Netscape JVM.  It is part
of the OJI initiative.


git-svn-id: svn://10.0.0.236/trunk@4202 18797224-902f-48f8-a5cc-f745e15eee43
1998-06-20 17:46:42 +00:00