igor%mir2.org
cae5f15434
Removal of package-private setter methods in FunctionNode in favor of package-private (not private) fields: that just was just adding unnecessary code bloat.
2004-09-10 17:54:13 +00:00
igor%mir2.org
a70c59fa3a
More work for bug 244492: I deprecated ClassDefinitionException modified
...
ScriptableObject to use EvaluatorException instead.
For greater compatibility I also changed ClassDefinitionException to extend
from RuntimeException, not Exception so compilers would not complain about
"catch (ClassDefinitionException ex)" when no ClassDefinitionException is present in the called code.
2004-09-10 17:50:05 +00:00
igor%mir2.org
0aa318e581
XMLLib.escapeXMLAttribute is required to add " arround the text to simplify code generation.
2004-09-10 17:40:59 +00:00
igor%mir2.org
ef2adbe0e4
1. Fixing a race in implementation of date.prototype.setYear where NativeDate.date was updated several times with temporary values.
...
2. Reorganizing NativeDate.execIdCall to shrink code size
2004-09-10 17:36:49 +00:00
igor%mir2.org
7ddb76cbaf
RegExpProxy.(search|find|match) was replaced by the single action taking additional actionType argument: this is how the methods were implemented in RegExpImpl in any case and talking to implementation directly saved code.
2004-09-10 07:51:16 +00:00
igor%mir2.org
ef60132dfa
Inlining back code that were moved recently to do_call/do_new: if continuation support materializes, it would be much easier to transfer control to appropriate part of interpretation loop from the inlined code then to pass the necessary information from do_call.
2004-09-10 07:48:00 +00:00
igor%mir2.org
3047c478e0
1. Interpreter.interpret no longer tracks "with" statement nesting and instead use local register to save/restore scope during exception handling. It allowed to simplify exception handling and move it back to Interpreter.interpret to avoid issues with hypothetical stack overflow exceptions during exception catching.
...
2. local registers are cleared with null after use to allow to GC no longer used objects.
2004-09-09 17:40:48 +00:00
igor%mir2.org
db8822eccc
Removal of "throws JavaSriptException" declaration:
...
JavaSriptException now inherits from RhinoException which inherits from RuntimeException and as such it does not necessary to declare it.
Moreover, it is wrong to use it for the documentation purpose since a script can also throw EcmaError and WrappedException and a proper documentation would require to document those exceptions as well. But since almost all Rhino functions can potentially execute script code it means that wast majority of functions would bear the declarations, not only code overriding or calling explicitly Function.call/construct. And then the throw declarations would bring no information if it always would be "throws RhinoException". Thus it is better not to litter sources with the declarations at all.
2004-09-08 12:29:59 +00:00
brendan%mozilla.org
603031452f
Forbid line terminator between throw and the exception expression, per ECMA (256617, r=shaver).
2004-09-07 19:43:21 +00:00
igor%mir2.org
30e63c4179
Fixing bug 258144: my take on patch patch from Andrew Madigan <andymadigan@yahoo.com> to add class compiler option controlling which class will be used for main method implementation.
2004-09-07 19:11:39 +00:00
igor%mir2.org
d29f6cb477
Inline small functions used for code generation to produce intepreter or JVM bytecode for particular parser tree node: they just add to jar file size without readability benefits.
2004-09-07 09:08:31 +00:00
igor%mir2.org
b1162d3958
Refactoring of catch code generation to address bug 258183 and bug 258207.
2004-09-06 20:05:55 +00:00
igor%mir2.org
faab99c5dd
Print exception trace inside Kit.codeBug() to have it even if the execption is shadowed by another one
2004-09-06 19:08:11 +00:00
brendan%mozilla.org
42fee317b7
Checking in patch for bug 256501 from Igor Bukanov <igor@fastmail.fm>, r=me.
2004-09-02 00:06:29 +00:00
brendan%mozilla.org
a7487d7136
Add JSRESOLVE_DECLARING and JSRESOLVE_CLASSNAME support for better DOM quirk emulation (257602, r=shaver).
2004-09-01 20:51:39 +00:00
igor%mir2.org
8f793c397e
Resolving bug 255891: new approach to dynamic scoping
2004-09-01 14:17:00 +00:00
jruderman%hmc.edu
9ddb229d93
256757 - misused printf causes crash [@ nsXPCWrappedJSClass::CheckForException]. r=sr=jst.
2004-08-30 20:50:24 +00:00
igor%mir2.org
df590d4933
Fixing bug 257425: Context.toObject now works even without Context.iniStandardLibrary
2004-08-30 14:57:25 +00:00
igor%mir2.org
614804384d
Fixing bug 257423: the code generation was not updated to use ScriptRuntime.getObjedctProp instead of OptRuntime.thisGet.
2004-08-30 14:48:23 +00:00
brendan%mozilla.org
aef3012317
Fix catch decompilation, again (245308, r=shaver).
2004-08-29 18:00:24 +00:00
igor%mir2.org
ef89c5d451
Renaming Interpreter.State to Interpreter.CallFrame to better reflect class semantics
2004-08-28 19:19:30 +00:00
brendan%mozilla.org
fab50a47cb
Preserve LIFO allocation when freeing from the middle of a pool (256642, r=shaver).
2004-08-28 18:43:50 +00:00
igor%mir2.org
1e75534222
Changes to make Interpreter to recover from exceptions during execution of ScriptRuntime.getCatchObject() and during initState and do not leave runtime in inconsitent o even corrupt state.
2004-08-28 17:29:50 +00:00
igor%mir2.org
8eb18ba2ca
Implementing 257128: tail call optimization
2004-08-28 00:42:38 +00:00
brendan%mozilla.org
4aa8cd6458
Fix zero-width positive lookahead bustage (256798, r=shaver).
2004-08-27 21:33:05 +00:00
igor%mir2.org
1c4a403de2
Removal of ScriptRuntime.getThis() : it was used by nested functions or
...
functions declared inside with statements to ensure that their thisObj
is not with or call scope as required by ECMA-262.
But due the changes to support E4X extensions such situation can only happen
when function is accessed as expression like in
var f = function() { }
...
f()
and typically it is exactly nested the functions that are accessed in this way.
So the patch adds optimized code that always check for proper thisObj to
ScriptRuntime.getValueFunctionAndThis and removes getThis and corresponding parsing/code generation code.
In this way when nested functions are accessed as name or property no checks are done for them and Rhino code slightly shrinks.
2004-08-27 11:37:17 +00:00
kyle.yuan%sun.com
66768b7955
Missed a #else in my previous checkin for bug 239562.
2004-08-27 01:59:09 +00:00
igor%mir2.org
397ed39869
Link to E4X example
2004-08-25 19:26:56 +00:00
igor%mir2.org
d3a2da86ba
Fixing bug 256865: changing ByteCode constants to int from byte so switches over them would not crash widely installed versions of GCJ like GCJ 3.3.*.
2004-08-25 17:22:02 +00:00
igor%mir2.org
95799991f8
Interpreter optimization: use state.resultDbl to store double result accross calls of interpreted functions to avoid creation of Double instance.
2004-08-25 15:19:22 +00:00
igor%mir2.org
835abeb4b1
Optimizing name access: since top scope can not be NativeWith or NativeCall, it is possible to avoid thisObj checks for name-as-function access and "with" statement and XML object checks.
2004-08-25 09:50:32 +00:00
brendan%mozilla.org
868cd103e8
Pave way for E4X, reduce code size of scanner by ~600 bytes (256728, r=shaver).
2004-08-25 02:27:24 +00:00
igor%mir2.org
00faaf6ab8
Fixing bug 256691: forcing XML.hasSimpleContent() to return true for atributes and text.
2004-08-24 11:38:59 +00:00
igor%mir2.org
eea0a0a79d
More parser/scanner changes under the name of bug 256575 :
...
Do not scan regexp literals in TokenStream.getToken(). Instead parser will call explicit TokenStream.readRegExp() after it gets / or /= as primary expression. In this way there is no need to use any explicit regexp flags which rather error prone.
2004-08-24 11:23:13 +00:00
igor%mir2.org
877212964d
Fixing bug 256621: throw \n 1 is not allowed per ECMA 262
2004-08-23 23:01:00 +00:00
igor%mir2.org
4407874e10
Context.hasFeature now calls ContextFactory.hasFeature so application would need to override only one class for common customization.
2004-08-23 22:46:58 +00:00
igor%mir2.org
69135dd38a
Addressing 256575: refactoring of parser/scanner iteraction to address bugs in eol/semicolon handling
2004-08-23 19:06:45 +00:00
brendan%mozilla.org
13f72da5b5
Fix another node end line-numbering bug reported by Igor Bukanov on n.p.m.jseng.
2004-08-22 21:32:23 +00:00
brendan%mozilla.org
d9c605bed1
Fix node end line-numbering bug reported by Igor Bukanov on n.p.m.jseng.
2004-08-22 18:51:07 +00:00
igor%mir2.org
347734a288
Resolving bug 256387: XML objects got toSource implementation
2004-08-21 12:26:43 +00:00
igor%mir2.org
1e0a67d725
Fixing bug 256389: working CompilerEnvirons.isXmlAvailable() etc.
2004-08-21 11:10:24 +00:00
igor%mir2.org
a12cf376ae
Added notes about addressed bug 256339
2004-08-20 23:01:28 +00:00
igor%mir2.org
199b043221
Resolving bug 256339: interpreter does not recurse across calls to interpreted functions and scripts and instead uses explicit State object to store JS frame information. It removes the limit on maximum recursion depth in scripts.
2004-08-20 22:50:36 +00:00
igor%mir2.org
91951930f8
Fixing bug 256321: IdScriptableObject can be serialized again
2004-08-20 18:25:20 +00:00
igor%mir2.org
e056c6cd39
Resolving bug 256318: for consistancy with XMLObject.addValues ScriptableObject.equivalentValues also uses NOT_FOUND to indicate no operation available.
2004-08-20 18:05:50 +00:00
igor%mir2.org
26c18b6cfb
Fixing bug 256317: report about invalid references during parsing, not runtime.
2004-08-20 17:43:24 +00:00
brendan%mozilla.org
5a95353303
Add scoped local root support, plus a few cleanups from the huge e4x patch (40757, r=shaver).
2004-08-19 17:57:36 +00:00
kyle.yuan%sun.com
ccb50ed208
Bug 239562 64bit safe code for liveconnect (WinXP AMD64)
...
r=xiaobin.lu, sr=brendan
a) renamed jsobject to lcjsobject,
b) defined lcjsobject as jint on 32-bit platform or as jlong on 64-bit platform.
2004-08-19 02:36:36 +00:00
igor%mir2.org
0689482587
Fixing bug 255891: just without throwing exceptions about non-js values for compatibility.
2004-08-17 18:33:38 +00:00
igor%mir2.org
09701f4359
Removal of bogus comments about parser usage.
2004-08-17 17:23:44 +00:00