bsmedberg%covad.net
d0f309943a
Continuing to land the PACKAGING_20030906_BRANCH for bug 20640. Not part of the build, yet.
2004-01-07 13:37:00 +00:00
bsmedberg%covad.net
274ef7cd49
Beginning to land the PACKAGING_20030906_BRANCH for bug 20640. Not part of the build, yet.
2004-01-07 01:22:31 +00:00
igor%mir2.org
59ae0034a1
Fixing bug 229571 : code refactoring for speed optimization
2004-01-06 13:35:51 +00:00
igor%mir2.org
332cc13ae5
Move details of parsing/code generation from Context to interpreter/optimizer to allow more pluggable compilation interface.
2004-01-05 13:22:40 +00:00
brendan%mozilla.org
c98a6b4d3f
- Eliminate WellTerminated by coalescing its call sites to the end of Statement and inlining it there. This adds a tiny bit of overhead in some cases, due to
...
the ON_CURRENT_LINE check, which can be proven redundant for cases such as the
debugger statement. But the cost should be in the noise, and code size wins.
- Remove bogus lastExprType argument to WellTerminated and eliminate its only
use, in parsing an expression statement. Also eliminate the WellTerminated
check after a function "statement" (which could be a top-level declaration, or
an instance of our function statement extension, e.g. 'if (x) function f(){}',
neither of which should require semicolon termination).
The intent of the lastExprType parameter, the WellTerminated call from the
TOK_FUNCTION case, the call from the default expression-statement case, and the
#if JS_HAS_LEXICAL_CLOSURE code in WellTerminated appears to have been to allow
'function f(){} function g(){}' for JS versions < 1.2, and to forbid it as an
error otherwise, requiring a semicolon in between the function declarations.
But in fact ECMA and good sense should allow as many function declarations on
a line as you please, optionally followed by other statements, and without
requiring semicolons after function declarations.
Since this change removes an error case, I don't expect any incompatibility
bugs to be reported.
- Coalescing/inlining WellTerminated meant removing its call from MatchLabel,
called by the break and continue cases in Statement.
- The debugger keyword could be used without a semicolon terminator to make it
a statement, as in 'debugger 1 + 2;', parsed as a debugger statement followed
by an expression statement -- which seems quite wrong (ECMA reserves debugger
but does not specify its usage).
This bug arose due to the early return at the end of the TOK_DEBUGGER case.
Although that case called WellTerminated, because it returned rather than broke
from the main switch, it failed to match an explicit semicolon terminator (if
present), making 'debugger; 1 + 2;' parse as three statements, with the first
semicolon becoming an empty statement (contrary to ECMA automatic semicolon
insertion rules).
2004-01-05 07:47:49 +00:00
brendan%mozilla.org
5a06114b4c
Use macroized version of dbaron's fix for >65535 line script parsing bug (229006, r=shaver).
2004-01-03 18:19:51 +00:00
brendan%mozilla.org
cecef07869
Fix SCRIPT_FIND_CATCH_START to cope with exceptions thrown from prolog bytecodes (206199, r=shaver, a=asa).
2003-12-31 02:53:02 +00:00
technutz%netscape.net
ad1ae94ec1
MinGW bustage fix from bug 213910's landing. Patch by bsmedberg@covad.net. r=dbaron, sr=brendan
2003-12-30 17:53:17 +00:00
brendan%mozilla.org
5946f557e5
Don't JS_ReportOutOfMemory while holding script_filename_table_lock (r=self).
2003-12-30 07:54:09 +00:00
bsmedberg%covad.net
b3ccee7f7d
Bug 213910 - Implement Components.interfacesByID r=dbradley sr=jst
2003-12-28 04:37:57 +00:00
igor%mir2.org
75d4dec8ea
Cosmetics: removal of tabs left by the previous commit
2003-12-27 21:36:00 +00:00
igor%mir2.org
3cab5b3e26
Decompling parsing from code generation: compiler instances are created only when parsing tree is build.
2003-12-27 21:32:35 +00:00
igor%mir2.org
44e703307d
Initial patch to separate parsing from code generation: changing IRFactory so it can be created in Context.
2003-12-27 09:53:57 +00:00
igor%mir2.org
d4590c48fa
Renaming Kit.badArg() -> Kit.argBug() for consistency with Kit.codeBug()
2003-12-27 09:38:57 +00:00
igor%mir2.org
65aea23579
Moving parsing code from FunctionNode.finishParsing to IRFactory to have better overview of parsing code. The optimizer now calls explicitly OptFunctionNode initialization instead of overriding FunctionNode.finishParsing in OptFunctionNode.
2003-12-26 17:17:21 +00:00
igor%mir2.org
10e91b97ff
Functions to report synatx errors are moved from TokenStream to Interpreter to remove dependancy on TokenStream in NodeTransformer.
2003-12-26 14:01:21 +00:00
igor%mir2.org
32ebb1d38d
Dropping scope argument from Context.compileString/compileReader since it is no longer used as Script instances are scope independent.
...
For compatibility the old form of Context.compileReader is preserved but marked as deprecated.
2003-12-25 22:37:57 +00:00
pschwartau%netscape.com
0f5c835578
Updating README to reflect addition of collect.cgi to mozilla/js/perf/.
2003-12-23 22:46:04 +00:00
pschwartau%netscape.com
04b20eb9ef
Initial add. This is a CGI script that jsPerformance.pl can log results to.
2003-12-23 22:44:51 +00:00
brendan%mozilla.org
54f33f94ec
Disable bogus error check for { followed by a digit (228087, r=shaver).
2003-12-23 17:05:24 +00:00
brendan%mozilla.org
7c6f47247d
Footprint wins: disable export/import from js1.5, fuse common code before a given jump target in js_Invoke, avoid unnecessary subtraction when enforcing ARGC_LIMIT. Also, clean up comment nits.
2003-12-22 06:15:14 +00:00
brendan%mozilla.org
f7d4b5b5f2
Add an assertion to catch an embedding API usage error mentioned recently on m.jseng.
2003-12-22 06:13:07 +00:00
brendan%mozilla.org
f5b40a54ca
Add JS_GetObjectId, void cx->exception in JS_ClearPendingException (127418, r=shaver).
2003-12-22 06:10:51 +00:00
nboyd%atg.com
8390b6a651
Contribution from earestea@scanpak.com.
2003-12-18 20:55:30 +00:00
nboyd%atg.com
3384c4c1f5
Add Aviva info.
2003-12-18 16:53:32 +00:00
pschwartau%netscape.com
3b17289926
Adding more cases
2003-12-16 03:13:04 +00:00
pschwartau%netscape.com
42aa9da4c0
Correcting an error.
2003-12-13 23:52:12 +00:00
pschwartau%netscape.com
20d7a3ea4f
Correcting an error.
2003-12-13 23:41:09 +00:00
pschwartau%netscape.com
bf6feda3d0
Adding more cases.
2003-12-13 23:32:10 +00:00
pschwartau%netscape.com
c8302041c3
Correcting a typo.
2003-12-13 19:37:43 +00:00
pschwartau%netscape.com
36aebce7c8
Text README for jsPerformance.pl.
2003-12-13 19:35:14 +00:00
pschwartau%netscape.com
5399d76814
Trying to correct initial checkin via admin -kb (these are binary files and should have been added to CVS via add -kb).
2003-12-13 19:25:53 +00:00
pschwartau%netscape.com
a3b46f9010
Initial add. Regression testcase for bug 228087.
2003-12-12 23:29:16 +00:00
brendan%mozilla.org
f583fb8580
Followup patch to cope with lightweight function calls (direct or via natives) to exec (227432, r=shaver, a=dbaron).
2003-12-10 00:24:13 +00:00
igor%mir2.org
d7a98d84dc
Message about overcapacity
2003-12-09 19:23:25 +00:00
igor%mir2.org
aeafac2fcf
Cosmetics: removal of tabs
2003-12-09 19:22:58 +00:00
igor%mir2.org
6625e3229d
To avoid bad performance when joining array with few small strings, js_join precalculate the resulting string size.
2003-12-09 19:22:11 +00:00
pschwartau%netscape.com
2efd5657a3
Correcting format from .bmp to .jpg
2003-12-08 23:25:47 +00:00
pschwartau%netscape.com
d25ed5cb53
Changing from folder.gif to folder.jpg.
2003-12-08 22:25:20 +00:00
pschwartau%netscape.com
50e88bdbc5
Image needed for README-jsPerformance.html.
2003-12-08 22:23:23 +00:00
pschwartau%netscape.com
e088611b80
Deleting folder.gif in favor of folder.jpg
2003-12-08 22:19:08 +00:00
pschwartau%netscape.com
2ecdedf667
Initial add. JS shell performance test by mazielobo@netscape.com.
2003-12-08 18:59:19 +00:00
pschwartau%netscape.com
946614fe24
Initial add. Performance-test utility functions by mazielobo@netscape.com.
2003-12-08 18:51:41 +00:00
pschwartau%netscape.com
8f6fc15b50
Images needed for README-jsPerformance.html.
2003-12-08 18:46:10 +00:00
pschwartau%netscape.com
998003cffd
Adaptation by mazielobo@netscape.com of JS Engine test driver (jsDriver.pl by rginda@netscape.com), to run performance tests.
2003-12-08 18:44:55 +00:00
igor%mir2.org
f53203c746
Replacing custom buffer management in replace code with the standard StringBuffer
2003-12-08 17:10:23 +00:00
igor%mir2.org
528efdfe62
Inlining LabelTable into Interpreter and ClassFileWriter: to support jumps spanning over 64K in Interpreter in future LabelTable should be modified significantly and complexity of shared code would not justify it. In addition such inlining actually decrese total code size.
2003-12-08 14:16:53 +00:00
igor%mir2.org
44fae2ad68
Merger ReplaceData and MatchData helper classes into GlobData to reduce code size and rename helper methods to follow SpiderMonkey closely.
2003-12-08 13:24:49 +00:00
igor%mir2.org
aed233007b
Fixing missed cleanup of old values stored in RegExpImpl.parens: now it has type SubString[] and reinitialized after running regexps and see bug 220367.
2003-12-07 21:56:29 +00:00
igor%mir2.org
dcd6522b88
Patch to fix bug 223451 :
...
Check for unbalanced ) and fix for ArrayIndexOutOfBoundsException
Check for unbalanced ')' is done differently then in SM since rhino uses
recursive version of SM code while fix for ArrayIndexOutOfBoundsException is
just a variation of my patch for bug 227705 in SM.
2003-12-07 16:00:38 +00:00