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

262 Коммитов

Автор SHA1 Сообщение Дата
fur%netscape.com d8ebf0ac3c The files in this directory are all obsolete. JavaScript development
has been moved to the js/src directory.  Sample code has been moved to
js/samples.
1998-10-16 22:18:00 +00:00
rogerl%netscape.com a0048d229d Oops, checked in a call to decompileFunctionBody which was for debugging
purposes only.
1998-09-25 18:10:27 +00:00
rogerl%netscape.com 1677c5f2ec Added the #define for turning on the default messages. Not sure if this is
the right place for it, but I wanted to get it in before the merge-a-thon.
1998-09-23 20:41:13 +00:00
rogerl%netscape.com 42ea15c0fa Changes for error messages - arguments are now jschar. 1998-09-23 20:38:23 +00:00
rogerl%netscape.com 34a0fc731a Bug #104766, decompileFunctionBody needed to set scope in printer before
calling decompileCode.
1998-09-23 20:37:58 +00:00
rogerl%netscape.com 1b3214c449 Changes for error messages - arguments are now jschar.
Bug #104766, decompileFunctionBody needed to set scope in printer before
calling decompileCode.
1998-09-23 20:36:18 +00:00
bjorn%netscape.com 93ad2631a7 Now using a lock in prarena instead of compare-and-swap. 1998-09-23 20:19:28 +00:00
bjorn%netscape.com 67f98161c1 Removed a redundant assignment, f->susp=-1. 1998-09-23 19:51:26 +00:00
fur%netscape.com f4b103218e When finalizing the prototype objects, don't try to access the JNIEnv, since that can cause the JVM to be unnecessarily loaded 1998-09-23 18:36:38 +00:00
bjorn%netscape.com dbd174aa04 Patched the name JS_USE_ONLY_NSPR_LOCKS. 1998-09-22 21:45:13 +00:00
matt%netscape.com 38f78db0e2 Adding mak file for HP-UXB.10.20 1998-09-22 02:13:56 +00:00
norris%netscape.com 17bc1b47f5 Fix bug 323696 "js12: unimplemented bytecode error in switch test"
Rename js_ResetCodeGenerator to js_FinishCodeGenerator to indicate that
js_InitCodeGenerator must be called after finish before it can be reused.
1998-09-21 17:17:26 +00:00
brendan%netscape.com 4e50700cf3 Fix last checkin. 1998-09-20 02:58:41 +00:00
norris%netscape.com 08ad5b88c4 Remove ECMA v2 versioning since v2 is far from settled and we don't know which JavaScript version will implement it. 1998-09-18 20:40:35 +00:00
norris%netscape.com b99dad572b Update version number and release date. Use the date of our next customer drop. 1998-09-18 20:35:09 +00:00
rogerl%netscape.com 4e6d31693b 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 d6fadbfcf5 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 5a01795fc7 (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 52ad7eee4d Propagate mcafee compile-warning fixes from js/src. 1998-09-17 23:48:20 +00:00
jband%netscape.com c2f2903d6c (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 0e3859c96c 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 1de575797f 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 e4ef097296 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 aed9fecc0f 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 db6f030682 - 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 a176d21d9e (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 f4dfd6b008 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 2d4896a55d - 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 4b1cfedc62 Fix 312954 "monkey: on HPUX, special case failure when dividing by -0" 1998-09-10 20:27:16 +00:00
brendan%netscape.com 23e6a804c2 - 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 2c20c38cbc - Use JSBool for MatchChar's return type and values.
- Spacing nits.
1998-09-10 19:58:15 +00:00
brendan%netscape.com 39468107f2 Remove excessive JS_FRIEND_API uses; clean up nits. 1998-09-10 19:18:23 +00:00
shaver%netscape.com 4669a11d9a clean up old assertions and remove vestigial tryLimit 1998-09-10 17:45:37 +00:00
shaver%netscape.com bc8cabf0a8 fix memory leak 1998-09-10 14:56:58 +00:00
brendan%netscape.com 066a9e29bc 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 5666dc55db Remove javaData, left over from original LiveConnect. 1998-09-09 19:20:07 +00:00
brendan%netscape.com b939515f17 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 876b607ce8 - 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 b91138b3e9 Fix tempPool bloat bugs in Function by mark/release around NewTokenStream. 1998-09-09 09:50:40 +00:00
brendan%netscape.com 165efd95a2 - 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 d6bcc66b5a JSMSG_NO_FORMAL duplicated DUPLICATE_FORMAL, now is reborn as BAD_FORMAL. 1998-09-09 09:04:35 +00:00
brendan%netscape.com 0d9f9884d3 Improve TABLESWITCH comment precision and add XXX about JSVERSION_IS_ECMAv2. 1998-09-09 06:35:30 +00:00
brendan%netscape.com d8ab773a94 Renamed SRC_COMMA to SRC_PCDELTA and fixed related comments. 1998-09-09 02:16:19 +00:00
brendan%netscape.com 9aeed8c533 Fix busted version check in JSOP_TABLESWITCH. 1998-09-09 02:01:52 +00:00
shaver%netscape.com 41f9d67912 ToBoolean behaviour for all non-ECMA versions, not just 1.2 1998-09-08 20:59:19 +00:00
brendan%netscape.com 5de3307f74 Don't emit two SRC_HIDDENs in a row. 1998-09-08 18:26:37 +00:00
norris%netscape.com c796c40dc7 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 40006025df Oops! How did that ever work on my Win32 build? 1998-09-08 05:49:12 +00:00
brendan%netscape.com f8bbc56e36 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 46aa885dda Remove '(balance' comments, fix hanging indents, other nits. 1998-09-06 19:23:06 +00:00