Commit Graph

555 Commits

Author SHA1 Message Date
rogerl%netscape.com
9a27ef1b9d Bug #315139 (aka 104859). Some discrepancies between JS1.2 behaviour for
matching at empty pattern at end of string. I'm not real confident of
this fix since it removes code that seems to explicitly address the issue,
but it does fix the bug.
1998-09-18 20:22:59 +00:00
rogerl%netscape.com
9f60232a23 Bug #316839. Re-allocation of space for flat1/flat coalesce wasn't using
sizeof(jschar).
1998-09-18 20:20:53 +00:00
jband%netscape.com
dcca610736 (not part of client build) added short description to each source file 1998-09-18 19:56:45 +00:00
fur%netscape.com
f52527ce5d We decided not to create mini-NSPR 1998-09-18 18:09:26 +00:00
sudu%netscape.com
12577f0abd Removed dependancy on caps/oji plugin stuff in building liveconnect 1998-09-18 02:28:50 +00:00
warren%netscape.com
e739973a4a Abstracted away need for JavaVM object and GetJavaVM plugin API call. 1998-09-18 01:29:08 +00:00
jband%netscape.com
238f96eccb (not part of client build) added call/return hooks to js_Invoke and js_Execute. Also added additional accessors to jsdbgapi for JSStackFrame contents. This will better facilitate tracking exceptions as they propagate up the stack, allow for faster stepping schemes, and support less intrusive tracing/profiling schemes. 1998-09-18 00:57:11 +00:00
mccabe%netscape.com
8257eac38e Propagate mcafee compile-warning fixes from js/src. 1998-09-17 23:48:20 +00:00
beard%netscape.com
8785f1659c 09171998 LiveConnect Carpool 1998-09-17 20:41:00 +00:00
sudu%netscape.com
6eada553e3 including config.mak to get default MOZ_OJI flag being set in config 1998-09-17 19:22:38 +00:00
beard%netscape.com
3b0249a287 09171998 LiveConnect Carpool 1998-09-17 19:20:20 +00:00
sudu%netscape.com
27a8da36c2 removed c++ style comments 1998-09-17 19:06:00 +00:00
sudu%netscape.com
8d00de7ede Included confg.mk so that MOZ_OJI flag gets picked up from there. Else liveonnect dir would not be traversed 1998-09-17 18:35:15 +00:00
sudu%netscape.com
1de8c0fe1f Added new XPCOM apis to liveconnect 1998-09-17 18:21:49 +00:00
sudu%netscape.com
3e35efee72 removing jni files which were placed by mistake in _jri dir 1998-09-17 18:18:16 +00:00
sudu%netscape.com
cdabeaacce Resurrecting the files which were placed in wrong dir _jri 1998-09-17 18:17:04 +00:00
sudu%netscape.com
ace5839c75 New xpcom liveconnect apis 1998-09-17 18:13:55 +00:00
jband%netscape.com
b1ecdebd65 (not part of client build) moving to mozilla from jsdse_branch of ns/js/jsd/corba. This code constitutes the server side of the Corba/iiop based remote JavaScript debugging system. There is not currently a build system for the C++ code in place 1998-09-16 22:24:00 +00:00
jband%netscape.com
2de73cf99d (not part of client build) added single makefile controlled switchpoint using awk generated Java source file for ASSERT and DEBUG in ifcui 1998-09-16 19:04:53 +00:00
mcafee%netscape.com
e7203838d4 Uninitialized variable compiler warnings on Linux 1998-09-16 06:54:49 +00:00
mcafee%netscape.com
ac773fc082 Uninitialized variable compiler warnings on Linux 1998-09-16 05:16:58 +00:00
jband%netscape.com
74b712789c (not part of client build) initial checkin of mozilla/js/jsdj (migrated from ns/js/jsdj) 1998-09-16 02:07:50 +00:00
jband%netscape.com
2a81c18a1a (not EVEN part of mozilla) fix conditional compile code to allow use of debugger without liveconnect 1998-09-16 00:56:47 +00:00
ccooper%netscape.com
2cef6d00a9 Added NPL to LiveConnect java classes.
New file 'JSWrappedException' is used for passing exceptions between Java
and JavaScript.
1998-09-15 19:53:48 +00:00
rogerl%netscape.com
46f5ffb26f Fixed bug #316293; when break was very first statement in a loop it wasn't
getting patched and so looped for ever.
1998-09-14 22:33:19 +00:00
norris%netscape.com
19a2523b04 Fix 179417 "crash in with tests with with object"
The problem was that when "w=With()" is executed, the new object "w" is created
such that it shares a scope with Object.prototype. When GC runs and
Object.prototype and "w" are both collected, the test in js_DropObjectMap
currently looks like

     if (MAP_IS_NATIVE(map) && ((JSScope *)map)->object == obj)
        ((JSScope *)map)->object = NULL;

The problem is that MAP_IS_NATIVE is false because the object ops are special
for the With object. Thus map->object is left nonnull and when "w" is collected,
it tries to drop its scope, which causes map->object to be referenced, causing
the null dereference.

Update MAP_IS_NATIVE to include With objects as well.
1998-09-14 22:01:01 +00:00
jband%netscape.com
2fb80359da added CRT_CALL decoration to callback typedefs in jsprvtd.h (it had only been used in jspubtd.h) and moved the last remaining callback typedef (JSTrapHandler) out of jsdbgapi.h and into jsprvtd.h along with the others 1998-09-11 19:58:15 +00:00
brendan%netscape.com
f1dc01ae5b - Fix js_AllocTryNotes to track how much space has been allocated from tempPool
for trynotes in the current code generator, and grow that space as needed.
- Avoid dividing by a multiple of 3 (JSTryNote is 3 ptrdiff_t's) via (char *)
  arithmetic.
1998-09-11 09:25:15 +00:00
jband%netscape.com
98c507c676 (not part of mozilla build) added source hook to jsdbgapi so that debugger can get clean access to source from jsscan when the JSFILE hack is used 1998-09-11 04:04:26 +00:00
brendan%netscape.com
7e8d72f13f Don't CHECK_BRANCH(len) in GOSUB (len must be > 0) or at all in RETSUB. 1998-09-10 20:46:37 +00:00
brendan%netscape.com
47030e2d0d - GOSUB pushes the next pc after it, not its own pc (tradition!) and RETSUB
sets pc to the unbiased result of the pop.
- Use #if JS_HAS_EXCEPTIONS in the decompiler, fiddle similar cosmetic stuff.
1998-09-10 20:42:26 +00:00
norris%netscape.com
c7e0b4fd28 Fix 312954 "monkey: on HPUX, special case failure when dividing by -0" 1998-09-10 20:27:16 +00:00
brendan%netscape.com
0b411ad632 - Added commentary for TOK_DEFSHARP nodes explaining pn_kid's purpose.
- Don't over-commend nearby #endifs at the expense of legibility.
1998-09-10 20:13:06 +00:00
brendan%netscape.com
123e68fe7a - Use JSBool for MatchChar's return type and values.
- Spacing nits.
1998-09-10 19:58:15 +00:00
brendan%netscape.com
a8df12702b Remove excessive JS_FRIEND_API uses; clean up nits. 1998-09-10 19:18:23 +00:00
shaver%netscape.com
92bca3301d clean up old assertions and remove vestigial tryLimit 1998-09-10 17:45:37 +00:00
shaver%netscape.com
23b7327ace fix memory leak 1998-09-10 14:56:58 +00:00
brendan%netscape.com
fa72057162 Need to prevent GC activation during compile on the compiling context, not
just when evaluating old-style switch case expressions.
1998-09-10 07:09:44 +00:00
brendan%netscape.com
c3830fe4eb Remove javaData, left over from original LiveConnect. 1998-09-09 19:20:07 +00:00
brendan%netscape.com
9b12b81ef6 Now that SRC_COMMA has been renamed to reflect its generality (SRC_PCDELTA),
and more important, to save a byte of useless note offset, use SRC_CONTINUE
instead of SRC_PCDELTA to annotate JSOP_ENDINIT when there's an extra comma
at the end of an array literal (e.g. [1,2,,]).
1998-09-09 19:18:01 +00:00
brendan%netscape.com
cacf641709 - Might as well use tempPool to arena-allocate collected_args as well as the
tokenstream in Function, to avoid calling malloc at all.
- But do check for malloc failure under PR_ARENA_ALLOCATE (the old call to
  JS_malloc was unchecked).
1998-09-09 10:02:12 +00:00
brendan%netscape.com
0b351f4c23 Fix tempPool bloat bugs in Function by mark/release around NewTokenStream. 1998-09-09 09:50:40 +00:00
brendan%netscape.com
1cf65e15ec - Don't cast malloc's return value, it's void *.
- Don't double-report a scanner error such as illegal character in
  Function("a@b", "return a*b")
- Do report a "malformed formal parameter" error in
  Function("a,b,", "return a*b")
- Fiddle comments to more precisely rule out the above bugs.
1998-09-09 09:27:56 +00:00
brendan%netscape.com
89c7bdee13 JSMSG_NO_FORMAL duplicated DUPLICATE_FORMAL, now is reborn as BAD_FORMAL. 1998-09-09 09:04:35 +00:00
brendan%netscape.com
a95987dd0b Improve TABLESWITCH comment precision and add XXX about JSVERSION_IS_ECMAv2. 1998-09-09 06:35:30 +00:00
brendan%netscape.com
0ef0c706ae Renamed SRC_COMMA to SRC_PCDELTA and fixed related comments. 1998-09-09 02:16:19 +00:00
brendan%netscape.com
6327319e0d Fix busted version check in JSOP_TABLESWITCH. 1998-09-09 02:01:52 +00:00
shaver%netscape.com
2e4590ec47 ToBoolean behaviour for all non-ECMA versions, not just 1.2 1998-09-08 20:59:19 +00:00
beard%netscape.com
53ad88baba Changed JavaPackage_resolve, to remove a memory leak. 1998-09-08 19:08:09 +00:00
brendan%netscape.com
89d641ff37 Don't emit two SRC_HIDDENs in a row. 1998-09-08 18:26:37 +00:00
norris%netscape.com
c6b299a84d Fix bug: space was not allocated for terminal '\0' in string.
Spell "JavaScript" correctly.
1998-09-08 18:18:52 +00:00
brendan%netscape.com
aeb3f1e6b9 Oops! How did that ever work on my Win32 build? 1998-09-08 05:49:12 +00:00
brendan%netscape.com
347aaac8d3 js.c jsemit.c jsemit.h jsgc.c jsinterp.c jsopcode.c jsopcode.def
- Switch improvements:
  - JSOP_CONDSWITCH is a 1 byte nop, not variable length with the same kind
    of immediate operand as JSOP_LOOKUPSWITCH (which is useless except for
    decompilation).  New scheme uses SRC_COMMA notes on each JSOP_CASE opcode,
    usually 2 bytes per note, and a typically-1-byte 2nd offset on SRC_SWITCH:
      1 + 2 * ncases
    vs. the previous JSOP_LOOKUPSWITCH immediate, which consumed:
      4 * ncases
    bytes after the switch opcode just for decompilation.
  - SRC_SWITCH has two offsets, first to end of switch as before, the second
    to first case if JSOP_CONDSWITCH, for decompilation.
  - Optimize switches with all-constant cases using JSOP_TABLESWITH, or if
    that can't be used, JSOP_LOOKUPSWITCH, before falling back on ECMAv2's
    JSOP_CONDSWITCH.
  - Use cx->gcDisabled when evaluating case exprs at compile time for old,
    pre-ECMAv2 switches, to prevent branch-callback-based GC invocations
    from ripping apart the unrooted temporary script for each case expr.
  - Fixed up stale SRC_SWITCH comments in jsemit.h.

jsemit.c jsemit.h
  - TREE_CONTEXT_INIT to match ATOM_LIST_INIT, not English word order.
  - Reorganized JSCodeGenerator to sort of match argument order to
    js_InitCodeGenerator.
  - Got rid of confusing CG_RESET* macros and used memset(cg, 0, sizeof *cg)
    and non-zero-default init in js_InitCodeGenerator.  js_ResetCodeGenerator
    just releases the code and temp arena pools and leaves the cg in a state
    where it must be re-initialized (as before, but more obvious).
  - In the same spirit, don't do partial "resets" or src and trynotes in their
    js_FinishTaking*Notes functions -- those are friends of jsscript.c and are
    not general, idempotent functions.

jsapi.c jsapi.h jsarray.c jsatom.c jsatom.h jscntxt.c jsemit.c jsmsg.def
jsnum.c jsobj.c jsopcode.c jsregexp.c jsscan.c jsstr.c jsxdrapi.
  - Use PR_snprintf rather than sprintf always, so we don't have to worry
    about systems with 64-bit longs that overflow 12-byte buffers and open
    Morris-Worm-type security holes.
  - Trim extra spaces, fix hanging indentation, and similar anal retention.
  - Renamed JSMSG_BAD_PROTO_SORT to JSMSG_BAD_SORT_ARG cuz that's what it
    is complaining about.
  - SRC_CATCHGUARD still lived in comments, but it's SRC_CATCH in code.

jscntxt.c jscntxt.h jsinterp.c
  - Packed nearby JSPackedBools and added a new one: gcDisabled, for use by
    jsemit.c's pre-ECMAv2 switch case expr eval.
  - Rip out old js_InterpreterHooks stuff from original liveconnect (moja).
  - Remove javaData and savedErrors from JSContext.  Leaving it to fur or
    shaver to remove javaData from jsscript.h.
1998-09-08 05:39:51 +00:00
brendan%netscape.com
9d404730f1 Remove '(balance' comments, fix hanging indents, other nits. 1998-09-06 19:23:06 +00:00
brendan%netscape.com
93281b559a Fix switch comments, it's not a ternary node any longer. 1998-09-06 19:19:04 +00:00
brendan%netscape.com
310fe6513e - Use consistent spelling in the API: "Callback" not "CallBack" -- it's a one
word neologism, not two words.
- Use consistent neighboring terseness ("error" rather than "err" in intercaps
  identifiers).
- Don't leave pointers in JSErrorReport to freed memory if bailing on OOM in
  jscntxt.c:js_ExpandErrorArguments.
- Hanging indentation, code fusion via continue, and other misc. cleanups.
1998-09-06 08:07:35 +00:00
bjorn%netscape.com
a66b0a3f70 Added a missing read in ArenaAllocate. 1998-09-05 00:36:14 +00:00
bjorn%netscape.com
28404ccc8f Locks with almost no global locking. This will relieve contention. 1998-09-05 00:34:03 +00:00
shaver%netscape.com
9756611cdc fix ifdef breakage 1998-09-04 18:48:16 +00:00
norris%netscape.com
9ff1d1f26d Previous checkin was mistaken; back it out. 1998-09-04 00:47:22 +00:00
norris%netscape.com
984ac268fd Add support for ECMA switch statements. These are like LISP cond in that they
evaluate the case label each time.
Still to do is to optimize so that TABLESWITCH and LOOKUPSWITCH are created
when possible.
1998-09-04 00:45:21 +00:00
rogerl%netscape.com
801d3e6ac9 Removed redundant #undef 1998-09-03 22:50:55 +00:00
cyeh%netscape.com
4379809e93 remove JSJDebug.o and JSJ.o files from all targets. also turn modification date caching off to fix dependencies not working 1998-09-03 20:53:27 +00:00
rogerl%netscape.com
4c0b7cffd9 New errorNumber handling.
Fixed bug #317398, for loop without condition wasn't decompiling the body
correctly since the first statement in that body was getting eaten by
mistake when trying to consume the condition expression.
1998-09-03 20:44:55 +00:00
rogerl%netscape.com
f4649b191c New errorNumber handling 1998-09-03 20:35:41 +00:00
rogerl%netscape.com
474bde20c3 New break-out of error message text from core engine 1998-09-03 20:33:32 +00:00
rogerl%netscape.com
6b0757f6fe New errorNumber handling 1998-09-03 20:29:37 +00:00
fur%netscape.com
bdab8cdd7b Backing out check-in of these files that are causing pain with Mozilla builds,
at least until we can properly control search paths on the Mac.
1998-09-03 07:28:30 +00:00
cyeh%netscape.com
a3449255d5 re-arranged search path so that :dist is searched before the local project folder. 1998-09-03 05:01:40 +00:00
fur%netscape.com
5e80fa90d7 Added Mac-specific defines. 1998-09-03 03:52:13 +00:00
fur%netscape.com
18dd63c61f *** empty log message *** 1998-09-03 03:51:38 +00:00
fur%netscape.com
97a8da12c8 Ignore generated files 1998-09-03 03:47:13 +00:00
fur%netscape.com
7640690581 Checked in wrong version of project by mistake. This is the right one. 1998-09-03 03:46:25 +00:00
fur%netscape.com
cafc3c054c Added comments and declaration of PR_Abort(). 1998-09-03 03:40:50 +00:00
fur%netscape.com
5927643e70 Project files to build standalone JS using mini-NSPR 1998-09-02 22:38:20 +00:00
fur%netscape.com
21b788956e Minimal NSPR subset required to build JS engine 1998-09-02 22:37:14 +00:00
fur%netscape.com
b73da9e0ca ignore generated files 1998-09-02 22:36:05 +00:00
mccabe%netscape.com
30521bb1b0 Further exception work - added 'message' to the js_ErrorToException
call, and experimented with copying the original JSErrorReport into
private data.  Much of this to support a toString method for exception
objects.

It's not polished, but I wanted to get toString available quickly.
1998-09-02 20:01:34 +00:00
mccabe%netscape.com
5569d89bd7 Another platform!
Thanks go to Marc Fraioli <fraioli@dg-rtp.dg.com> for
the initial port of the js/ref standalone javascript
engine to DG/UX.
1998-09-02 08:19:31 +00:00
mccabe%netscape.com
f9f7609482 Fixes for NetBSD and OpenBSD.
Thanks Marco S Hyman <marc@snafu.org>.
1998-09-02 07:56:50 +00:00
bjorn%netscape.com
501ca3dfad Added compare-and-swap patches for AIX (_check_lock) and Solaris (stbar). 1998-09-01 20:21:11 +00:00
shaver%netscape.com
a6a11ab6e9 if throwing, cx->exception is a valid root 1998-09-01 12:38:59 +00:00
mccabe%netscape.com
7505b29f0e restore npl. 1998-09-01 01:16:45 +00:00
mccabe%netscape.com
45051d3191 More runtime errors now bound to exceptions.
Most of these will require a second look, but I wanted to get all of
them (that need exceptions) throwing something interesting.
1998-09-01 01:15:16 +00:00
beard%netscape.com
811374c6e8 The equals method isn't native in the Mozilla tree. 1998-08-31 23:39:51 +00:00
beard%netscape.com
603876aec5 Changed JavaPackage_resolve so that it doesn't return immediately if quiet_resolve_failure is true. Otherwise, pre_define_java_packages fails. 1998-08-31 23:39:04 +00:00
warren%netscape.com
f20a6b1050 Added jsj_JavaMember.c (Changes from SpiderMonkey131_BRANCH of js/ref/liveconnect.) 1998-08-31 20:17:31 +00:00
beard%netscape.com
35cb9e3602 Changes from SpiderMonkey131_BRANCH of ns/ref/liveconnect. 1998-08-31 20:15:32 +00:00
beard%netscape.com
a54a6f0b5b Added jsj_JavaMember.c (Changes from SpiderMonkey131_BRANCH of ns/ref/liveconnect.) 1998-08-31 20:12:42 +00:00
mccabe%netscape.com
91997034dc Further runtime error work... expose many new errors as catchable
exceptions.  Mostly syntax errors, so far.  Fixed missing #if
JS_HAS_ERROR_EXCEPTIONS
1998-08-31 09:49:43 +00:00
mccabe%netscape.com
25da47211e Added a call to js_ErrorToException to
the compile-error reporting mechanism,
providing a way to associate exceptions
(very likely SyntaxError exceptions)
with compile-time errors.

(Hopefully this is temporary, as I'd
prefer one central place in the
error-reporting process to put the
js_ErrorToException call.)

Also changed the error reporter in js.c
to only ignore error reports marked with
the JSREPORT_EXCEPTION advisory flag when
the error occurs during javascript execution.

If it's at the toplevel compilation
level, then the error is still reported
(and the exception discarded.)

The api is feeling slightly dirtier, but
it still seems like the best
compromise...
1998-08-31 08:17:40 +00:00
mccabe%netscape.com
b629e66f24 Added jsmsg.def to the list of files used by the
'make tar' target.
1998-08-31 07:33:13 +00:00
mccabe%netscape.com
c6028e15e4 Made the enum JSErrNum into a typedef
enum JSErrNum, and changed a uintN
errorNumber declaration to JSErrNum.

It'd be nice to change the uintN
errorNumber field in JSErrorReport to
JSErrNum, but it's not clear that
JSErrNum is or should be exposed in the
API.  Any C esthetes want to offer their
opinions?

It made my debugger slightly happier.
1998-08-31 07:07:26 +00:00
fur%netscape.com
b10cffdc67 Shane's makefiles 1998-08-29 03:04:11 +00:00
fur%netscape.com
252890a523 New file to deal with case of Java field and method with same name. 1998-08-29 03:03:51 +00:00
fur%netscape.com
bb196a6370 Error messages, in separate file for internationalization purposes. 1998-08-29 03:03:05 +00:00
fur%netscape.com
9ded12bf7a Transferred work from private ns tree back into mozilla. 1998-08-29 03:00:50 +00:00
fur%netscape.com
3700db4e0b Somehow, montulli resurrected this dead file. Killing it again. 1998-08-29 02:47:25 +00:00
fur%netscape.com
2fe3a86224 Updated Mac build instructions. 1998-08-29 02:20:24 +00:00
fur%netscape.com
8388956274 Replaced with new CodeWarrior project file macbuild/JSRef.mcp 1998-08-29 02:20:00 +00:00
mccabe%netscape.com
05b8c5f49b More loose ends towards merging the development branch. 1998-08-29 01:53:39 +00:00
mccabe%netscape.com
29ace2903c New platforms! More work from development branch. 1998-08-29 00:40:07 +00:00
mccabe%netscape.com
845c56005f Propagate lots 'o work from the development branch.
Including:

Preliminary work on internationalizing error messages

Preliminary work on exposing runtime errors as catchable exceptions

ECMA-proposed throw and try/catch/finally, with multiple catch clauses
and catchguards

ECMA-proposed in/instanceof operators

IEEE-conformant number to string conversion

Fixes and other good stuff.
1998-08-29 00:38:43 +00:00
brendan%netscape.com
ba2ce62f00 Fix funky whitespace. 1998-08-27 01:48:25 +00:00
shaver%netscape.com
52c57fa8ce JS_ConstructObject: fill NULL proto/parent like JSOP_NEW would 1998-08-26 06:14:55 +00:00
cls%seawood.org
9020b80c52 Updates to autoconf files. 1998-08-26 04:04:57 +00:00
brendan%netscape.com
3d80897294 Fix typos, int type mismatch, white-space, and layout style nits. 1998-08-25 08:23:34 +00:00
brendan%netscape.com
84f02d394d Fix typos, white-space, and layout style nits. 1998-08-25 08:22:27 +00:00
brendan%netscape.com
06db42fb38 Propagate js/src back-out of fur's incompatible closure version-check mod. 1998-08-25 08:21:55 +00:00
brendan%netscape.com
3e606b67c1 Propagate warren's OJI-related XP_MAC pragma change from js/src. 1998-08-25 08:21:09 +00:00
brendan%netscape.com
1031f4fd6d Fix nits. 1998-08-25 07:56:42 +00:00
warren%netscape.com
34633de0da Fixed copyright. 1998-08-20 07:58:32 +00:00
warren%netscape.com
b2a8175de1 Added from SpiderMonkey131_BRANCH of ns/js/ref/liveconnect 1998-08-20 07:58:00 +00:00
cls%seawood.org
84f1cedcbb AUTOCONF_1_0 landing. 1998-08-19 20:42:14 +00:00
mccabe%netscape.com
8ae7434b2b Towards running w/o crashing on alpha linux; add -mieee flag to ask
the compiler to puhleeze let us used denormalized floating point
values, as required by the ECMA spec.  Thanks to various contributors,
including Torsten R�ger <torsten@ponton-hamburg.de>, for working on
numeric issues.  Fix courtesy wtc.
1998-08-12 22:09:21 +00:00
mccabe%netscape.com
acf486a530 modified #if from __alpha to __osf__, because Alpha/Linux also runs on
an alpha processor, and we really want to know osf instead.  Courtesy
wtc.
1998-08-12 19:45:04 +00:00
danm%netscape.com
492873494d (optionally) include GlowCode lib. a:warren,fur 1998-08-06 18:52:34 +00:00
sudu%netscape.com
91c3f3ae8b Fix to build js classes when NSJVM=1. 1998-08-06 01:01:42 +00:00
beard%netscape.com
7fa2321de7 Version check breaks HTML dialogs. 1998-08-05 05:25:12 +00:00
warren%netscape.com
668cddb22e Changes to build with MOZ_OJI, and optionally build NSJVM. Changes to regenerate jar files. Changed version number to 50. 1998-08-05 00:36:13 +00:00
warren%netscape.com
691f369418 Fixed crashes in reporting errors on failure to initialize. 1998-08-04 21:37:16 +00:00
bjorn%netscape.com
8594e662ce Additional xpcom support for JS. Currently not in use by anyone. See MyScriptable.{h,cpp}
for an example of how to use this interface.
1998-08-04 20:34:20 +00:00
shaver%netscape.com
eb1610d51c added JSVERSION_1_4, removed prconv.sed NULs 1998-08-01 19:52:50 +00:00
shaver%netscape.com
9a3213a374 added JSVersion JSVERSION_1_4 1998-08-01 19:43:23 +00:00
warren%netscape.com
67d6f5be34 removed jsj for MOZ_JAVA 1998-08-01 00:03:31 +00:00
warren%netscape.com
d76d5017c2 Removed build of java classes. 1998-07-31 21:54:16 +00:00
warren%netscape.com
4383f3be0c Fixed _jni dir problem 1998-07-31 21:22:43 +00:00
warren%netscape.com
2299c5f98e Removed unzip step. 1998-07-31 21:12:32 +00:00
warren%netscape.com
c9bd5d8074 Landing changes in the OJI_19980727_BRANCH since the OJI_19980727_TIP_MERGE tag. 1998-07-31 20:19:50 +00:00
mccabe%netscape.com
a5b758e573 Another attempt to remove trailing nul characters added courtesy CVS. 1998-07-31 01:45:05 +00:00
mccabe%netscape.com
0ed94e2af6 Propagating numerous fixes from js/ref
and development branches, including but
not limited to:

- Preliminary exception handling per
ECMA proposal; try, multiple
catchblocks, and finally.  Catchblocks
are of the form catch (v) or
catch(v:<guard>), where guard is an
optional boolean expression that is
evaluated to determine whether the
exception is to be caught by that block.

- ECMA-proposed 'in' operator; "'foo' in
o" or "4 in o" asks if o has property
foo or element 4.

- Added a new set of defines in
jsconfig.h for js 1.4
features-in-progress.  (in, instanceof,
exception handling.)  Default build
version is now 1.4.  Fixed a few
conditional features that had become
broken.

- Progress towards porting to FreeBSD
and Alpha; casts of NaN and friends to
int are a little more localized.  Not
there yet...

- New config files to compile on more
OSes; various fixes to improve
portability.
1998-07-31 00:07:22 +00:00
mccabe%netscape.com
7596bde975 Propagating work and bug fixes from
development branch:

- Preliminary exception handling per
ECMA proposal; try, multiple
catchblocks, and finally.  Catchblocks
are of the form catch (v) or
catch(v:<guard>), where guard is an
optional boolean expression that is
evaluated to determine whether the
exception is to be caught by that block.

- ECMA-proposed 'in' operator; "'foo' in
o" or "4 in o" asks if o has property
foo or element 4.

- Added a new set of defines in
jsconfig.h for js 1.4
features-in-progress.  (in, instanceof,
exception handling.)  Default build
version is now 1.4.  Fixed a few
conditional features that had become
broken.

- Progress towards porting to FreeBSD
and Alpha; casts of NaN and friends to
int are a little more localized.  Not
there yet...

- New config files to compile on more
OSes; various fixes to improve
portability.
1998-07-30 23:46:29 +00:00
mccabe%netscape.com
f0d7459661 Added NPL. 1998-07-30 23:44:39 +00:00
warren%netscape.com
13b18ece68 Committed from OJI_19980618_TIP_MERGE1. 1998-07-28 02:07:25 +00:00
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
bjorn%netscape.com
a0387a053f Restoring tree to previous version. Should not affect the build. The previous
checkin had no impact on the build either, but I'll wait with these changes until
the tree is open again. Sorry for the inconvenience.
1998-07-23 22:25:16 +00:00
bjorn%netscape.com
e0fe36440e New version of jsIScriptable.h (clobbers the old one). New files added for
testing (MyScriptable) and embedding support (JSWrapper,jsIScriptable,main).
1998-07-23 20:46:28 +00:00
warren%netscape.com
f52ab79efa Added generated files for when we're not building java anymore. 1998-07-21 05:42:12 +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
shaver
e8ab388331 more jsI?Context stuff, some Scriptable hackery 1998-07-15 16:59:47 +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
danm
adae25132e optionally include GlowCode. bug 299200 a:don. 1998-07-13 00:22:53 +00:00
ramiro
7efc47ac4a Fix broken '#if defined' and no new line at end of makefile. 1998-07-11 12:45:01 +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
danm
30f8c8b987 glowcode. bug 299200 a:don. 1998-07-09 16:33:15 +00:00
shaver
e9ce00cce2 start at jsContext and jsRuntime implementations, enough to run trivial script 1998-07-08 16:53:49 +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
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