Граф коммитов

51 Коммитов

Автор SHA1 Сообщение Дата
fur 47c9f09d1c + 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.
1998-07-03 15:50:16 +00:00
fur fe28615c39 Tweaked comment. 1998-07-03 02:43:34 +00:00
fur 1ec2b0195b Fix Win32 warnings that were introduced as a result of curing Mac warnings. 1998-07-03 02:42:16 +00:00
fur d05cdfd43c Got rid of debug printf(). 1998-07-03 02:41:31 +00:00
fur 444c8ac8b5 Added Compatibility discussion.
Tweaked Mac build instructions.
1998-07-03 02:40:48 +00:00
fur c3e5f43f8a Fixed incorect argument type in jlong_to_jdouble() which was causing Java long values to get mangled. 1998-07-03 00:00:15 +00:00
beard 58f464c1a2 Fixed unintended assignment warning in lookup_member_by_id. 1998-07-01 18:58:29 +00:00
beard 9a3929928e Fixed unintended assignment warning in access_java_array_element. 1998-07-01 18:55:49 +00:00
beard 9aa7eabbba Added prototype for jsj_ConvertJavaStringToJSString. 1998-07-01 18:48:12 +00:00
beard 111a471158 enter_js now static, since it had no external prototype. 1998-07-01 18:47:26 +00:00
beard 447cc5f8c3 define_JavaPackage now static since it had no external prototype. 1998-07-01 18:46:23 +00:00
beard 530433d35c JavaObject_getObjectOps now static since it had no external prototype. 1998-07-01 18:45:32 +00:00
beard dd15f11c8f JavaClass_getObjectOps, jsj_new_JavaClass now static, since they had no external prototypes anyway. 1998-07-01 18:44:50 +00:00
beard 11c6174e80 Made JavaArray_getObjectOps static to fix no prototype warning. 1998-07-01 18:43:16 +00:00
beard 4010b5a9bb Fixed unintended assignment warnings, made default_map_java_object_to_js_object static to fix no prototype warning. 1998-07-01 18:42:27 +00:00
beard 42c8b526c8 Removed some dead code. 1998-07-01 18:37:43 +00:00
fur 20d5f40cd0 If the same JSObject is reflected into Java more than once then we should
return the same Java object, both for efficiency and so that the '=='
operator works as expected in Java when comparing two JSObjects.
However, it is not possible to hold a reference to a Java object without
inhibiting GC of that object, at least not in a way that is portable
to all vendor's JVMs, i.e. a weak reference. So, for now, JSObject identity
is broken.
1998-07-01 06:11:39 +00:00
fur c6cc90820d Added equals() method to override java.lang.Object.equals(). This is
necessary because the '==' operator won't work with LC2.
1998-07-01 06:00:10 +00:00
beard e77b637d38 Changed jsj_HashJavaObject to conform to JSJHashFunction. 1998-07-01 00:21:18 +00:00
beard 7d1aa0cc28 Fixed JSVAL_TO_JLONG_JVALUE macro for XP_MAC -- can't assign 0 directly to a jlong. 1998-06-30 22:17:19 +00:00
beard e9e03ff3a0 Added jsj_hash.c, turned on debugging by default. 1998-06-30 22:15:38 +00:00
fur 4405f1fa76 = Replicate the JS engine machinery that gives the appearance of converting
all element access expressions to strings, e.g. so that obj["3"] and
  obj[3] refer to the same property for a JavaArray object.

= Return false when using 'delete' operator on JavaArray objects.
1998-06-30 18:18:03 +00:00
fur 08d4074f40 Return false when using the 'delete' operator on JavaClass or JavaObject objects. 1998-06-30 18:10:14 +00:00
fur 50264a5e7c 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.
1998-06-30 10:04:32 +00:00
fur 3c7a558a65 Aggressively track and release JNI local references to constructed
Java objects, because otherwise at least one JVM is reticent about
GC'ing them.
1998-06-28 07:53:04 +00:00
fur b3ed642dea = Force result to zero when converting JS NaN to Java integral types.
= Aggressively track and release JNI local references to constructed
  Java objects, because otherwise at least one JVM is reticent about
  GC'ing them.
1998-06-28 07:52:23 +00:00
fur e10f8ee310 Added toString() method for JavaPackage objects. 1998-06-28 07:51:27 +00:00
fur 16ed24093e Property deletion should be silent for ECMA-conformant versions of JS. 1998-06-28 07:50:47 +00:00
fur 63088e0c39 Property deletion should be silent for ECMA-conformant versions of JS. 1998-06-28 07:39:58 +00:00
fur 3c8f508577 Tweaked error messages and comments. 1998-06-26 06:46:15 +00:00
fur 8425419f94 Store overloaded methods in the same order as they arrive from the JVM, so
that overloaded method resolution works the same as before, although probably
only with the Sun JVM, because this order isn't specified anywhere.
1998-06-26 06:45:04 +00:00
fur 628c8791a7 When running in ECMA-compatibility mode, silently ignore attempts to delete
properties of JavaArray objects.
1998-06-26 05:44:02 +00:00
fur 988bea1d98 Conversion to a primitive now results in a string value, even with a
hint of JSTYPE_NUMBER.  This is a case that nobody cares about, but it's
used in a LiveConnect test case.

Added more registered Java packages for reduced server-roundtrips.  Also,
loosened restrictions on accessing unregistered packages under "java" and
some of the other packages, in case Sun or somebody adds a "java.fooBar"
package.
1998-06-24 05:47:46 +00:00
beard 78c1f66d2d Updated Mac build instructions. 1998-06-24 02:44:30 +00:00
beard 7aac32d9fa First Checked In. 1998-06-24 02:20:45 +00:00
fur f79184c1a5 Print java error messages even when netscape.javascript classes
are not accessible.
1998-06-23 21:11:37 +00:00
fur d83ba92d16 Prevent crash when accessing numeric properties of a JavaPackage
object.  (Such properties should never exist, but we shouldn't crash.)
1998-06-23 08:15:40 +00:00
fur 1e963a652b Simplifications and aesthetic tweaks to changes required to build on the Mac.
Also, eliminated uses of tab characters.
1998-06-23 06:28:14 +00:00
fur b9a1b38251 Ignore generated files 1998-06-23 06:09:44 +00:00
beard 197aeac07c First Checked In. 1998-06-23 02:05:14 +00:00
beard 93c008874e Added prosdep.h to get strdup prototype. 1998-06-23 02:03:59 +00:00
beard ca2e0a8a4c Added XP_MAC changes to export the JSObject native methods. 1998-06-23 02:03:10 +00:00
beard ad3d1c9924 Added XP_MAC changes for struct-based jlongs. 1998-06-23 02:01:53 +00:00
beard 64ea5912cb Added prosdep.h to get strdup prototype. Corrected JSJ_InitJSContext to match its prototype. 1998-06-23 01:59:26 +00:00
beard 948cc11ad6 Added Mac build instructions. 1998-06-23 01:54:20 +00:00
beard 334e791b4f First Checked In. 1998-06-23 01:48:49 +00:00
fur 76eeef872f Minor updates to build instructions and file descriptions 1998-06-22 17:41:18 +00:00
fur 1c7ec1a23d [Doesn't build with mozilla]
Java files associated with new LiveConnect.
1998-06-22 17:23:57 +00:00
fur e151cac90e Added the getClass() method for backward-compatibility with old LiveConnect. 1998-06-21 06:51:27 +00:00
fur 62ffdc677a Removed all ifdef NO_JSOBJECTOPS code. This was older code that used the
"classic" JSAPI, rather than the new, faster JSObjectOps API.
1998-06-21 05:17:15 +00:00