brendan%mozilla.org
d754a6a75f
Fix bug reported by Adrian Klein <master@dragosan.net> where o['if'] is decompiled as o.if.
2004-01-18 18:31:34 +00:00
igor%mir2.org
176a213396
Deprecating ClassNameHelper and ClassRepository in favor of new optimizer/ClassCompiler.
2004-01-17 21:52:30 +00:00
igor%mir2.org
b629e258d7
optimizer.ClassCompiler provides new simple API for generating of class files from scripts that does not require to create Context instances.
...
The jsc tool is updated to use the new interface instead of using ClassNamehelper and friends.
2004-01-17 21:02:32 +00:00
igor%mir2.org
134428fef2
1. optimizer/Codegen now just generates byte code classes, the instantiation of classes is done in a separated class optimizer/ClassCompiler. This is done to provide in future a simple interface to generate class files instead of complicated ClassNameHelper and friends implementation.
...
2. Parser now stores TokenStream instance in its field instead of having it present in each and every method signature. It allowed to simplify interaction between Parser and IRFactory where the later now uses Parser.reportError so parser van recover from syntax errors and provide better error reporting.
2004-01-16 18:20:22 +00:00
igor%mir2.org
0fc143dd7c
Added setters for properties of CompilerEnvirons.java so it can be initialized
...
without having Context object.
2004-01-16 16:09:07 +00:00
igor%mir2.org
34ebe5f4c1
Renaming Context.hrowAsUncheckedException to Context.throwAsScriptRuntimeEx to better reflect its purpose, providing better documentation and making sure it throws only instances of EcmaError and EvaluatorException.
2004-01-16 15:14:25 +00:00
igor%mir2.org
497a0f766c
Fixing bug 228336 :
...
This is a Rhino version of Brandan's patch from attachment 138844, bug 228087
plus code to fix overflow problem reported in bug 230216.
2004-01-16 15:11:31 +00:00
igor%mir2.org
a7050e5460
throwAsUncheckedException is moved from ScriptRuntime to Context as a useful API to use in external applications.
2004-01-15 20:41:57 +00:00
igor%mir2.org
f26418ea3f
Fixing typo in comments
2004-01-15 20:40:56 +00:00
igor%mir2.org
96ea5ea515
Patch from Alex Bitney to fix bug 230883
2004-01-15 20:10:54 +00:00
brendan%mozilla.org
1d61995445
Unify license comment per js/src/plify_jsdhash.sed, plus comment simplification.
2004-01-15 02:00:55 +00:00
brendan%mozilla.org
44dd443b8e
Anything that starts like a {min,max} quantifier but doesn't parse as one is taken as a flat string to match (228087, r=shaver).
2004-01-12 21:10:26 +00:00
timeless%mozdev.org
1bba00a7fc
Bug 230522 warning C4047: 'return' : 'foo *' differs in levels of in direction from 'int'
...
rs=brendan
2004-01-11 17:26:30 +00:00
timeless%mozdev.org
d217b68005
Adding support for WinXP (copied from Win2k)
2004-01-09 20:15:27 +00:00
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