Commit Graph

5595 Commits

Author SHA1 Message Date
pschwartau%netscape.com
de6f7a3a8b Initial add. Regression test for bug 220584. 2003-09-29 17:45:15 +00:00
igor%mir2.org
f8232c4663 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220584 :
Script() result has no prototype and scope chains

Fix: initialize scope and prototype for Script instances in
NativeScript.jsConstructor

If Script is called as a constructor, it will get the proper parent and
prototype from the generic code to initialize newly constructed objects but if
it is called as a function, then it is the responsibility of the call
implementation to do the job.
2003-09-28 22:52:57 +00:00
igor%mir2.org
b74c0ad822 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220362 :
Local functions lose scope when called from outside (compiled with dynamic scopes, optlevel >= 0)

Fix: ignore dynamic scope for nested functions and functions declared within
the with statement.

The patch makes optimizer to behave in the same way as the interpreter does
with regard to dynamic scope: it ignores it for nested functions and functions
declared under with statements. Now parser checks for such functions and set
new flag itsIgnoreDynamicScope in FunctionNode. The flag then checked both by
interpreter and optimizer during byte code generation.

The patch also changes slightly interaction between changing dynamic scope flag
and interpreted Script instances. Currently the dynamic flag is read during
script execution but patch changes interpreter to behave exactly as the
optimizer does: the dynamic flag only affect script compilation, changes in its
value does not affect already compiled scripts.
2003-09-28 20:01:27 +00:00
igor%mir2.org
1ef13c34c6 Self-documenting example 2003-09-28 19:49:07 +00:00
igor%mir2.org
caa446bcc0 Added msg.adapter.zero.args 2003-09-28 18:14:16 +00:00
igor%mir2.org
b976cc3dce JavaAdapter.createAdapterCode now takes the function name to function arity instead of Scriptable object. It allows to remove a hack from optimizer/Codegen where it created a temporary Scriptable just to populate it with FunctionNode as a source of arity values thus violating requirement on types of JS values.
The rest of JavaAdapter code is updated to use the ned form of the method as well.
2003-09-28 18:13:51 +00:00
igor%mir2.org
0335328a4b In ScriptRuntime.toInt32 check for Integer, not Byte when doing short-circuit optimization since Integer is always used to wrap int values. 2003-09-28 16:03:10 +00:00
brendan%mozilla.org
553f7df961 Redo thread/process stack size checking and API to avoid having to guess/fudge; instead, require embedders to advise explicitly, for fudge-free limits and backward API compatibility (192414, r=shaver). 2003-09-26 22:47:01 +00:00
pschwartau%netscape.com
2bf2a57dd4 Improving readability. 2003-09-26 19:37:15 +00:00
pschwartau%netscape.com
769b832c24 Initial add. Regression test for bug 220367. 2003-09-26 19:24:58 +00:00
pschwartau%netscape.com
59648663bd Initial add. Regression test for bug 220362. 2003-09-26 18:56:23 +00:00
igor%mir2.org
fc51c3df0e Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220367 :
Fix: if in RegExpImpl.getParenSubString parens.get(i) is null, return
emptySubstring

If a branch of | with capturing () does not match , then RegExpImpl.parens will
contain null for corresponding $<group-number> according to code in
NativeRegExp.executeRegExp(). The current code does not check for a possible
null in RegExpImpl.parens when calling toString and the patch fixes that by
making sure that getParenSubString return SubString.emptySubString in such
cases.
2003-09-26 17:25:33 +00:00
brendan%mozilla.org
34313f0f12 Follow-up fix to clamp cx->stackLimit so it doesn't wrap (192414, r=shaver). 2003-09-26 17:22:14 +00:00
brendan%mozilla.org
7cb2529128 Check in my version of a patch to avoid thread or process stack overflow from Igor Bukanov <igor@fastmail.fm> (192414, r=shaver). 2003-09-24 16:49:58 +00:00
igor%mir2.org
9aed8fe664 Use ScriptableObject.getPropertyIds(jsObj) to get all object ids instead of explicit working throw prototype chain. 2003-09-24 13:35:52 +00:00
igor%mir2.org
0924111af4 Optimization in getPropertyIds: since Scriptable.getIds returns unique ids, check against id duplication only if prototype chain contains more then one object with enumerable ids. It this way there is no need to allocate hash map in the common case of objects without enumerable properties on the prototype chain. 2003-09-24 13:32:42 +00:00
igor%mir2.org
f04a8dec42 Optimization in IdEnumeration: since Scriptable.getIds returns unique ids, check against id duplication only if prototype chain contains more then one object with enumerable ids. It this way there is no need to allocate hash map in the common case of objects without enumerable properties on the prototype chain. 2003-09-24 13:29:17 +00:00
brendan%mozilla.org
2497aed559 Eliminate unnecessary local variable. 2003-09-23 00:07:24 +00:00
brendan%mozilla.org
fa18fa1e14 Don't finish temp and code arena-pools in JS_GC, in case it's nesting in the compiler via the debugger (131712, r=rginda, sr=shaver). 2003-09-19 18:36:50 +00:00
igor%mir2.org
7546dbbac4 Use special subclasses of Node to represent various jumps and control structures to avoid allocating of property objects for frequently occurring parse tree nodes. 2003-09-18 16:20:32 +00:00
igor%mir2.org
7848633a4a Mark parse subtree for finally statement with Token.FINALLY instead of using special property to mark USETEMP node. 2003-09-17 13:43:12 +00:00
igor%mir2.org
8df24a01d8 Addressing http://bugzilla.mozilla.org/show_bug.cgi?id=219055 :
Delay creation of NativeError wrapper for EcmaError until the exception is caught in the script.
2003-09-16 16:08:55 +00:00
mkaply%us.ibm.com
1e85c1d2f9 #215581
r/sr=brendan
Changes to get GCC 3.2.2 working on OS/2 - this set is OS/2 only changes
2003-09-15 22:10:12 +00:00
rginda%netscape.com
1bc491b06a bug 217768, interruptHandler isn't properly loaded if trapHandler returns JSTRAP_CONTINUE
sr=brendan
2003-09-15 18:50:10 +00:00
dougt%meer.net
57083559e2 Fixing 219094. Simple build bustage fix. r=darin 2003-09-15 04:13:19 +00:00
igor%mir2.org
c7382925ac Changing Main.eval implementation to use compileString/exec instead of evalString to avoid dependancy on NativeGlobal when passing explicit thisObj to Script instances when they implement Function interface which holds currently in Rhino. 2003-09-12 17:12:20 +00:00
igor%mir2.org
9aa6317814 Cosmetics: identation fixes 2003-09-12 15:04:21 +00:00
igor%mir2.org
ca657b86ae Siplified code to extract error message from Throwable to reflect recent changes in exception-related API semantics. 2003-09-11 15:41:06 +00:00
igor%mir2.org
cf45db3956 Changing Context.newObject to use ScriptRuntime.getExistingCtor to get constructor Function instance. In this way Context.newObject will throw the same set of exceptions that other parts of Rhino will throw on bad access to constructor.
With this change NotAFunctionException is no longer used so it is deprecated and changed to extend from Error not Exception for source compatibility: otherwise compiler will complain about unreachable catch handler.
2003-09-10 12:44:23 +00:00
igor%mir2.org
f0adcfbccd Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=218440 :
Making Script implementations by Interpreter and Optimizer scope independent while keeping while still supporting compiling of regexp literals only once per Script instance.
2003-09-10 11:06:25 +00:00
igor%mir2.org
207ceb33fe Restoring NativeJavaPackage(String) constructor as deprecated for compatibility with Batik. 2003-09-09 13:27:11 +00:00
igor%mir2.org
0296631e46 ScriptRuntime.getCatchObject is modified to allow to accept instances of EvaluatorException, not only its WrappedException subclass. 2003-09-09 13:25:15 +00:00
igor%mir2.org
68676e179e Restoring JavaScriptException(String) as deprecated constructor for compatibility with BSF. 2003-09-09 13:22:50 +00:00
pschwartau%netscape.com
5547869e54 Initial add. Regresssion test for bug 216320. 2003-09-09 00:37:49 +00:00
bryner%brianryner.com
9d11b3c424 Fix build on gcc 3.4 by removing extra semicolons (bug 218551). r/sr=dbaron, a=brendan. 2003-09-07 22:37:27 +00:00
igor%mir2.org
88c394e664 Explicit separation between regexp compilation and execution: all data structures that represent compiled regexp are moved to a separated RECompiled class. 2003-09-06 15:49:05 +00:00
igor%mir2.org
31b2256d97 To construct regexp objects the generated code now calls omj.RegExpProxy instead of explicit calls to NativeRegExp constructor. It removes dependence of compiled Script instances on details of RegExp implementation. 2003-09-06 15:44:41 +00:00
igor%mir2.org
f8c669f1dd Added ScriptRuntime.checkRegExpProxy which is used in Interpreter and NativeString to check for regexp package presence instead of own duplicating code.
RegExpProxy.find_split is changed to include Context argument to follow the rest of RegExpProxy functions.
2003-09-06 15:41:03 +00:00
igor%mir2.org
de7b10603e I made most internal functions of NativeRegExp static since they do not reference NativeRegExp. 2003-09-06 12:49:07 +00:00
igor%mir2.org
54f85a5212 ScriptRuntime.main now takes Script as the first argument since it is simpler instantiate Script directly and pass it to ScriptRuntime.main then load Script lass which will be then instantiated in ScriptRuntime.main 2003-09-06 07:51:02 +00:00
igor%mir2.org
c9d7ff074e Replace Context field In REGlobalData by boolean multiline since it is the only information that is needed for matching code from RegExpImpl which was previously accessed through Context. 2003-09-05 21:22:51 +00:00
igor%mir2.org
1fe8179c7b Fixing regression caused by optimizer changes to address http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
Now Script.exec can be called more then once.
2003-09-05 21:17:58 +00:00
igor%mir2.org
54563952a0 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=213279 :
Replacing static caches by global scope based storage.
2003-09-05 14:35:09 +00:00
igor%mir2.org
008e6de35a Patch from Nicolas JOUVE to address http://bugzilla.mozilla.org/show_bug.cgi?id=218163 2003-09-05 09:04:36 +00:00
igor%mir2.org
fbd31b0fe2 Cosmetics: removal of EOL blanks 2003-09-03 14:26:39 +00:00
igor%mir2.org
2956f5b69d Work for http://bugzilla.mozilla.org/show_bug.cgi?id=213279 :
Code for NativeJavaPackage.TopLevelPackage is moved to a separated file NativeJavaTopPackage.java
2003-09-03 10:42:36 +00:00
brendan%mozilla.org
214fac7ac4 Fix js_FinishTakingSrcNotes edge-case (bug 216320, r=shaver, a=asa). 2003-09-03 02:10:38 +00:00
igor%mir2.org
6e967acb16 Fix from Merten Schumann to initialize lineNumber/sourceName in the constructor, see http://bugzilla.mozilla.org/show_bug.cgi?id=217584 . 2003-09-02 12:32:41 +00:00
igor%mir2.org
57f50e5f8d Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=214594 :
In IRFactory.createLoop propagate line number information to the condition subtree for "while" and "for" loops so exceptions generated in a loop condition would have proper line number.
2003-09-02 06:23:20 +00:00
igor%mir2.org
0b3c7a2041 Fix from Olivier Oeuillot to address http://bugzilla.mozilla.org/show_bug.cgi?id=212395 . 2003-09-01 13:32:33 +00:00
igor%mir2.org
1dadf61103 Fix from Ming-Yee Iu to address http://bugzilla.mozilla.org/show_bug.cgi?id=217951 2003-09-01 11:06:03 +00:00
igor%mir2.org
2aa340aba8 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217379 :
The code in RegExpImpl.findReplen did not take into account that a particular
parenthesis pair can be null if it is not captured. The patch fixes that to
send undefined to the replace function for that case.
2003-09-01 09:05:52 +00:00
igor%mir2.org
6814bf31f0 Fix for DToA.JS_dtoa() to resolve http://bugzilla.mozilla.org/show_bug.cgi?id=217268 2003-08-31 19:42:58 +00:00
igor%mir2.org
46c31c6a73 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217346 :
I changed DToA.JS_dtobasestr to use BigInteger for its integer part when it does not fit long.
2003-08-30 15:34:44 +00:00
igor%mir2.org
4936fa3877 Finalizing work on http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
Now optimizer generates exactly one class per script and all its functions.
2003-08-30 12:02:19 +00:00
igor%mir2.org
d1be8de8ca Changing ScriptRuntime to return vois since it does not and should not change scope 2003-08-30 12:02:18 +00:00
igor%mir2.org
b8655920a5 More fixing for http://bugzilla.mozilla.org/show_bug.cgi?id=217584 :
Use Context.getSourcePositionFromStack in the EvaluatorException(String details) constructor to get line number information.
2003-08-30 11:59:15 +00:00
pkw%us.ibm.com
48c6e651e5 Bug 217499: Clean up AIX libpath and configure script
r=cls@seawood.org, a=asa@mozilla.org
2003-08-29 17:15:06 +00:00
igor%mir2.org
cd2ce4c17c Cosmetics: removal end-of-line blanks 2003-08-29 15:28:08 +00:00
igor%mir2.org
965090841f Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217584 :
Implementation of Merten Schumann suggestion to add to EvaluatorException and JavaScripException information about script source name and error line .
2003-08-29 13:19:37 +00:00
igor%mir2.org
37375e32cf More work for http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
The patch changes omj.NativeScript to represent only instances of Script object
in scripts and removes its second role to server as a superclass for compiled
forms of JS scripts. In is not only allow to make optimizer to generate only
single class but also would make instances of Script generated by optimizer not
to depend on the scope. The later is essential for Script object reuse to
execute it against different scopes.
2003-08-29 10:42:23 +00:00
igor%mir2.org
3c9b841737 Working on http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
Now optimizer will generate only one class for all functions a script contains instead of class per function.
2003-08-28 12:40:10 +00:00
igor%mir2.org
89468875b8 Changing signature of addConstant from short to int and updating the code correspondingly to allow for constant indexes to exceed 32K since their type is unsigned short, not short and int allows to cover that while removing casts. 2003-08-28 12:29:01 +00:00
igor%mir2.org
6dd4d70e56 1. Removal of NativeScript.initScript which was empty and was never overridden by script function implementations.
2. Using in NativeScript.compile Context.compileString instead of compileReader to avoid unnecessary construction of StringReader.

3. Overriding NativeFunction.getEncodedSource() in NativeScript to call this method on the delegated script object so decompilation of scripts constructed via script.compile would work.
2003-08-27 11:53:01 +00:00
igor%mir2.org
18456e5ca1 NativeFunction.decompile abd NativeFunction.initScriptFunction are final since script function implementations should not override them. 2003-08-27 11:47:19 +00:00
igor%mir2.org
894383d75f New form of markTableSwitchCase that allows to mark a switch case jump target and adjust stack top. 2003-08-27 11:44:46 +00:00
igor%mir2.org
51bf324448 Added NativeFunction.initScriptFunction to initialize NativeFunction.argNames, NativeFunction.version and its usage in InterpretedFunction/InterpretedScript.
It will allow to make the protected fields in NativeFunction private when the optimizer will be updated to use the new function.
2003-08-26 18:06:10 +00:00
igor%mir2.org
2709c61a4d Using ScriptRuntime.emptyStrings to return emoty var array 2003-08-26 15:45:16 +00:00
igor%mir2.org
cb46fe1b41 Added public static final String[] emptyStrings to denote zero-length string array 2003-08-26 15:45:15 +00:00
igor%mir2.org
7d0e681b6a Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217257 :
Patch from Larry Blair to fix decodeURIComponent()
2003-08-26 15:45:14 +00:00
igor%mir2.org
f9b335bf06 Making createObject public so optimizer implementation can access it outside BaseFunction subclass 2003-08-26 15:45:13 +00:00
igor%mir2.org
856b7cabb4 1. Support for generation tableswitch code
2. Utility method addLoadThis() as an alias for add(ByteCode.ALOAD_0)
2003-08-26 15:43:11 +00:00
igor%mir2.org
a803853242 Fixing line-table initialization issue: set itsLineNumberTableTop to 0 at the end of stopMethod so generation of multiple methods with source line information would work. 2003-08-22 09:10:14 +00:00
caillon%returnzero.com
f8e8aed8a7 Backing out the patch to bug 83536.
I will reland this when 1.6a re-opens.
r+sr=jst@netscape.com
a=chofmann
2003-08-22 03:06:53 +00:00
igor%mir2.org
9983fdb0e8 Cosmetics: removal of end-of-line blanks 2003-08-20 11:11:00 +00:00
igor%mir2.org
9be83bb44c Splitting Codegen into 2 Codegen and BodyCodegen where the second class contains code to generate butecode for the body of script. 2003-08-20 10:52:54 +00:00
igor%mir2.org
b6c1d3644c 1. Codegen.classNameToSignature is removed and call to the methods are replaced by cfw.classNameToSignature.
2. Calls to ClassFileWriter.fullyQualifiedForm are removed since all ClassFileWriter API accepts both dotted and slashed forms of Java class names.

3. Few identation fixes
2003-08-20 07:36:33 +00:00
igor%mir2.org
43cbf72f08 1. Added ClassFileWriter.classNameToSignature to convert Java class name into JVM signature.
2. The public method getFullyQualifieedForm that was used to replace . to / is removed since all classname API accepts both form of class names and convertion to the internal /-form can be done in ClassFileWriter in a more efficient way.
2003-08-20 07:32:48 +00:00
pschwartau%netscape.com
60a8469472 Correcting a typo. 2003-08-19 16:45:03 +00:00
pschwartau%netscape.com
19674c814c Initial add. Regression test for bug 216591. 2003-08-19 16:36:54 +00:00
igor%mir2.org
040923febc More renames and preparations for code split. 2003-08-19 15:37:50 +00:00
igor%mir2.org
32e0764d1c More preparations for separating code to generate main script method and the rest of methods. 2003-08-19 13:19:57 +00:00
igor%mir2.org
bd2594e6eb 1. Renaming Codegen.classFile to Codegen.cfw and removal of methods like push/load/store in favour of directly calling ClassFileMethods.
2. Move all code related to generating of prologue for main function implementation to Codegen.generatePrologue.

In this way the following patch to split Codegen into 2 classes to factor away all generation code for the main function will look smaller.
2003-08-19 08:21:36 +00:00
igor%mir2.org
810aa53fd8 Renaming [ilfda]load/store into add[ILFDA]Load/Store for consistency and moving package-private functions from ByteCode to ClassFileWriter so JVM does not need to load ByteCode since it includes only constants. 2003-08-19 08:15:33 +00:00
igor%mir2.org
ed64a67527 Replace few usages of Node.cloneNode by a more explicit code to create a fesh childless node copy. 2003-08-18 14:27:51 +00:00
igor%mir2.org
abefa99b1e Using simple Token.<op> instead of (Token.EQOP, Token.<op>) to denote parser nodes for equality operations. It allowed to remove sharing of Node.intValue to mean line number and operation type so it was renamed to Node.lineno. 2003-08-18 11:53:00 +00:00
igor%mir2.org
5f6517906c Added store/load function to shortcut add(ByteCode.x, i) 2003-08-18 11:49:39 +00:00
igor%mir2.org
041149139b Using simple Token.<op> instead of (Token.RELOP, Token.<op>) to denote parser nodes for relational operation. 2003-08-18 09:55:19 +00:00
igor%mir2.org
5be8c599eb Move code to classify binary and relation operation tokens to IRFactory so parser does not need to know about details of tree implementation. 2003-08-18 08:05:06 +00:00
igor%mir2.org
0ee771b8c2 Changing order of parameters in ScriptRuntime.instanceOf to match order in ScriptRuntime.in to use simpler code in optimizer. 2003-08-18 08:00:55 +00:00
igor%mir2.org
7c70d93492 Removal of unnecessary instanceOf: Scriptable does not have such method and Undefined does not need to override it. 2003-08-18 07:57:40 +00:00
cls%seawood.org
1b51ba858c Set MODULE in makefiles at the top of a heirarchy so that module-deps lists are more precise and builds will have the proper order if some subdirs contain other modules. 2003-08-16 00:42:35 +00:00
igor%mir2.org
fe402a8124 Make all convertions from == to === to support JavaScript 1.2 to single place in Parser 2003-08-15 16:48:56 +00:00
igor%mir2.org
b96ac683c8 Added explicit IRFactory.createIncDec to create ++/-- subtree which removed need to have Token.PRE/Token.POST. 2003-08-15 11:19:47 +00:00
igor%mir2.org
9fce703481 Removal of Token.UNARYOP: after the previous patches parse tree used Token.UNARYOP only to group Token.TYPEOF and Token.VOID into the same node type. Since they are very different, it is simpler to use the tokens directly as node type.
To remove ambiguity caused by re-use of Token.VOID to denote no-operation node, a new Token.EMPTY is added to denote the former usage.
2003-08-15 10:21:09 +00:00
igor%mir2.org
b63333276d Added Token.TYPEOFNAME to denote explicitly parser nodes for typeof(name) to make code more explicit about this case compared with typeof(expression) which is denote by Token.TYPEOF. Previously the ambiguity was resolved by using (Token.UNARY.OP, Token.TYPEOF) for parser tree nodes denoting the later and simple Token.TYPEOF for the former. 2003-08-15 09:00:42 +00:00
igor%mir2.org
7fdd9e85d1 Another replace of (Token.UNARYOP, Token.X) -> Token.X: this time it is for Token.BITNOT and Token.NOT 2003-08-15 08:11:32 +00:00
igor%mir2.org
09c327adc3 Changing Token.POS, Token.NEG to represent their parser tree nodes by the token themselves, not via pair Token.UNARYOP, POS/NEG. It simplifies code especially in optimizer/Optimizer.java 2003-08-15 07:15:07 +00:00
igor%mir2.org
9a1fbf3def Removal of Token.TONUMBER: it had exactly the same semantics as Token.POS, that is to convert its argument to number. 2003-08-15 06:08:44 +00:00
rginda%netscape.com
8f4d8cb810 bug 216112, "add ability to disable object tracking in jsd"
r=caillon, sr=brendan, a=asa

adds the ability to turn off the object tracking without having to disable the debugger.  should make a dormant venkman less of a performance impact.
2003-08-14 22:49:09 +00:00
igor%mir2.org
e1290d4dbb Removal of Token.PRIMARY: it was used in parser to group primary tokens such as false, true, null, this but since the semantic of them is very different it is simpler to create parse tree nodes directly from tokens and check only for node type, not for type and operation. 2003-08-14 14:49:46 +00:00
igor%mir2.org
13865e4143 Parser tree nodes of Token.CONVERT type are replaced by Token.TONUMBER and additional optimizer nodes to convert to double or object eliminating the need to distinguish them by Node.TYPE_PROPERTY. 2003-08-14 11:21:46 +00:00
igor%mir2.org
0dec223435 Removal of TypeEvent since its essential functionality beyond the declaration of few constants was used only to implement OptLocalVariable.assignType. Inlining that code eliminated need in TypeEvent. 2003-08-14 06:03:22 +00:00
brendan%mozilla.org
165194b972 One more comment tweak. 2003-08-14 01:19:30 +00:00
brendan%mozilla.org
1ba5b62aa7 Followup to last checkin to better comment the dependency I missed. 2003-08-14 01:17:27 +00:00
igor%mir2.org
a5f9d59614 Change TokenStream to return operational tokens as is without grouping them through Token.UNARY, Token.PRIMARY etc. Instead do grouping only in parser. In this way exceptional cases when grouping of tokens has to be changed by parser (like reinterpretation of Token.IN) it is easy to deal with. Another advantage is decompiler simplification since it does not need to perform nested switches to unwrap tokens. 2003-08-13 14:21:39 +00:00
igor%mir2.org
6fa381d49b I replaced Token.ADD/Token.SUB by Token.POS/Token.NEG as operands of UNARY operation nodes in parse tree. This is mostly for readability and to catch ADD/SUB misuse earlier. 2003-08-13 11:57:33 +00:00
igor%mir2.org
593784cb96 Cosmetics: nodeOp as variable name is replaced by assignOp in methods related to construction of assignment nodes. 2003-08-13 11:53:14 +00:00
igor%mir2.org
a4742a5fe9 Change Parser to use IRFactory.createAssignment to create assignment nodes instead of calling createBinary only to handle assignments explicitly in IRFactory later. 2003-08-13 10:51:38 +00:00
brendan%mozilla.org
1ed53e7ef1 Really fix 215878, with great help from darin. 2003-08-13 06:54:13 +00:00
igor%mir2.org
a692d990fc Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=215923 :
Search prototype chain of JS this until wrapped Java object is found that is compatible with Java this.
2003-08-13 06:04:41 +00:00
brendan%mozilla.org
f2e719a0e8 Restore next-to-last rev, which is harmless. 2003-08-13 05:25:04 +00:00
darin%meer.net
37619fcb6b backing out changes for bug 215878 to clear tinderbox orange (startup crash) 2003-08-13 05:17:14 +00:00
brendan%mozilla.org
09094b8f3b Fix js_FinishTakingSrcNotes 'logic gap' bug (215878, r=shaver, a=dveditz). 2003-08-12 23:42:55 +00:00
igor%mir2.org
9c0e1f0749 Making Decompiler.decompile public and changing NativeFunction.getSourceFunction() to return Object so it is easy to implement alternative presentation of encoded source. 2003-08-12 13:12:39 +00:00
igor%mir2.org
08560c4e86 Encoded source presentation changes.
Now encoded source does not encode sources of nested functions as external references. Rather they are encoded as any other source elements and to implement function.toString() runtime stores starting and ending offsets for function encoded source.

In this way decompiler is separated from the rest of runtime and external applications can access the encoded source with less efforts.
2003-08-12 11:50:48 +00:00
igor%mir2.org
a9944948f9 Using ScriptRuntime.emptyStrings to return emoty var array 2003-08-12 11:50:45 +00:00
igor%mir2.org
e725b9c0be Switching to use ClassFileWriter.addPush(String) instead of ClassFileWriter.addLoadConstant(String) to support string constants with JVM UTF8 encoding exceeding 64k. 2003-08-11 14:54:19 +00:00
igor%mir2.org
93e05fffaa Fixing bugs in the initial implementation of ClassFileWriter.addPush(String): now it works 2003-08-11 14:14:12 +00:00
igor%mir2.org
3594eb4b6b Use special token to encode function escape in Decompiler instead of using elaborated code to distinguish between start of function and function escape. 2003-08-11 11:06:21 +00:00
igor%mir2.org
8a8ca75068 Adding readFile function to the shell to read file context. 2003-08-11 10:54:40 +00:00
igor%mir2.org
af20fbe788 making decompiler class public so public method Parser.parser still can be called from outside omj. 2003-08-08 16:42:41 +00:00
igor%mir2.org
5523fffb09 Pass Decompiler object as an argument for Parser.parse instead of creating an instance there for better flexibility. 2003-08-08 15:42:19 +00:00
igor%mir2.org
6d6c104572 Calling Decompiler.decompile directly instead of calling Parser.decompile 2003-08-08 15:36:48 +00:00
igor%mir2.org
dda5331153 Decompiler class is moved to a separated file 2003-08-08 10:35:57 +00:00
igor%mir2.org
1c08dda3b8 1. Fixing Decompler.decopile for a function body when justBody is true Token.LC is added to the list of tokens to skip in function header.
2. Various cleanups in Decompiler to finalize Parser/Decompler split.
2003-08-08 09:35:36 +00:00
igor%mir2.org
0148813038 push(int/double) simply calls now ClassFileWriter.addPush() 2003-08-08 09:32:40 +00:00
igor%mir2.org
9ad008dd30 Added addPush(String) to generate code to push the given String into stack even if String does not fit the class file format restriction that JVM utf-8 encoding of strings in constant pool can not exceed 64K - 1.
Also added addPush(int/double) for symmetry, they are copied here from omj/optimizer/Codegen.java.
2003-08-08 09:30:57 +00:00
igor%mir2.org
99e484ca5b Restoring from bad commit of development uncompilable code 2003-08-07 15:10:10 +00:00
igor%mir2.org
666483b96d Notification of debugger about finished compilation of script/top-level-function is moved to a separated function. In this way Interpreter and ScriptOrFnNode does not need to pass original source around just to throw it away if debugger is not present. 2003-08-07 15:08:00 +00:00
igor%mir2.org
74d4f30e0e Replace anonymous/empty name play for functions constructed through Function in NativeFunction/Parser by using anonymous when necessary when assembling function source from Function arguments. 2003-08-07 10:46:41 +00:00
igor%mir2.org
954158fd2c Less generic code for interactioon between Parser and Decompiler 2003-08-07 07:19:16 +00:00
igor%mir2.org
db59f1d230 Code to generate/decode encoded source presentation is factored to a separated class Decompiler. 2003-08-06 16:18:28 +00:00
igor%mir2.org
2b68f1745e 1. Add Token.NOT as a byte code instead of generating if code to push false/true as "!" is frequent enough and interpreter does not have optimized mode to remove most of its usage in logical context.
2. When dumping icode, print it to System.out instead of icode.txt file for more convenient development.
2003-08-06 11:37:14 +00:00
igor%mir2.org
d153c65a1b build.xml reorganization to add deepclean, clean and help targets and making help a default target, see for details http://bugzilla.mozilla.org/show_bug.cgi?id=214997 2003-08-06 07:47:58 +00:00
igor%mir2.org
faf2a30c39 More tokens used only in Interpreter are moved from Token to Interpreter. I also added addToken/addIcode to be used instead of simple addByte to catch bugs about wrong byte code as soon as possible. 2003-08-06 07:39:37 +00:00
igor%mir2.org
f95ae1ab5b I changed Context.codeBug to return RuntimeException instead of void to be able to wright "throw Context.codeBug()" when simple "Context.codeBug()" leads to a compile error about unreachable code or missed return. 2003-08-06 07:37:27 +00:00
brendan%mozilla.org
33b1784614 I can't believe that after all the work for bug 208030, I forgot to re-base js_GetSrcNote's notion of note origin to the script's prolog, from its main entry point (214761). 2003-08-06 06:56:01 +00:00
brendan%mozilla.org
b7cdb7debb Add shared DHashTableOps for [const] char *key use-cases, clean up dhash API abusages (214839, r=dougt, sr=dbaron). 2003-08-05 20:09:21 +00:00
igor%mir2.org
87aeaade82 1. Constants in Token that are used only as Interpreter bytecode are moved to Interpreter.
2. LAST_BYTECODE_TOKEN is added to Token to server as a base for internal Interpreter bytecodes instead of Token.LAST_TOKEN. In this way compiler can generate more denser code for switches over interpreter bytecode.
2003-08-05 15:58:39 +00:00
igor%mir2.org
fa6d86fba0 SOURCEFILE bytecode used to restore interpreter source information is replaced by setting cx.interpreterSourceFile at the beginning of Interpreter.interpreter and restoring the old value at the end. 2003-08-05 11:16:14 +00:00
igor%mir2.org
61cd64260c I moved definitions of tokens in Tokenstream to separated class Token. In this way minimal Rhino distribution way remove Token class since it only necessary during compilation and strings with constant names would not be loaded into JVM. 2003-08-04 15:00:06 +00:00
igor%mir2.org
fb9ac64c2e Initialize cx.interpreterSourceFile with script o r function source name before starting bytecode execution so this information for the first script throw/runtime exception 2003-08-04 13:01:06 +00:00
igor%mir2.org
040a93626e Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=214945 :
Optimize away empty try block only if finally is empty as well.
2003-08-04 12:57:15 +00:00
igor%mir2.org
30718f5ece <center><h1>... is replaced by <h1 align=center> to avoid warning from javadoc 2003-08-04 07:51:19 +00:00
brendan%mozilla.org
9d6835e2ba Prevent recursive divergence via watchpoint handlers (213482, r=scole). 2003-08-03 21:59:50 +00:00
igor%mir2.org
86bdaa37fc Fixing /** coments to remove JavaDoc errors/warnings 2003-08-03 21:40:22 +00:00
pschwartau%netscape.com
c0ed4e801d Rhino shell has been updated to exit with code 3, not 1 on OutOfMemory/StackOverflow exceptions. 2003-08-03 18:20:24 +00:00
cls%seawood.org
09671327f5 Remove unused references to xpcom_obsolete
Bug #38122 r=dougt sr=bryner
2003-08-02 20:17:28 +00:00
cls%seawood.org
b05376f6a4 Fixing XPCONNECT_STANDALONE bustage 2003-08-02 19:33:52 +00:00
brendan%mozilla.org
1befd85eee Fix JS_SetTrap to cope with existing trap at same PC, overwriting its handler and closure (213841, r=self). 2003-08-01 23:16:04 +00:00
igor%mir2.org
9d44b5410e Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=214608 :
The reason for the regression is that now JavaMembers.lookupClass never
attempts to reflect package-private classes. But this is wrong since even with
SecirutyManager installed JVM allows to call Class.getMethos()( and returns
list of all public methods in the class and its super classes.

The patch removes the restrictions while making JavaMembers.lookupClass much
simpler.
2003-07-31 17:08:58 +00:00
brendan%mozilla.org
ccebdd1892 Fix off-by-N in CG_COUNT_FINAL_SRCNOTES (214210). 2003-07-29 09:11:04 +00:00
brendan%mozilla.org
8b14ddcf8f Fix 7x bloat bug due to off-by-1-level-of-indirection in sizeof type param typo (214176, r=Mitch@0Bits.COM). 2003-07-28 20:58:52 +00:00
brendan%mozilla.org
ab61333253 Undo critical part of last change to try to fix crashing testerboxes. 2003-07-28 18:30:12 +00:00
brendan%mozilla.org
d099ebd936 Minor cleanups to last checkin. 2003-07-28 05:46:18 +00:00
brendan%mozilla.org
4fa5213a91 Big dynamic footprint win via script filename caching, plus line number fix for strict/const diags (see http://bugzilla.mozilla.org/attachment.cgi?id=127130&action=view for detailed checkin comments; 208030, r/rs=shaver, r=rginda on the jsd change, r=jst on the dom change). 2003-07-26 22:37:11 +00:00
igor%mir2.org
3bad6fe1f8 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=213231 :
All information about exception handlers are stored in exception table eliminating the need to have TRY bytecode.
2003-07-24 10:50:29 +00:00
igor%mir2.org
6a3aad3989 Work in progress on http://bugzilla.mozilla.org/show_bug.cgi?id=213231 :
Replacing try stack by static table of exception handlers
2003-07-24 10:46:46 +00:00
igor%mir2.org
7625f8b519 Work in progress on http://bugzilla.mozilla.org/show_bug.cgi?id=213231 :
When handling exceptions, restore proper scope without using try stack
2003-07-24 10:45:30 +00:00
igor%mir2.org
dfd7e9d362 Restoring NativeJavaMethod(Method, String) for backward compatibility. 2003-07-24 09:06:44 +00:00
caillon%returnzero.com
91b7c60bee Bug 83536.
Merge script principal implementations into one class.
Should reduce footprint, speed up calls to caps a little bit, and fixes several memory leaks.
Also fixes bugs 211174 and 211263
r=jst@netscape.com
sr=bzbarsky@mit.edu
moa=mstoltz@netscape.com (he looked at an earlier patch and said it looked fine, and will do a retroactive review when he returns from vacation as well)
2003-07-24 05:15:20 +00:00
mkaply%us.ibm.com
0ebbd8021a rs=leaf
Remove XP_OS2_VACPP from the tree
2003-07-22 21:08:40 +00:00
mkaply%us.ibm.com
672b9405e9 rs=leaf
Remove XP_OS2_VACPP from the tree
2003-07-22 20:29:43 +00:00
mkaply%us.ibm.com
1a38ab2d00 rs=leaf
Remove XP_OS2_VACPP from the tree
2003-07-22 18:38:01 +00:00
igor%mir2.org
e0de8aab17 Move code to adjust stack depth for finally handler from TARGET case of the main switch in generateICode to TRY switch generating all the code for try. It allows to remove special marking of JSR targets with FINALLY_PROP and make stack handling for catch and finally block uniform. 2003-07-22 13:41:35 +00:00
igor%mir2.org
687dff0fe1 Removal of JTHROW byte code: instead of generation byte code pair [GOSUB exception handler], JTHROW, RETSUB from finally now supports re-throwing of exception object directly when called from exception handler.
Now the exception handler invokes finally code with the exception object on the stack top, not PC to return which allows RETSUB to distinguish between this and GOSUB invocation.
2003-07-22 13:04:07 +00:00
igor%mir2.org
ebe60fb675 Move ENDTRY, JTHROW, GOSUB and RETSUB from TokenStream to Interpreter as they specific only to Interpreter implementation. 2003-07-22 11:16:54 +00:00
igor%mir2.org
cef7d514f9 Removal of code to handle stack chages when generationg GOSUB to finally code for finally handler: the stack size adjustments is done during FINALLY code generation already. 2003-07-22 08:58:08 +00:00
igor%mir2.org
a6ec3480e3 When generating code to invoke finally block from exception handler, do not store exception object in the local slot but rather leave it on JS stack and update finally block generation to expect potentially 2 objects on stack, not single return pc address. 2003-07-21 16:27:48 +00:00
igor%mir2.org
004397fe5e Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=201893 :
New class MemberBox wraps Method or Constructor instances to cache results of getParameterType() and other information and to to replace Method instance by more accessible one recovery from IllegalAccessException is possible.
2003-07-15 20:47:29 +00:00
igor%mir2.org
697f7be97f Cosmetics: layot fixes 2003-07-15 20:44:17 +00:00
timeless%mozdev.org
a193909a38 Bug 212287 xpcwrappedjsclass.cpp:891: warning: unused variable `PRUnichar * sourceNameUni'
r=dbradley sr=kin
2003-07-14 21:13:46 +00:00
timeless%mozdev.org
7cb43b4c54 Bug 212266 xpcexception.cpp:236: warning: assignment of negative value -1' to unsigned int'
r=dbradley sr=kin
2003-07-14 21:12:24 +00:00
jaggernaut%netscape.com
2d7ed90a69 Bug 73353: clean up MODULE/REQUIRES story. r=cls, sr=bryner 2003-07-13 22:29:00 +00:00
igor%mir2.org
6f97ac4088 Throw IllegalArgumentException from compileString/compileReader if script line number is negative instead of catching it much later via Context.codeBug(). 2003-07-09 19:27:46 +00:00
igor%mir2.org
5188320068 1. To evaluate script represented by String, use Context.evaluateString to avoid the need to create StringReader instances.
2. Catch VirtualMachineError so on out-of-memory/stack-overflow the shell will exit with System.exit(EXITCODE_RUNTIME_ERROR), not with 1. It will allow to distinguish cases when script tried to consume all available stack/memory with bugs in Rhino itself leading to NullPointerException etc.

3. Remove code to rethrow ThreadDeath from JavaScriptExcception since ThreadDeath is re-thrown by the engine itself.
2003-07-06 19:21:42 +00:00
igor%mir2.org
dd893acd8d Caching of Method/Constructor.getParameterType()
To avoid constant calling of Method/Constructor.getParameterType() which creates a new Class array on each call, NativeJavaMethod stores the parameter types for its methods in methodTypes array and similarly JavaMembers holds all constructor types in ctorTypes array. The cached Class arrays are passed explicitly to methods that previously called getParameterType().
2003-07-06 19:07:00 +00:00
igor%mir2.org
c1add24197 Cosmetics: use
import java.lang.reflect.*;
import java.io.*;

instead of explicit importing multiple classes.
2003-07-06 19:02:03 +00:00
igor%mir2.org
32619aac8e NativeJavaMethod.add is removed. It allows to assume that after NativeJavaMethod constructor methods array will remain the same, which I will use in the following patch to add caching of Method.getParameterTypes.
Instead of calling NativeJavaMethod.add, JavaMembers assemble the method list directly and then pass it to NativeJavaMethod when done.
2003-07-06 18:59:30 +00:00
igor%mir2.org
2dd779b626 Pass staticType to wrapAsJavaObject to restore an option to use it for reflection instead of dynamicType if a security manager prevents the later 2003-07-06 18:51:54 +00:00
igor%mir2.org
4b42da1dbb More JavaMembers cosmetics:
1. All its methods package private methods that are not accesible outside the class itself are made private.

2. Various package-private getters are removed in favor of direct field access.
2003-07-06 18:51:53 +00:00
igor%mir2.org
1c181334c2 1. Changing NativeJavaMethod.findFunction to return index of found method instead of the method itself to make smaller the following optimizations of findFunction.
2. Removal of NativeJavaMethod.getMethod that simply returned package-private field NativeJavaMethod.methods since the filed itself was accessed directly by other files.
2003-07-05 22:13:33 +00:00
igor%mir2.org
4fdc22f62d Added reportRuntimeError4 and getMessage4 to build 4-argument messages 2003-07-05 22:05:55 +00:00
igor%mir2.org
922f49f971 For compatibility, resurrect unwrap as deprecated method. 2003-07-03 18:51:16 +00:00
pschwartau%netscape.com
ae38e3c537 Initial add. Regression test for bug 210682. 2003-07-02 23:43:09 +00:00
igor%mir2.org
c922b2359b Added public FunctionObject.getMethodOrConstructor() to resolve
http://bugzilla.mozilla.org/show_bug.cgi?id=108719
2003-07-02 21:07:44 +00:00
igor%mir2.org
b5dd8750a1 Do not store dynamic scope flag in the object. Instead when checking thisObj against Java this type use scope != getParentScope() to detect such usage. 2003-07-02 19:41:48 +00:00
igor%mir2.org
df5af91220 Updating exception debugging to reflect changes due to http://bugzilla.mozilla.org/show_bug.cgi?id=210605 . 2003-07-02 16:37:29 +00:00
igor%mir2.org
10e5abd5a1 Reorganization of Java and JavaScript exception iteraction. See http://bugzilla.mozilla.org/show_bug.cgi?id=210605 for details. 2003-07-02 16:35:51 +00:00
igor%mir2.org
50093185e7 1. Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=102093 :
In NativeCall constructor adds argument object only if there is no parameters with this name and similarly do not set arguments to undefined if the function has "var arguments".

2. Split NativeCall into NativeCall and NativeCallPrototype to allow for smaller activation objects with faster property access.
2003-07-02 16:31:54 +00:00
igor%mir2.org
e168d3f93a Cosmetics: end-of-line junk space removal 2003-07-01 07:18:07 +00:00
igor%mir2.org
78167b2c67 Teach Committing.generateCatchBlock() to generate catch blocks for EcmaError exceptions to avoid code duplication. 2003-06-30 20:21:32 +00:00
igor%mir2.org
0ca2f9239b The code to deal with caught Java exceptions and transfer control to script finally/catch is transfered to CATCH bytecode which is now always added to the and of script bytecode. In this way if Context.observeInstructionCount throws an exception, a proper cleanup to restore Interpreter runtime will still be carried out. It also allowed to transfer control directly to catch/finally code when script call throw instead of throwing Java exception just to capture it immediately.
This special CATCH bytecode is a simple way to workaround lack of goto in Java which makes writing interpreters more complex then necessary...
2003-06-30 19:31:44 +00:00
igor%mir2.org
387b707f61 Added ScriptRuntime.getCatchObject() for extracting JS object to pass as the argument to JS catch statement. 2003-06-30 19:21:41 +00:00
igor%mir2.org
6d1229405a Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=210682 :
A slightly modified version of Brian Gugliemetti fix for bad interaction in TokenStream.getToken()/peekTokenSameLine() when dealing with EOL.
2003-06-30 19:18:31 +00:00
igor%mir2.org
90c20109d8 Removal of deprecated DefiningClassLoader 2003-06-29 22:32:52 +00:00
igor%mir2.org
b4b7524a24 Exception handling cleanup: use CATCH bytecode to extract JS object from Trowable so any exception that happens during this process will be handled properly. 2003-06-29 22:12:48 +00:00
igor%mir2.org
f1f70ebd4e Cosmetics: removal of unused import 2003-06-29 21:58:01 +00:00
brendan%mozilla.org
0542fec384 Argh, inverted logic bug. 2003-06-28 00:55:12 +00:00
brendan%mozilla.org
4b1f9c1f48 Try to fix IRIX port bustage. 2003-06-28 00:09:25 +00:00
pschwartau%netscape.com
c8fd7b2143 Adding 2 more sections. 2003-06-20 21:10:24 +00:00
pschwartau%netscape.com
676d30cf80 Improving comments. 2003-06-20 05:27:38 +00:00
pschwartau%netscape.com
27c2fd7dc5 Adding 2 more sections, and an explanation for the matches by Waldemar. 2003-06-20 05:23:06 +00:00
pschwartau%netscape.com
7c7bb79ec1 Improving comments. 2003-06-20 04:56:50 +00:00
pschwartau%netscape.com
5f4fd209a2 Improving comments. 2003-06-20 04:55:00 +00:00
dbradley%netscape.com
f135a145fa Bug 205586 - IDispatch should convert VT_EMPTY as JSVAL_VOID and VT_NULL as JSVAL_NULL. r=adamlock, sr=alecf 2003-06-20 04:12:26 +00:00
dbradley%netscape.com
d1bcd398fc Bug 204765 - Parameterized properties expression don't return the assigned value. r=adamlock, sr=alecf 2003-06-20 04:10:15 +00:00
dbradley%netscape.com
1e7ae8efa5 Bug 204894 - Implement GeckoActiveXObject.supports(clsid). r=dbradley, sr=alecf 2003-06-20 04:08:17 +00:00
pschwartau%netscape.com
795021a138 Correcting test per Waldemar at bug 209919 comment 11. 2003-06-20 00:40:01 +00:00
pschwartau%netscape.com
129f4eb65d Initial add. Regression test for bug 209919. 2003-06-19 21:26:19 +00:00
brendan%mozilla.org
97fe42fbbd Try to fix OSF1 (TRU64). 2003-06-19 04:43:23 +00:00
brendan%mozilla.org
165e8e03ac Try to fix OSF1 (TRU64). 2003-06-19 00:47:31 +00:00
pschwartau%netscape.com
120a3b71cf Adding a carriage return at end of file. 2003-06-17 21:32:48 +00:00
dbradley%netscape.com
5d58c9449f bug 203797 - IDispatch support should allow FUNC_VIRTUAL and FUNC_PUREVIRTUAL. r=adamloc, sr=alecf 2003-06-16 14:38:15 +00:00
brendan%mozilla.org
b65cae1e34 Hack out ports that don't offer setenv. 2003-06-14 06:10:04 +00:00
pschwartau%netscape.com
f88776bc0a Moving all catch guard tests from the ecma_3/Exceptions directory to the js1_5/Exceptions directory, since this is non-ECMA syntax. 2003-06-14 01:16:36 +00:00
brendan%mozilla.org
12de161f6f Try to fix HPUX bustage. 2003-06-14 00:10:09 +00:00
brendan%mozilla.org
1758ac34e1 Need jsconfig.h and #if JS_HAS_XDR...#endif around guts of file (208586, r=pschwartau). 2003-06-13 23:58:36 +00:00
brendan%mozilla.org
e053dfcfc1 - Add an environment object, to reflect the shell's environment variables.
- Cleaned up command line argument processing so the arguments object is
  available to all scripts (-f foo.js or the final bar.js non-option arg).
  Also made - work in all cases (-f - or - as the final arg) to mean stdin.
- Miscellaneous formatting and style cleanup.
2003-06-13 21:25:10 +00:00
pschwartau%netscape.com
9bdc9ea55b Improving readability. 2003-06-13 18:09:45 +00:00
pschwartau%netscape.com
6b9c65b8d7 Improving readability. 2003-06-13 01:18:18 +00:00
pschwartau%netscape.com
288425ab00 Initial add. Regression test for bug 209067.js 2003-06-12 23:07:27 +00:00
brendan%mozilla.org
9abcc83528 Oops, this should have been checked in as part of the bug 208586 landing. 2003-06-12 00:26:40 +00:00
brendan%mozilla.org
05be1e35a2 More resolve cleanup: eliminate cx->resolving (redundant w.r.t. cx->resolvingTable && cx->resolvingTable->entryCount); use JS_DHASH_ADD and test for non-null key part, not LOOKUP-and-test-non-busy-then-ADD. 2003-06-11 23:43:56 +00:00
igor%mir2.org
31641ef33a Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=208293 :
Patch from Steve Beal to fix my bug in Context.readReader.
2003-06-11 13:27:23 +00:00
igor%mir2.org
12a288b564 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=207999 :
EcmaError constructor now takes a generic Scriptable and not NativeError so classes outside org.mozilla.javascript can use it.
2003-06-11 07:36:11 +00:00
igor%mir2.org
4b523296c6 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=207968 :
As suggested by Roland Knight, WrappedException does not call exception.fillInStackTrace() to prevent hiding of the original stack trace.
2003-06-11 07:33:22 +00:00
seawood%netscape.com
97649bab86 Removing old cfm build files. Use the CFM_LAST_RITES tag to resurrect. r=macdev 2003-06-10 21:18:27 +00:00
seawood%netscape.com
b28ce0a530 Removing old cfm build files. Use the CFM_LAST_RITES tag to resurrect. r=macdev 2003-06-10 20:12:33 +00:00
pschwartau%netscape.com
5bb72599e3 Initial add. Regression test for bug 208496. 2003-06-09 21:01:09 +00:00
pschwartau%netscape.com
a7b53cf365 Removing in order to rename test as regress-208496-001.js 2003-06-09 21:00:02 +00:00
brendan%mozilla.org
b7c5f4bd8b Subtly better comment for last change. 2003-06-08 20:31:06 +00:00
brendan%mozilla.org
668326c888 Followup fix to remaining problem pointed out by Itaj Sherman (208496). 2003-06-08 18:55:53 +00:00
brendan%mozilla.org
0117803d6b Slight comment tweaks to last checkin. 2003-06-07 21:31:00 +00:00
brendan%mozilla.org
d484baa7a8 Minimal ECMA-262 Edition 3 config, plus cleanup to other configs (208586, r=shaver). 2003-06-07 21:08:45 +00:00
brendan%mozilla.org
cbad68cb9e Hide arg and var properties of function objects from with statements (208496, r=rogerl). 2003-06-06 21:43:14 +00:00
pschwartau%netscape.com
03098d0886 Making sections 5 and 6 a little sharper. 2003-06-06 20:55:38 +00:00
brendan%mozilla.org
4cb2da47b8 Canonical forever loops. 2003-06-06 19:00:40 +00:00
pschwartau%netscape.com
49163c4ca4 Adding more cases to the test. 2003-06-06 18:34:49 +00:00
pschwartau%netscape.com
5f7a2f190c Initialize the |actual| variable so it doesn't hold |undefined|. 2003-06-06 00:02:30 +00:00
pschwartau%netscape.com
f284d473d5 Initial add. Regression test for bug 208496. 2003-06-05 23:54:44 +00:00
brendan%mozilla.org
27c26166cd Unify on JS_DHASH_ADD to avoid gratuitous lookup-before-add in cx->resolvingTable (r=me again). 2003-06-05 18:49:13 +00:00
dbradley%netscape.com
453bdc97a8 Bug 205768 - Enumeration of wrapped IDispatch objects is broken. r=adamlock, sr=alecf. 2003-06-05 11:57:03 +00:00
brendan%mozilla.org
83d0fc9e6f One more self-reviewed speedup nitpick. 2003-06-04 02:29:02 +00:00
brendan%mozilla.org
682fda84a7 Unify double/{hi,lo} union to fix bad ifdef'ing for ARM in jsnum.c (208048, r=rogerl). 2003-06-04 00:12:18 +00:00
brendan%mozilla.org
06f549bd5f Remove useless and redundant code from a few places in the *SWITCH generator (r=self). 2003-06-03 04:29:30 +00:00
brendan%mozilla.org
11ed254ddb 64-bit portability fix from Thomas Moestl <t.moestl@tu-bs.de> (207673, r=me). 2003-06-02 19:04:36 +00:00
igor%mir2.org
db16eb9355 To store properties, replace UintMap by a linked list. The former creates 2 objects (UintMap itself and int array) to store int properties and 3 objects (additional object array) to store object properties but vast majority of Nodes has no more then 2 properties with single-property-node contributing most to the majority. 2003-06-02 06:35:57 +00:00
brendan%mozilla.org
33cce84916 Disable DEBUG_brendan stuff. 2003-05-30 20:25:42 +00:00
brendan%mozilla.org
2851f144f1 Constipation and comment spelling fixes. 2003-05-30 20:23:59 +00:00
pschwartau%netscape.com
542950e60a Updating JS_GetImplementationVersion() to date of latest JS release (67111). 2003-05-30 00:10:38 +00:00
timeless%mozdev.org
fc568807c5 Bug 207327 @mozilla.org/js/jsd/app-start-observer;2 isn't registering itself correctly as an app-startup observer service
r=rginda
2003-05-28 22:34:20 +00:00
dbradley%netscape.com
aa6f9be384 Bug 163018 - This patch fixes some problems the original patch created when building SpiderMonkey. This basically renames LIB to LIBDIR because of the conflict with the compiler's use of LIB. r=cls, sr=brendan 2003-05-27 14:46:21 +00:00
timeless%mozdev.org
4da679c883 Bug 205523 `java_wrapper_obj' might be used uninitialized in jsj_WrapJSObject
r=beard sr=dmose
2003-05-23 22:14:15 +00:00
timeless%mozdev.org
30ad7506e5 Bug 205247 warning: `JSBool ReportOutOfMemory(class XPCCallContext &)' defined but not used
r=dbradley sr=dmose
2003-05-23 22:06:27 +00:00
brendan%mozilla.org
45dec14534 White space cleanup. 2003-05-21 23:15:12 +00:00
igor%mir2.org
d1ca7cd329 Pass IRFactory to Parser.parse instead of Parser constructor so Parser initialization would not require IRFactory which needs Interpreter in turn . 2003-05-21 12:09:08 +00:00
igor%mir2.org
f46fd7f3b0 Layout cosmetics 2003-05-21 11:48:32 +00:00
brendan%mozilla.org
27e8c9452b Remove ancient include of jshash.h, no longer needed since the double hashing and property tree changes went in. 2003-05-21 02:20:59 +00:00
igor%mir2.org
6b6368d8c8 Added WrapFactory.wrapAsJavaObject to simplify customization of LiveConnect 2003-05-20 12:46:09 +00:00
igor%mir2.org
e449bd5853 Adding missed final qualifier to the declaration of js_NaN_date_str field 2003-05-20 08:10:48 +00:00
brendan%mozilla.org
5a9aff3e93 Comment and 80th column violation tweaks. 2003-05-19 22:01:57 +00:00
igor%mir2.org
fde9643eed Addition of seal function to Rhino shell to seal all supplied arguments. 2003-05-19 15:53:23 +00:00
brendan%mozilla.org
ed8733c3ca Out of date comment fixed. 2003-05-17 22:34:09 +00:00
igor%mir2.org
3f84d7fe70 Resolving http://bugzilla.mozilla.org/show_bug.cgi?id=203013 :
Changing behavior of sealed objects to throw an exception on any attempt to modify them including changing values of existing properties. In the same time making object sealed does not affect read-only status of its properties which allows to override properties of objects with a sealed object as a prototype.

Rhino shell now accepts -sealedlib option to seal all standard objects.
2003-05-16 14:25:57 +00:00
igor%mir2.org
6fb4e51cdf Optimizations in NativeDate mostly to reduce amount of various format strings runtime has to initialize. 2003-05-16 08:32:58 +00:00
timeless%mozdev.org
90d061ebe0 Bug 163018 Fix support for lib64 & x86-64 architectures
patch by gbeauchesne@mandrakesoft.com r=shaver a=asa
2003-05-16 00:21:08 +00:00
dbradley%netscape.com
c963c9d8f8 Additional XPConnect test cases for IDispatch. (Not part of the build) 2003-05-15 21:16:27 +00:00
igor%mir2.org
d6229c666d NativeObject is split into NativeObject and NativeObjectPrototype subclass not to have prototypeFlag field in each and every object instance. 2003-05-15 13:12:41 +00:00
igor%mir2.org
3fb9f1b2ab Resolving http://bugzilla.mozilla.org/show_bug.cgi?id=205661 :
In setBySetter when start != this setters with delegators and setters without one if start is not an instance of this class are not invoked on start. Instead the standard JS rules applies so x.a = 1 would not change a in x.__proto__ if a in x.__proto__ is controlled by setter.
2003-05-15 07:29:46 +00:00
brendan%mozilla.org
803d51df77 Fix ancient ECMA conformance bug to-do with implicit variable definition order in assignments (204919, r=rogerl, a=asa). 2003-05-14 20:57:47 +00:00
igor%mir2.org
9e9108a091 In getByGetter/setBySetter with slot.delegateTo avoid potentially expensive checks for start type if this == start. 2003-05-14 14:51:00 +00:00
igor%mir2.org
7f65f9ebed Changing JavaAdapter not to define JavaAdapter.prototype since new JavaAdapter create JS objects with __proto__ pointing to Object.prototype. It removes the need to extend from ScriptableObject in JavaAdapter and effectively makes it a collection of static methods.
To implement JavaAdapter JS call I used JIFunction subclass so the method implementing this functionality can be package private.
2003-05-14 12:44:24 +00:00
igor%mir2.org
6e6a6e7226 More layout fixes and renames to make the following commit smaller. 2003-05-14 09:45:59 +00:00
igor%mir2.org
36b6f85b95 In jsConstructor catch reflection exceptions and rethrow them as WrappedException not to create InvocationTargetException proxy that will be converted to WrappedException by the runtime in any case. 2003-05-14 09:37:39 +00:00
igor%mir2.org
f88a99c04b Removal of overridden equals that simply calls super.equals since JavaAdapter does not need to define the method for ScriptableObject.defineClass to work and layout cosmetics. 2003-05-14 06:24:00 +00:00
igor%mir2.org
65e85a6cc2 Replace catch for various exceptions that reflection methods can throw by single catch (Exception ex) to have smaller code. 2003-05-13 10:07:44 +00:00
igor%mir2.org
d0fc67bca5 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=205297 2003-05-12 16:54:41 +00:00
dbradley%netscape.com
1da27167df bug 204659 - Security manager check needs adjusting. r=adamlock, sr=alecf, a=sspitzer 2003-05-10 04:10:29 +00:00
brendan%mozilla.org
710c694ac3 Fix overbroad getter/setter access check to apply only to scripted getters/setters; fix wrong object class name in error messages (198660, r=mstoltz, sr=jst, a=asa). 2003-05-09 00:40:50 +00:00
pschwartau%netscape.com
50819da455 Oops, I accidentally had section 2 of the test commented out! Uncommenting it now - 2003-05-08 21:19:09 +00:00
pschwartau%netscape.com
266fb1118c Initial add. Tests ECMA-262 Ed. 3 Section 11.13.1, and is a regression test for bug 204919. 2003-05-08 21:08:19 +00:00
dbradley%netscape.com
ed939cc1c4 Bug 204731 - Variant(IDispatch) properties, if empty cause a crash. r=adamlock, sr=alecf, a=asa 2003-05-08 13:28:38 +00:00
igor%mir2.org
b7d1664a5d Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=201896 :
New helper class JIFunction for easy implementation of JS functions in Java without using reflection and its usage in ImporterTopLevel and NativeJavaPackage
2003-05-06 18:59:22 +00:00
igor%mir2.org
39e3557521 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=204210 2003-05-06 18:53:16 +00:00
nboyd%atg.com
bfd7fbedd9 Fix suggested by Bojan Cekrlic in Bugzilla Bug 203752:
While you are messing arround with JavaScriptException, is it possible to add

if(value instanceof Throwable) {
	initCause((Throwable) value);
}

I know it's a Java 1.4 feature and not directly connected to this bug and don't
know what's the Rhino's policy of supported Java versions, but it in the end it
could be done with method.invoke() or something similar.

This would help debugging a lot.
2003-05-06 16:56:38 +00:00
igor%mir2.org
e96d15dffb Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=204513 2003-05-06 15:29:36 +00:00
igor%mir2.org
050bb6a756 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=204576
Using (x instanceof Wrapper) instead of (x instanceof NativeJavaObject) which replaces the previous fix of unwrapping NativeJavaObject.call arguments for the custom wrappers problem.
2003-05-06 10:51:24 +00:00
igor%mir2.org
615d3d50af Cosmetics: removal of NativeJavaObject. prefix when calling NativeJavaObject methods. 2003-05-05 16:15:50 +00:00
pschwartau%netscape.com
bd9b9f8881 Initial add. Regression test for bug 204210. 2003-05-03 20:35:17 +00:00
brendan%mozilla.org
061ad75168 Restore lost API compatibility: copy getter and setter as well as shortid when shadowing a prototype property that has a shortid (203084, r=rogerl, sr=shaver). 2003-05-02 17:36:58 +00:00
igor%mir2.org
0b305af30a When marking parse tree nodes as special calls, use explicit integer id to specify node type, note a generic boolean flag. It would allow for simpler code during special calls evaluation. 2003-05-02 14:00:19 +00:00
igor%mir2.org
fb9e9f48e4 In ScriptRuntime.callOrNewSpecial remove special handling of exec calls since it is never used. 2003-05-02 12:16:05 +00:00
igor%mir2.org
b6541a48a4 Simpler code in Codegen.visitRegularCall to select which runtime method to call. 2003-05-02 11:34:05 +00:00
igor%mir2.org
9de1cfa5c7 Cosmetics: tabs and end-of-line whitespace removal 2003-05-02 10:27:56 +00:00
dbradley%netscape.com
32e3336281 Bug 203093 - Move ActiveXObject --> NSActiveXObject -> GeckActiveXObject. r=adamlock, sr=alecf, a=sspitzer 2003-05-02 04:09:12 +00:00
rginda%netscape.com
63d0b6201f Bug 204028, "debugger service crashes when asked to eval an empty string"
a=sspitzer@netscape.com

return NS_ERROR_INVALID_ARG if asked to eval an empty string
2003-05-01 18:50:58 +00:00
igor%mir2.org
0e73aa80cc More comments on IdFunction.createObject and layout cosmetics. 2003-05-01 10:34:19 +00:00
igor%mir2.org
4a4ee98421 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=203909 :
1. Reorganization of BaseFunction.construct to always call createObject to avoid the need to re-implement construct in IdFunction and FunctionObject when much simpler code for subclassing createObject will do the job.

2. Throwing TypeError in IdFunction.createObject if it is not marked explicitly as constructor to satisfy EcmaScript standard:

first page of ECMAScript Edition 3, chapter 15: "None of the built-in
functions described in this section shall implement the internal
[[Construct]] method unless otherwise specified ...."

For more details, see http://bugzilla.mozilla.org/show_bug.cgi?id=202019
2003-05-01 10:22:58 +00:00