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

244 Коммитов

Автор SHA1 Сообщение Дата
montulli baa6d6585c merge montulli1 branch with tip 1998-07-02 02:39:54 +00:00
shaver 4687e1488a forgot the NPL 1998-07-01 19:59:06 +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
shaver ae05f5bb1b adding XPCOM interface support (non-functional) -- not part of Gromit 1998-07-01 18:18:00 +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
atotic 0353c83491 Remove NavigatorStubs dependency Added new targets (JavaScriptNoJSJ$D) to build JavaScript without JSJ dependency. 1998-06-26 23:37:04 +00:00
atotic 4016099b3f Implemented MyReadLocation inline to remove the NavigatorStubs dependency 1998-06-26 23:35:01 +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
fur dccdac01c8 When running in ECMA-compatibility mode, silently ignore attempts to delete
properties of JavaArray objects.
1998-06-26 05:44:02 +00:00
mccabe c7340ec4e6 (Not part of the client build.)
Parenthesized assignment-in-conditional to quiet gcc compiler warning.
1998-06-25 18:36:53 +00:00
mccabe ce49fb6841 Extend #ifdef SHELL_HACK from recent fix to 187538 (mistakenly 187537)
to avoid compiler warning on defined-but-unused 'Exec'.
1998-06-25 18:34:13 +00:00
norris 7176fc63e1 (Not part of Communicator build.)
Fix GC bug involving load().
1998-06-25 15:56:19 +00:00
spider cb94dae31e NORMANDY_DDAY merge... 1998-06-25 05:50:45 +00:00
mccabe 7553565194 Fix to 187537. The 'assign' hack was interacting with the 'shell
command' hack - the resolver defined by js.c would get called to look
up 'assign' - and on Irix systems, it would find the 'assign' command
in the current path, and decide to define a function called 'assign'
in the global object that would run the assign command.  Then when an
attempt was made to assign a property to the global object, the assign
command would get run, and unexpected behavior followed.
1998-06-25 02:07:13 +00:00
fur 2dc7ca8700 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
fur 7299ccee3d Allow closures when the JS version is JSVERSION_DEFAULT. 1998-06-24 05:37:44 +00:00
fur 107042b6e2 Fix bug in which leaving the JS version as JSVERSION_DEFAULT would return
all enumerated property names as strings, as was the case in JS1.1, instead
of the modern (>=JS1.2) behavior of allowing either string or integer property
names.
1998-06-24 05:36:46 +00:00
fur fe558e38b1 Ignore generated files 1998-06-24 03:18:48 +00:00
fur 4b16c6c9b3 Files moved to liveconnect/macbuild subdir 1998-06-24 03:09:57 +00:00
beard 7980119fd9 Updated Mac build instructions. 1998-06-24 02:44:30 +00:00
beard d9cfd25007 Turned off LIVECONNECT for default case. 1998-06-24 02:25:36 +00:00
beard 34a5003453 Made JavaSession stuff conditional on LIVECONNECT. 1998-06-24 02:24:58 +00:00
beard 2ea1c49ef3 First Checked In. 1998-06-24 02:20:45 +00:00
beard 9fb7d1cfd6 builds standalone JS shell, without LiveConnect. 1998-06-24 02:15:02 +00:00
norris 45b1f46a82 (Not part of Communicator build)
Fix warning for unspecified prototype.
1998-06-23 23:28:36 +00:00
fur 594df93250 Allow NULL name argument for JS_NewFunction() 1998-06-23 22:40:24 +00:00
fur 974947c4ce Print java error messages even when netscape.javascript classes
are not accessible.
1998-06-23 21:11:37 +00:00
norris b0e98631f4 (Not part of Communicator build)
Fix 111202 ECMA: division and modulo operator special cases (/ %)
Another instance of the MSVC NaN == 0 bug.
1998-06-23 20:53:12 +00:00
norris fd2d85d3df (Not part of Communicator build.)
Fix array length updating for negative indices.
1998-06-23 18:20:59 +00:00
norris 4d76152498 (Not part of Communicator build)
Fix 105721 ECMA: assigning String.prototype.indexOf to the global object
1998-06-23 18:16:02 +00:00
fur c075b19207 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 005b7a2045 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 9c8206d34b Ignore generated files 1998-06-23 06:09:44 +00:00
mlm ca4706a898 - Merge with 4.06 sources: Add another byte to source numbering so that
scripts that start on lines >32K still work.
- Fix is from fur
1998-06-23 02:32:45 +00:00
beard 9e99fd8b00 First Checked In. 1998-06-23 02:05:14 +00:00
beard de9e08f412 Added prototype for strdup. 1998-06-23 02:04:48 +00:00
beard be75153fe0 #define LIVECONNECT 1 1998-06-23 02:04:22 +00:00
beard df22104edb Added prosdep.h to get strdup prototype. 1998-06-23 02:03:59 +00:00
beard 6be3eb992d Added XP_MAC changes to export the JSObject native methods. 1998-06-23 02:03:10 +00:00
beard 5afc929f9d Added XP_MAC changes for struct-based jlongs. 1998-06-23 02:01:53 +00:00
beard 129adcc229 Added prosdep.h to get strdup prototype. Corrected JSJ_InitJSContext to match its prototype. 1998-06-23 01:59:26 +00:00
beard 883907e189 MacOS/MSL malloc also needs non-zero size. 1998-06-23 01:57:05 +00:00
beard 8506dd7f3a Added XP_MAC initialization function. 1998-06-23 01:55:31 +00:00
beard 9adfde6a23 Added Mac build instructions. 1998-06-23 01:54:20 +00:00
beard 0d6134c989 First Checked In. 1998-06-23 01:48:49 +00:00
beard 3c43366f5f First Checked In. 1998-06-23 01:31:44 +00:00
spider 365c772ff9 Normandy Merge .... 1998-06-22 21:21:28 +00:00
norris c33b5f5ee5 (Not part of Communicator build.)
Fix crash occurring on most tests, nits from brendan code review.
1998-06-22 17:53:05 +00:00
fur 002ea80f8b Minor updates to build instructions and file descriptions 1998-06-22 17:41:18 +00:00
fur 6699e308bb [Not used for Mozilla builds]
These project files were just checked in temporarily and are replaced by the
LiveConnectShell project files located in the js/ref/liveconnect subdirectory.
1998-06-22 17:28:12 +00:00
fur 568e38aca4 [Doesn't build with mozilla]
Java files associated with new LiveConnect.
1998-06-22 17:23:57 +00:00
fur c6c68e26aa Added the getClass() method for backward-compatibility with old LiveConnect. 1998-06-21 06:51:27 +00:00
fur 2e70b63717 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
fur d5b0774f7c [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.
1998-06-20 17:46:42 +00:00
mccabe 54e0d585a2 ECMA (sort of) fix to 156615, platform-dependent troubles on Solaris.
There was a check in our mini-nspr against asking the OS time services
what the DST offset was for time 0... but the check didn't do what the
comment said it did.  So we got the wrong DST offset for... (drum roll
please) the two seconds on either side of the eve of 1970 GMT.

I have a similar fix ready for prmjtime.c, but I'll wait until the
stability freeze settles down.
1998-06-20 01:21:01 +00:00
norris 16d06a5647 (Not part of Communicator build.)
Add implementation version API call.
1998-06-19 23:47:07 +00:00
norris dc578c90c0 (Not part of Communicator build.)
Fix 153640 monkey crash calling Math as function or constructor
Just added a null pointer check
1998-06-19 22:21:36 +00:00
norris eafb2d2e3a (Not part of Communicator build.)
Fix 123724 hippo: problems declaring var in an eval statement
This ended up being more complex than I initially thought it would be.
See comments in jsparse.c.
1998-06-19 21:52:14 +00:00
mlm 16c4667970 Merge Win16 "fixes" from Dogbert4xDevelopment_BRANCH
- Reorder identical code
 - Move scope of local variable
 - ifdef out stderr
1998-06-19 20:13:15 +00:00
norris 389e7da848 (Not part of Communicator build.)
Change C++ keyword "catch" (and Java keyword "finally" for good measure)
to other identifiers to help out embedders calling JS from C++.
1998-06-18 23:43:51 +00:00
norris 4a7ce61340 (Not part of Communicator build.)
More functionality for debug print functions.
1998-06-18 00:13:08 +00:00
norris 18a4346991 (Not part of Communicator build.)
This comment is for checkin of version 1.8: mistakenly gave wrong comment
for that version.
Fix 123724 hippo: problems declaring var in an eval statement
The problem was that Variable() in jsparse.c used the scope from calling
js_FindVariableScope to determine whether or not to convert the operator
to GETVAR, but LookupArgOrVar did not. This caused a mismatched set and
get in the code generated from the eval script due to the presence of the
var in the function frame.
1998-06-18 00:11:51 +00:00
norris a004313509 (Not part of Communicator build.)
More functionality for debug print functions.
1998-06-18 00:04:38 +00:00
brendan 927c39b448 - Fix function in with statement to form a closure with the right scope chain
on activation (120172, mlm).
- Use #ifdef CHECK_RETURN_EXPR to hide CheckFinalReturn as well as its calls.
- 80th column tyranny, typedef symmetry, other cosmetics.
1998-06-17 19:37:53 +00:00
mccabe ce9c2ffb45 (Not part of the mozilla build)
Added a guard against casting infinity->int, towards porting to alpha linux.
1998-06-17 19:36:29 +00:00
norris 878cbe9517 (Not part of Communicator build.)
Fix warning messages for lack of function prototype.
1998-06-17 16:23:29 +00:00
norris 94b9b8fc0e (Not part of Communicator build)
Add ability for scripts to access their arguments.
1998-06-16 23:10:57 +00:00
norris 45dbeb0589 (Not part of Communicator build.)
Fix 129824 monkey: evaling a function with many arguments fails
1998-06-16 18:36:57 +00:00
mccabe c5c964116c Undid the ECMA fix that disallowed '08' and '09' numeric literals. According to the ECMA lexical grammar, these literals should be scanned as two consecutive NUMBER tokens ('0' and '9') - which is always a syntax error under the grammar. Unfortunately, the javascript engine has supported these literals (with mathematical values 8 and 9) in the past, and they're likely to crop up in date code... so we probably need to remove this fix. This leaves us a superset of ECMA - by accepting these literals, we accept scripts that are not valid ECMA scripts. 1998-06-13 01:10:30 +00:00
norris d1da694218 (Not part of Communicator build.)
Tweak last fix not to depend on size of char.
1998-06-12 22:20:06 +00:00
norris 3aa9bf7b95 (Not part of Communicator build.)
Fix bug 123802 hippo / js1.2 some regular expression tests fail
1998-06-12 22:17:13 +00:00
norris 25c1c4801f (Not part of Communicator build.)
Fix 111199 ECMA: don't enumerate parseInt.length
1998-06-12 17:22:04 +00:00
mccabe f17121ba33 (Not part of the gromit/mozilla build.)
Added NPL notice.
1998-06-12 00:54:15 +00:00