Commit Graph

168 Commits

Author SHA1 Message Date
mccabe%netscape.com
e1c6f3374e typedef of int64 for osf now avoids long long - because long long is a
compiler extension, and we want to be able to turn off compiler
extensions for osf.  And longs are long long there anyway.

Propagated from nspr, courtesy wtc.
1998-07-24 23:12:09 +00:00
mccabe%netscape.com
10de6cce72 added some more #if JS_HAS_SHARP_VARS checks so towards compiliation
under version 120 in jsconfig.h.  Other fixes needed, though...
1998-07-17 21:18:41 +00:00
mccabe%netscape.com
c9b0c7d348 Fixed #ifdef to #if for various features defined in jsconfig.h -
JS_HAS_IN_OPERATOR, and JS_HAS_INITIALIZERS.
1998-07-17 20:46:12 +00:00
mccabe%netscape.com
2f3902fe81 Fixed interpretation of JSOP_IN to match our ECMA proposal - throw a
runtime error if the RHS is not an object.
1998-07-17 19:10:46 +00:00
mccabe%netscape.com
2082db86d6 Modified grammar for for/in and the in operator to exclude parsing the
'in' keyword as an operator in the init clause of for loops; this
disambiguates for/in loop parsing.  (Previously, there was some
treenode examination magic going on.)  Per recent ECMA submission.
1998-07-17 02:56:04 +00:00
mccabe
51247013fe Added configuration section for js 1.4, with in/instanceof/exceptions turned
on.  (Default configuration is still 1.3.)
1998-07-15 03:00:24 +00:00
shaver
4fe59b0a91 support int JSVALs in XDRValue (duh) 1998-07-13 16:12:41 +00:00
mccabe
748a690fa2 Added newline in 2nd comment to make the LXR indexer slightly happier.
Thanks to Dawn Endico <dawn@cannibal.mi.org> for LXR hacking.
1998-07-10 02:13:17 +00:00
mccabe
0d458b9d77 Changed the definition of JSDOUBLE_IS_INT(d, i) to delay a (jsint)d
cast until after the double in question has been determined to be
finite, not NaN, etc.  This may make the code a little more XP for
platforms like BSD and Alpha Linux that don't like casting strange
values to int.  Thanks go to Uncle George <gatgul@voicenet.com> and
hankin <hankin@consultco.com> for their porting work.
1998-07-08 07:56:43 +00:00
mccabe
284d1c6f30 Made the assign hack conditional on JSVERSION_IS_ECMA. 1998-07-07 23:59:45 +00:00
shaver
be9d53fcab tentative and likely useless script verifier for XDR (-DJS_XDR_SCRIPT_VERIFIER) 1998-07-04 19:45:46 +00:00
fur
1c64bf7ca6 These files were moved to js/ref/liveconnect/macbuild/JavaSession. 1998-07-03 19:00:59 +00:00
fur
6d818b7095 + 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
00108b9f51 Tweaked comment. 1998-07-03 02:43:34 +00:00
fur
f3814769e7 Fix Win32 warnings that were introduced as a result of curing Mac warnings. 1998-07-03 02:42:16 +00:00
fur
4a2e6cfaaf Got rid of debug printf(). 1998-07-03 02:41:31 +00:00
fur
330b4a6f8e Added Compatibility discussion.
Tweaked Mac build instructions.
1998-07-03 02:40:48 +00:00
fur
0d6b7f4c5f 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
fur
7e5dbbafb6 Use Types.h instead of more modern MacTypes.h so that we can build with CodeWarrior 2 on the Mac. 1998-07-02 04:11:53 +00:00
montulli
baa6d6585c merge montulli1 branch with tip 1998-07-02 02:39:54 +00:00
beard
14d7539139 Fixed unintended assignment warning in lookup_member_by_id. 1998-07-01 18:58:29 +00:00
beard
8f133a80c6 Fixed unintended assignment warning in access_java_array_element. 1998-07-01 18:55:49 +00:00
beard
6989e9ce94 Added prototype for jsj_ConvertJavaStringToJSString. 1998-07-01 18:48:12 +00:00
beard
b0adf38f64 enter_js now static, since it had no external prototype. 1998-07-01 18:47:26 +00:00
beard
9e5e0d2d68 define_JavaPackage now static since it had no external prototype. 1998-07-01 18:46:23 +00:00
beard
4b456772a7 JavaObject_getObjectOps now static since it had no external prototype. 1998-07-01 18:45:32 +00:00
beard
fe61d4682c JavaClass_getObjectOps, jsj_new_JavaClass now static, since they had no external prototypes anyway. 1998-07-01 18:44:50 +00:00
beard
111e7ffc34 Made JavaArray_getObjectOps static to fix no prototype warning. 1998-07-01 18:43:16 +00:00
beard
1cc4de3558 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
d0534b637a Removed some dead code. 1998-07-01 18:37:43 +00:00
fur
1bb1ec2907 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
906b904d7a 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
brendan
733ea0c9f5 - Remove duplicate error fprintf from js.c:Load.
- Revise exception handling runtime info (now called trynotes a la srcnotes)
  for more efficient loop control under JSOP_THROW.  Avoid all uses of catch
  and throw while at it, to make C++ lusers happy.
- Combine JSStackFrame.exception with rval, and rename
  JSStackFrame.exceptPending to be ...throwing.
- Optimize JS_TypeOfValue a bit.
- Name, control flow, whitespace, etc. cleanup.
1998-07-01 02:12:45 +00:00
beard
5cae9cf967 Changed jsj_HashJavaObject to conform to JSJHashFunction. 1998-07-01 00:21:18 +00:00
beard
3237061bc8 #defined PR_IMPLEMENT for XP_MAC/XP_UNIX cases. 1998-06-30 22:18:23 +00:00
beard
ed37469a20 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
e1acf242ee Added jsj_hash.c, turned on debugging by default. 1998-06-30 22:15:38 +00:00
fur
e9e7749b27 = 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
bca1b5126d Return false when using the 'delete' operator on JavaClass or JavaObject objects. 1998-06-30 18:10:14 +00:00
fur
4feb603992 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
norris
7290174189 (Not part of Communicator build.)
fur's fix for repeating properties in enumeration bug.
1998-06-29 22:01:22 +00:00
norris
98f610114f (Not part of Communicator build.)
Handle NaNs better for non-PC platforms as well.
1998-06-29 22:00:11 +00:00
fur
3b5246d547 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
4f4552540c = 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
1a53251e00 Added toString() method for JavaPackage objects. 1998-06-28 07:51:27 +00:00
fur
20e42dfcd9 Property deletion should be silent for ECMA-conformant versions of JS. 1998-06-28 07:50:47 +00:00
fur
9b0324a6af Property deletion should be silent for ECMA-conformant versions of JS. 1998-06-28 07:39:58 +00:00
beard
f2facc58ec Added code that guarantees MRJ will be shutdown when the program exits. 1998-06-27 18:24:26 +00:00
fur
7d5c31a853 Tweaked error messages and comments. 1998-06-26 06:46:15 +00:00
fur
f30274d34b 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