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

2675 Коммитов

Автор SHA1 Сообщение Дата
jband%netscape.com b1a79c9199 Mostly submitted patches...
- Fix bug 54264 from Jon Smirl <jonsmirl@mediaone.net>
  Do cleanup of thread local storage on main thread.

- Fix bug 54275 from Jon Smirl <jonsmirl@mediaone.net>
  Release components in shell before shutting down xpcom

- Fix bug 54310 from Jon Smirl <jonsmirl@mediaone.net>
  Call JS_DestroyScript in xpcshell and js.c

- Fix bug 54352 from Jon Smirl <jonsmirl@mediaone.net>
  Cleanup what static data we can in xpclog.

- Initial fix of bug 54473
  Don't report warnings as errors in wrapped JS calls.

- Fix bug 54462 from Mark Hammond <MarkH@ActiveState.com>
  Fix jband's stupid use of uint8 for method indexes.

- Use environment rather than prefs for #ifdef'd debug options

- Don't report NS_ERROR_FACTORY_REGISTER_AGAIN as an error.

r=mccabe@netscape.com a=jband@netscape.com
2000-09-30 08:16:09 +00:00
mccabe%netscape.com 465dd07c7a Propagate fix to 41872 from the standalone JS shell to the standalone XPConnect-enabled JS shell. Make warnings on by default in the standalone JS shell, and introduce the -W option to suppress warnings if needed. Retained the -w option (enable warnings) in case somebody was using it.
This file doesn't go into the Mozilla distribution.

r=brendan,r=jband
2000-09-30 01:42:29 +00:00
mccabe%netscape.com d11d44e014 Fix to 41872. Make warnings on by default in the standalone JS shell, and introduce the -W option to suppress warnings if needed. Retained the -w option (enable warnings) in case somebody was using it.
This file is not part of the Mozilla build.

r=brendan
2000-09-30 00:24:22 +00:00
nboyd%atg.com d52574f9e0 Allow null returns from SecuritySupport methods if someone only
wants to implement LiveConnect filtering
2000-09-29 13:49:47 +00:00
brendan%mozilla.org 9f53fa4c3a Fix bungled GC_KEEP_ATOMS logic (51954, r=mccabe, a=jband). 2000-09-29 00:18:15 +00:00
brendan%mozilla.org b28c211264 Don't leave fp->sp above fp->spbase when returning, js_Invoke may GC on the way out (53123, r=mccabe, a=jband). 2000-09-29 00:11:49 +00:00
cls%seawood.org cee73d49c2 Do not use c++ comments in c file. Breaks WS5.0 compiler. 2000-09-28 08:08:02 +00:00
mccabe%netscape.com fe00fedb87 Fix to 54307. Patch courtesy Jon Smirl <jon@mediaone.net>.
Clean up several locks that jsdtoa uses, when JS_THREADSAFE.

a=brendan
r=mccabe
2000-09-28 05:14:32 +00:00
mccabe%netscape.com 2b876917e6 Remove unused function prototype.
r=jband
2000-09-28 02:47:40 +00:00
mccabe%netscape.com bec36231b6 Fix to 54305, free array holding fat locks. Patch courtesy Jon Smirl <jonsmirl@mediaone.net>.
a=brendan
r=mccabe
2000-09-27 21:52:27 +00:00
jband%netscape.com c54594db31 NOT PART OF BUILD. fixing tools bustage 2000-09-26 10:23:23 +00:00
pschwartau%netscape.com 2e458fb55e Adding new test case for scope check and creating js1_5 test suite. 2000-09-25 21:24:09 +00:00
nboyd%atg.com f9df3eebdf Miscellaneous formatting changes. 2000-09-25 14:07:45 +00:00
nboyd%atg.com cca63b74af Drop unneeded references. 2000-09-25 14:06:47 +00:00
nboyd%atg.com 7c22356d9a Fix enum.js regression. 2000-09-25 14:04:20 +00:00
waldemar%netscape.com ec904909e9 Added void and classof operators 2000-09-24 06:08:53 +00:00
waldemar%netscape.com 4e0482b40b Made implements clauses js2-only 2000-09-23 08:15:06 +00:00
brendan%mozilla.org cd4a57e441 Fix two distinct bugs with similar symptoms (53123, r=law, a=jband). 2000-09-23 01:23:53 +00:00
jeff.dyer%compilercompany.com 5db74564d0 #45692:r=edburns,a=brendan. Followup fixes for oji liveconnect security. 2000-09-22 13:48:20 +00:00
waldemar%netscape.com e020824d43 Major revisions for Sep 18 and 21 language changes 2000-09-22 08:16:22 +00:00
waldemar%netscape.com 20e9a49178 Removed "constructor" keyword 2000-09-22 08:14:56 +00:00
jband%netscape.com dba5e6f4f1 - Use the thread context service rather than our own JSContext. This makes
us less unthreadsafe. Use THREADSAFE nsISupports impl macro. bug 52936
- Add JS_{Begin,End}Request. bug 39373
- Call xpc->InitClass on each global - not just the superglobal. bug 52591
- Remove some gotos using auto classes for cleanup.
- Converted WITH_SERVICE calls to do_GetService.
- Consistent placement of contractID strings.
a=shaver@mozilla.org
2000-09-21 04:30:32 +00:00
jband%netscape.com 1d7edfaa2e rest of the fix for bug 53268. a=brendan@mozilla.org 2000-09-21 03:56:42 +00:00
brendan%mozilla.org 3fb6399734 Fix 53268, r=jband. 2000-09-21 01:37:02 +00:00
rogerl%netscape.com 6a6ec06924 Cleanup warning fix. 2000-09-19 20:56:49 +00:00
rogerl%netscape.com 6f4f3db7ad Fixed warnings for gcc build. 2000-09-19 20:35:05 +00:00
beard%netscape.com 63c790b90b Fixed startup/terminate routines. 2000-09-19 05:38:23 +00:00
beard%netscape.com 560a653ad5 [Not part of build] Really increase default heap size, to 8192. 2000-09-19 02:50:00 +00:00
beard%netscape.com 353f308977 Bumped up memory/stack. 2000-09-19 02:34:41 +00:00
brendan%mozilla.org 293ddb04d6 Add strict warning for undefined property reference (foo.bar where bar names no object in foo or its prototypes; r=jband). 2000-09-19 02:24:11 +00:00
brendan%mozilla.org dc510bc6a5 Fix JS_BeginRequest to avoid self-deadlock if called from a finalizer (52808, r=jband). 2000-09-19 02:18:17 +00:00
jband%netscape.com 8769f0cf40 fix shutdown crasher bug 52940. We can't leave the thread context stack service thinking that the context we are about to delete is still valid. a,r=brendan@mozilla.org 2000-09-19 01:09:48 +00:00
beard%netscape.com 0c16b3c574 Create SIOUX console with menus, etc. r=jband, a=brendan 2000-09-18 23:49:46 +00:00
brendan%mozilla.org bea5c86c60 Censor all Call objects, per ECMA-262 (r=rogerl, 53037). 2000-09-18 23:35:22 +00:00
brendan%mozilla.org 7f91358ad8 - Fix encodeURI, decodeURI, etc. common subroutines to avoid realloc'ing char
by char, by using a larger chunk size (64 chars) for linear growth.  Also got
  rid of ASCII-oriented add_bytes subroutine and related sprintf usage.
- Avoid reloading loop invariant str->chars all the time in encode and decode.
- Avoid creating garbage strings for unescaped and reserved character sets, by
  using statically initialized jschar array constants.
- Expand tabs, clean up 80th column violations, use prevailing style, etc.
2000-09-18 22:17:30 +00:00
nboyd%atg.com 26a444c83d Expand javadoc. 2000-09-18 18:38:02 +00:00
nboyd%atg.com 358852ab05 Remove old-style debug codegen. 2000-09-18 17:57:02 +00:00
nboyd%atg.com 7f1be5b439 Better error message for common error. 2000-09-18 17:28:59 +00:00
beard%netscape.com d91a2944d5 Make XPC shell compile on XP_MAC. r=jband, a=brendan 2000-09-17 15:34:39 +00:00
jband%netscape.com 6cca586d48 NOT PART OF BUILD. Fix xpconenct test uses of progids missed in the big progid to contractid renaming 2000-09-16 22:17:23 +00:00
brendan%mozilla.org 3fae06f653 - Back out part of patch from tlundeen@webcrossing.com, my fault for taking it
in part (the entire patch made JSContexts ref-counted, but that is not an API
  compatible change, and it doesn't help clean up at JS_Finish time if the API
  user leaks JSContext refs anyway).  52835, r=jband.
- First part of 64-bit portability fix for 52792, r=jnance.  More work needed.
- Fix bogus assert and minimization in js_AllocStack, too.
2000-09-16 22:17:22 +00:00
jband%netscape.com 8b640618cc NOT PART OF BUILD. Fix xpconenct test uses of progids missed in the big progid to contractid renaming 2000-09-16 21:47:32 +00:00
beard%netscape.com 11d6570dc7 [Not part of build] Project to build XPConnect shell testbed. 2000-09-16 02:43:29 +00:00
jband%netscape.com fae201b405 fix bug 39373. make xpconnect calls into JS within a request for safety. a,r=brendan@mozilla.org 2000-09-15 06:59:38 +00:00
jband%netscape.com 317a99cdd1 fix bug 52579. Avoid infinite recursion dialog when JS is run by xpconnect on DOM context. a,r=brendan@mozilla.org 2000-09-15 06:17:08 +00:00
brendan%mozilla.org 324d1a170d Better patch for bug and bogus assertion found by rogerc@geocast.com. 2000-09-15 06:05:28 +00:00
rayw%netscape.com 3cd14f5878 Bug fix for 52648 -- remaining stash of progids which I missed on
the mega-change yesterday.  This will fix a few more issues.

r=warren
2000-09-14 23:20:49 +00:00
rogerl%netscape.com b9fca9000b Bug #46429. r=rginda. Fixed bug in nested quantifiers. 2000-09-14 22:39:21 +00:00
brendan%mozilla.org 81ead0f52a Fix bogus new assertion in js_AllocGCThing (r=rogerc@geocast.com). 2000-09-14 19:58:11 +00:00
brendan%mozilla.org 76a1bda8a7 Fixes to make JS GC truly exact:
- All jsvals for which JSVAL_IS_GCTHING evaluates to true must contain tagged
pointers into the GC heap -- therefore jsapi.c's JS_DefineConstDoubles cannot
"cheat" by tagging addresses of static jsdoubles to avoid js_NewNumberValue.

- Finalization is now interleaved with the Sweep phase, to avoid allocating
memory for finalization records while sweeping.  Instead, the JSRuntime holds a
preallocated JSGCThing vector (gcFinalVec) that the Sweep phase fills and
flushes via gc_finalize_phase, repeatedly.

This means that finalizers cannot allocate a new GC thing, an incompatible but
plausible change.  js_AllocGCThing asserts and then checks whether it is called
while rt->gcLevel is non-zero, and fails the allocation attempt if so.  But this
fixes bug 38942, where the old sweep-then-finalize with a sweep => malloc
dependency could lead to memory exhaustion.

- Instead of scanning whole stackPool arenas, which led to UMRs (bug 27924) and
sometimes to gross over-scanning that depended on the GC bounds-checking all
thing pointers against its heap, we scan exactly those stack slots in use:
  - arguments reachable from fp->argv;
  - variables reachable from fp->vars;
  - operands now reachable from fp->spbase, bounded above by the lesser of
    fp->sp or fp->spbase + fp->script->depth for an interpreted frame; if the
    latter, fp->sp has advanced logically above the operand budget, in order to
    call a native method, and all unused slots from fp->sp up to depth slots
    above fp->spbase must be set to JSVAL_VOID;
  - stack segments pushed when calling native methods, prefixed by JSStackHeader
    structs and linked from cx->stackSegments through each header.
The stack segment headers help the GC avoid scanning unused portions of the
stack: the generating pc slots running depth slots below fp->spbase, and slots
at the end of an arena that aren't sufficient to satisfy a contiguous allocation
for more args, vars, or operands.

- Exact GC means the stack pointer must remain above live operands until the
interpreter is done with them, so jsinterp.c got heavily whacked.  Instead of
POPs of various kinds followed by a PUSH for binary operators (e.g.), we use
FETCH and STORE macros that index by -1 and -2 from sp, and minimize adjustments
to sp.  When sp is homed to fp->sp, this allows js_DecompileValueGenerator to
find the value reliably, and if possible its generating pc.

- Finally, the O(n**2) growth rate of gc_find_flags has been fixed, using the
scheme sketched in bug 49816 and documented in a new major comment in jsgc.c.
Briefly, by allocating flags and things from one arena, we can align things on
1024-byte "thing page" boundaries, and use JSGCPageInfo headers in each page to
find a given thing's flags in O(1) time.

/be
2000-09-14 06:14:45 +00:00