igor%mir2.org
79222f002b
Removal of scope argument of runtime functions to access|modify object members. The only reason for the argument was the need to call toObject to convert target object to Scriptable, but since now there is topCallScope available, that one can always be used instead.
2004-10-02 09:45:44 +00:00
igor%mir2.org
5cec178ab1
Change ScriptRuntime.get(Elem|Prop)FunctionAndThis to treat XML objects specially to follow ECMA 357, 11.2.2.1, CalMethod. This is done to minimize the overhead of method calls as otherwise someXmlObject.method() would first construct XMLList and apply () to it later.
...
To implement the function call redirection functionality XMLObject.getExtraMethodSource is added() to return an additional object to use as method source.
2004-10-01 22:07:12 +00:00
igor%mir2.org
51da0ce769
RUnit Software AS as the single owner of copyrights for the following list of files present in Mozilla CVS as of 2004-10-01 15:10 UTC changes the license of the files to NPL/GPL. This is done for consistency with the rest of the source code in Rhino.
...
List of the affected files:
mozilla/js/rhino/src/org/mozilla/javascript/Callable.java
mozilla/js/rhino/src/org/mozilla/javascript/ClassCache.java
mozilla/js/rhino/src/org/mozilla/javascript/CompilerEnvirons.java
mozilla/js/rhino/src/org/mozilla/javascript/ContextAction.java
mozilla/js/rhino/src/org/mozilla/javascript/ContextFactory.java
mozilla/js/rhino/src/org/mozilla/javascript/Kit.java
mozilla/js/rhino/src/org/mozilla/javascript/Reference.java
mozilla/js/rhino/src/org/mozilla/javascript/SpecialRef.java
mozilla/js/rhino/toolsrc/org/mozilla/javascript/tools/debugger/GuiCallback.java
mozilla/js/rhino/toolsrc/org/mozilla/javascript/tools/debugger/test.js
mozilla/js/rhino/xmlimplsrc/org/mozilla/javascript/xmlimpl/XMLReference.java
Please contact igor@runitsoft.com if you have any questions about this.
2004-10-01 15:11:01 +00:00
igor%mir2.org
397acb96aa
Fixing bug 262447: bad implementation of trying-hard-to-avoid-map-allocation idea in ScriptableObject.getPropertyIds
2004-10-01 14:59:45 +00:00
igor%mir2.org
a8119cb66f
More Reference clenups: Reference.delete now returns boolean to follow JS semantic clother and Reference implementation for __proto__|__parent__ is moved to a separated file SpecialRef.
2004-10-01 13:32:14 +00:00
igor%mir2.org
f269e33742
Replacing calls to XMLLib to construct special name objects to represent qulified names, attributes and descendants by calls to object to get Reference based on name type. It allowed to implement proper namespace resolution in qulified name without forcing activation creation and simplified code.
...
In addition XMLName is no longer leaked to interpretation stack which would allow to remove unnecessary casts to XMLName in future.
2004-09-30 22:52:40 +00:00
igor%mir2.org
ee94cb397f
1. Reference cleanup:
...
Signatures in Reference are changed to include Context and reference-related methods in ScriptRuntime accept/return explicit Reference type instead of generic Object as code generation ensure proper type.
2. x..y use explicit reference instead of special descendants mark XMLName:
In this way less code is necessary to support x..y operations and support for .. in non-xml objects is possible.
2004-09-29 20:58:16 +00:00
igor%mir2.org
615bf892fa
Transform name access to var access only if function does not require activation: previously the tests missed the check for .() that caused activation to be created.
2004-09-29 20:49:05 +00:00
igor%mir2.org
66e6a7cba1
Define var and arguments as PERMANENT properties as required by ECMA.
2004-09-29 19:04:47 +00:00
igor%mir2.org
2194596ed9
1. I fixed a recent regression that caused "arguments" array to be constructed before initialization of standard objects: Global.init() should be called in procesFiles as well.
...
2. I replaced a couple of anonymous classes implementing ContextAction by Use single IProxy class to shrink compiled code size.
2004-09-29 05:41:00 +00:00
igor%mir2.org
67b7bc3bee
Store optimization level and language version in ShellContextFactory
...
so all Context instances created on other threads or from JavaAdapter
calls would have proper setup.
2004-09-28 21:58:01 +00:00
igor%mir2.org
0bc442b668
1. Pass Context argument to XMLReference creation method to use it later
...
to check for strict mode.
2. Fix name lokup bug in XMLReference that caused in cases like
foo.(@bar == 'something') to throw runtime exception if bar attribute
does not exist in foo.
2004-09-28 21:56:33 +00:00
igor%mir2.org
ceb8cb57de
I added methods to check for valid version and optimization levels that
...
Rhino embeddings can use to check the validity of data.
2004-09-28 21:52:19 +00:00
igor%mir2.org
d090717b2b
NotAFuctionException is not deprecated for now
2004-09-28 07:20:27 +00:00
igor%mir2.org
2188afde23
*** empty log message ***
2004-09-27 23:24:27 +00:00
igor%mir2.org
54e375ccfa
Use Context.emptyArgs, not null to denote null-arity method call for consistency.
2004-09-27 20:48:44 +00:00
igor%mir2.org
e9f5a80866
In ScriptableObject.callMethod use object itself as possible top scope source for to support of dynamic scoping.
2004-09-27 12:08:24 +00:00
igor%mir2.org
3f4e79f70a
Removal of OptLocalVariable: the class is replaced by varRegisters array in Codegen and numberVarFlags in OptFunctionNode. The later is initilized only when optimizer deduces that there are variables used in pure number context.
2004-09-27 12:04:52 +00:00
igor%mir2.org
5e4ccba507
Replace explicit parse tree walk to associate OptLocalVariable with tree nodes by lazy initialization of the association on first OptLocalVariable access. It shrinks code while making optimization to run slightly faster.
2004-09-27 09:33:50 +00:00
igor%mir2.org
0752f9de23
Updating links to xmlbeans home and refer to xbean.jar, not xmlbeans.jar in the documentation.
2004-09-26 22:35:29 +00:00
igor%mir2.org
25e3698cb0
I added ScriptRuntime.setObjectProtoAndParent to initialize prototype and parent of objects created outside the standard constructor calls. It allowed to replace scattered setPrototype/setParentScope and shrink code size.
2004-09-26 14:36:01 +00:00
igor%mir2.org
5ec731db71
Avoid duplicated getMessage* code in ScriptRuntime and Context: now all the necessary code is moved to ScriptRuntime and the rest of code is updated to call ScriptRuntime
2004-09-25 18:11:44 +00:00
igor%mir2.org
23fb7c786a
Better compatibility of continuation implementation with the version from cocoondev.org: use current top call scope as scope for Continuation, not library scope.
2004-09-25 10:34:05 +00:00
igor%mir2.org
f28bf33502
For compatibility allow jsFunction_* to return non-scriptable type. Not to
...
perform type conversion checks for methods that do return proper JS type the
type check is done only once in the constructor and if necessary a flag is set
to call WrapFaactory.wrap on method return.
2004-09-25 09:24:43 +00:00
igor%mir2.org
eaaeceda06
Allow to specify explicit ContextFactory with the debugger.
2004-09-24 20:35:42 +00:00
igor%mir2.org
68fea6f3ba
Make sure that all functionality that Main.(main|mainEmbedded) use to initialize debug GUI is available for applications through public methods.
2004-09-24 16:46:50 +00:00
igor%mir2.org
2909ccd349
More compatibility changes: added Main.isVisible
2004-09-24 16:38:09 +00:00
igor%mir2.org
4826534799
Move getObjectIndex/setObjectIndex that take double as index from optimizer/OptRuntime to ScriptRuntime and use it in the Interpreter to avoid code duplication.
2004-09-24 16:27:27 +00:00
igor%mir2.org
22b9a2c4b9
Revert wrong commit of build.properties with temporary changes
2004-09-24 16:19:26 +00:00
igor%mir2.org
d923a13d08
Added few methods to redirect calls from main to DebugGui for compatibility.
2004-09-24 16:14:02 +00:00
igor%mir2.org
1a58a86e75
Use single function, Kit.xDigitToInt, to convert character representing hex digit to number. The function replaces duplicated code in TokenStream/NativeGlobal/NativeRegExp.
2004-09-24 13:14:01 +00:00
igor%mir2.org
7844c6fc6e
Code reorganisation to shrink the size of JVM class files.
2004-09-24 13:11:02 +00:00
igor%mir2.org
2a5a17ab3f
Resolving bug 261278: strict mode implementation
2004-09-23 21:34:22 +00:00
igor%mir2.org
98090314ea
Preparations for RC2 for 1.6R1
2004-09-22 10:59:39 +00:00
igor%mir2.org
f9259f1b6e
Added some information about experimental support for continuations
2004-09-22 10:43:52 +00:00
igor%mir2.org
11211a4aa5
1. Extend index and offset jump limits to 2^16 - 1 from 2^15 - 1 using unsigned indexes.
...
2. Use linked list of read-only REPogState to implement state stack instead of array of struct. It fixes bug 258417 while making creation of back track stack data much cheaper since there is no need to copy read-only structures.
2004-09-22 09:48:17 +00:00
igor%mir2.org
268f61bc87
In NativeRegExp.executeREBytecode I moved code to manipulate regexp program
...
stack to separated pushProgStack|popProgStack methods to localize changes to
for the following patch to use linked list for state stack.
2004-09-21 18:38:46 +00:00
igor%mir2.org
bbc8aa638c
I merged REMatchState into REGlobalData and replaced all REMatchState usages as function return type by boolean. It simplified matching code while reducing code bloat.
2004-09-21 15:00:43 +00:00
igor%mir2.org
e4c677e919
1. Use direct reference to backTraceStack top to save/restore backTraceStack reference when matching REOP_ASSERT/REOP_ASSERT_NOT
...
2. Coalesce duplicated code in NativeRegExp.executeREBytecode
2004-09-20 22:44:51 +00:00
igor%mir2.org
a1dd5464b5
Resolving bug 258844: implementation of continuation support for Rhino interpret
...
er inspired by Christopher Oliver work for custom Rhino version for cocoon.apach
e.org.
2004-09-16 19:04:34 +00:00
igor%mir2.org
073a538dd0
Resolving bug 258844: implementation of continuation support for Rhino interpreter inspired by Christopher Oliver work for custom Rhino version for cocoon.apache.org.
2004-09-16 18:27:42 +00:00
igor%mir2.org
c7e4b65890
Replacing back track array in RegExp matching code by linked list to address bug 258419.
2004-09-16 17:30:01 +00:00
igor%mir2.org
79f7b70309
1. Using explicit ShellContextFactory in shell to avoid interference from changes in global ContextFactory.
...
2. Initializing global scope before the first execution to allow to customize ShellContextFactory before calls to Context.initStandardObjects()
2004-09-15 16:00:30 +00:00
igor%mir2.org
70d97db80b
1. Call contextData.pushFrame(this) from StackFrame.onEnter and not from StackFrame.constructor to allow multiple invocations of enter/exit per single debug frame. The continuation support will use it.
...
2. Expand tabs
2004-09-15 14:59:36 +00:00
igor%mir2.org
5467110c68
1. Ignoring recursive invocation of Dim.interrupted on event thread: when Gui
...
processes breakpoint hit and another breakpoint is met during event processing,
then on Linux recursive invocations of EventQueue.getNextEvent()/dispatchEvent
lead to eventual GUI deadlock. It is easy to observe when the break on function
enter is enabled and a JS function is called that is attached to an action
handler of some button. With recursive bahaviour repeated clicks lead to deeper
and deeper invocation of EventQueue.getNextEvent() and GUI deadlock on Linux.
So to improve debugger stubility I modify Dim.interrupted to ignore calls from
event thread when another invocation of Dim.interrupted already waits for GUI
result.
2. To decrease class and jar bloat I merges various implementations of Runnable
and and other interfaces to single class with switch dispatch. It saved about
6K from js.jar.
2004-09-15 14:45:10 +00:00
igor%mir2.org
b21add5b8a
1. Using UniqueTag.DOUBLE_MARK in interpreter instaed of Object instance to mark double values on stack for better debug printouts.
...
2. In parse tree use Node instances, not Node.Target to denote target nodes as later just leads to code bloat without safty benefits.
2004-09-15 13:51:19 +00:00
igor%mir2.org
e66d5ecab5
Added UniqueTag.DOUBLE_MARK for better debug printouts in interpreter and potential support for serialization of Interpreter.CallFrame.
2004-09-15 13:42:26 +00:00
igor%mir2.org
62e48063e9
1. Marking NativeCall.parentActivationCall transient so serialization would not see it.
...
2. Removal of never used NativeCall.thisObj field and code to initialize it.
3. Renaming NativeCall.funObj to NativeCall.function for better readability.
2004-09-14 14:59:21 +00:00
igor%mir2.org
35acfd58fc
1. Allow to monitor from application top script or function calls: now they go through ContextFactory.doTopCall which can be overridden.
...
2. Context.observeInstructionCount now calls ContxtFactory.observeInstructionCount so it can overridden without extra Context class.
2004-09-13 13:19:17 +00:00
igor%mir2.org
174afde970
My take on the patch from Attila Szegedi <szegedia@freemail.hu> to resolve 258959.
2004-09-12 16:41:04 +00:00
igor%mir2.org
a4aeaa0d97
Patch from Attila Szegedi <szegedia@freemail.hu> to fix bug 258958
2004-09-12 16:39:39 +00:00
igor%mir2.org
2e956756ac
Added ContextFactory.hasExplicitGlobal to verify if ContextFactory.initGlobal was already called.
2004-09-12 16:37:59 +00:00
igor%mir2.org
65815ce3ec
Few changes from continuation patch in bug 258844 that are useful on its own:
...
1. Fix to pass to debugger wrapped frame.resultDbl if frame.result is DBL_MARK
2. Change Interpreter.interpret to return the properly wrapped result instead of the final frame.
3. Use Object for throwable variable in Interpreter.interpret to avoid multiple casts to Throwable
2004-09-12 13:05:34 +00:00
igor%mir2.org
c7e4e1bb41
Fixing recent bad typo in exception handler search that caused to ignore finally handlers and check only catch blocks with finally-only exceptions.
2004-09-12 00:36:46 +00:00
igor%mir2.org
d781a0b468
Consistently use ScriptRuntime.(wrapNumber|wrapBoolean) to wrap Java double and boolean values to the corresponding JS primitive types.
2004-09-10 19:54:43 +00:00
igor%mir2.org
675eab9782
1. Replacing IdScriptableObject.wrap_* methods by their ScriptRuntime.wrap* counterparts since the wrap methods are useful not only for subclasses of IdScriptableObject.
...
2. Reorganizing execIdCall in few classes inherited from IdScriptableObject to shrink code size.
2004-09-10 18:02:06 +00:00
igor%mir2.org
f274203998
Removal of unnecessary cast to (String) during getter/setter enumeration.
2004-09-10 17:56:13 +00:00
igor%mir2.org
2e9f2ce29e
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
16ae7ea84b
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
8bbc783f57
XMLLib.escapeXMLAttribute is required to add " arround the text to simplify code generation.
2004-09-10 17:40:59 +00:00
igor%mir2.org
00751b6a4f
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
6ed2763e79
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
a4bbd0c424
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
294417215a
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
73f67832ac
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
igor%mir2.org
299cb56cfd
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
1d4bf35781
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
cb95ce90c4
Refactoring of catch code generation to address bug 258183 and bug 258207.
2004-09-06 20:05:55 +00:00
igor%mir2.org
5c514c8b22
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
igor%mir2.org
d78af3b167
Resolving bug 255891: new approach to dynamic scoping
2004-09-01 14:17:00 +00:00
igor%mir2.org
2f5f26f2f0
Fixing bug 257425: Context.toObject now works even without Context.iniStandardLibrary
2004-08-30 14:57:25 +00:00
igor%mir2.org
a75cbc9182
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
igor%mir2.org
5968f885ea
Renaming Interpreter.State to Interpreter.CallFrame to better reflect class semantics
2004-08-28 19:19:30 +00:00
igor%mir2.org
22240334dc
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
9f8d8ca495
Implementing 257128: tail call optimization
2004-08-28 00:42:38 +00:00
igor%mir2.org
5f2437939f
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
igor%mir2.org
2f35d91d67
Link to E4X example
2004-08-25 19:26:56 +00:00
igor%mir2.org
7d76b8660d
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
d8f667cdc3
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
8c465a784a
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
igor%mir2.org
66ccb85667
Fixing bug 256691: forcing XML.hasSimpleContent() to return true for atributes and text.
2004-08-24 11:38:59 +00:00
igor%mir2.org
d58a323423
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
ee1fa1d931
Fixing bug 256621: throw \n 1 is not allowed per ECMA 262
2004-08-23 23:01:00 +00:00
igor%mir2.org
e23cc7a3a4
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
f136705c18
Addressing 256575: refactoring of parser/scanner iteraction to address bugs in eol/semicolon handling
2004-08-23 19:06:45 +00:00
igor%mir2.org
bb56b55288
Resolving bug 256387: XML objects got toSource implementation
2004-08-21 12:26:43 +00:00
igor%mir2.org
0e329a3dc0
Fixing bug 256389: working CompilerEnvirons.isXmlAvailable() etc.
2004-08-21 11:10:24 +00:00
igor%mir2.org
a22b4d177e
Added notes about addressed bug 256339
2004-08-20 23:01:28 +00:00
igor%mir2.org
0fe0aba4b1
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
f25c81b28e
Fixing bug 256321: IdScriptableObject can be serialized again
2004-08-20 18:25:20 +00:00
igor%mir2.org
b0945b613c
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
a60c5d3cb3
Fixing bug 256317: report about invalid references during parsing, not runtime.
2004-08-20 17:43:24 +00:00
igor%mir2.org
012b5ccb2b
Fixing bug 255891: just without throwing exceptions about non-js values for compatibility.
2004-08-17 18:33:38 +00:00
igor%mir2.org
d585d5fc3e
Removal of bogus comments about parser usage.
2004-08-17 17:23:44 +00:00
igor%mir2.org
5bcda5d735
Making most of TokenStream methods package-private: the class can not be made package-private itself as regexps implementation needs TokenStream.isJSLineTerminator().
2004-08-17 17:18:14 +00:00
igor%mir2.org
6f828ea7c1
Moving IFGlue internal class of JavaAdapter into separated source file and renaming it to InterfaceAdapter to have more manageable code.
2004-08-16 17:14:24 +00:00
igor%mir2.org
caab4e99d6
Fixing regression caused by new JavaImporter, see bug 245882.
2004-08-16 16:11:27 +00:00
igor%mir2.org
b8eee9807e
More E4X credits
2004-08-16 14:19:44 +00:00
igor%mir2.org
40c0449b14
Fixing regression caused by the committed patch under bug 255595
2004-08-16 09:57:15 +00:00
igor%mir2.org
9835900b2f
Credits to BEA for E4X implementation.
2004-08-15 09:05:30 +00:00
igor%mir2.org
153e664477
Build modifications to make Context.getImplementationVersion() to return string defined in build property files with automatic timestamping.
2004-08-14 22:44:22 +00:00
igor%mir2.org
ddaa32365c
Deprecating PropertyException as a part of common exception root changes, see 244492.
2004-08-14 16:45:30 +00:00
igor%mir2.org
cb08a88e11
Using Kit.initCause to wrap the original exception preventing creation of SecurityController class.
2004-08-14 16:42:33 +00:00
igor%mir2.org
43681e3c83
Documenting ClassFactory usage
2004-08-14 15:17:40 +00:00
igor%mir2.org
8bf8eabe05
Fixing compatibility issue caused by introduction of ContextFactory. See bug 255595 .
2004-08-14 15:12:38 +00:00
igor%mir2.org
b9c1cdf776
Fixing JavaDoc
2004-08-14 15:08:32 +00:00
igor%mir2.org
f0b2a92e18
Changing Kit.initCause to take and return RuntimeException: this is how it is supposed to be used, that is wrap checkable exceptions into uncheckable RuntimeExceptions.
2004-08-14 15:07:50 +00:00
igor%mir2.org
682b343169
Use common API to extract value associated with top scope prototype chain
...
not to duplicate code
2004-08-14 13:57:39 +00:00
igor%mir2.org
b198395e8d
NativeScript no longer implements Script interface which was kept only f
...
or compatibility.
2004-08-14 10:29:09 +00:00
igor%mir2.org
961c643892
The scope argument is removed from Context.decompileScript() since
...
decompilation does not depends on scope.
For compatibility the old signature is preserved as a deprecated method.
2004-08-14 10:28:15 +00:00
igor%mir2.org
30d891f64a
More JavaDoc comments including Context customization example
2004-08-14 09:01:26 +00:00
igor%mir2.org
f51deade8e
Fixing broken HTML markup in JavaDoc comments.
2004-08-14 06:44:39 +00:00
igor%mir2.org
9451768f5b
Renaming Kit.initCauseOrNull into simple Kit.initCause and making it to
...
return the passed exception to allow usage like:
throw Kit.initCause(new RuntimeException("WRAPPED"), origException);
2004-08-13 23:45:52 +00:00
igor%mir2.org
c407d06dc1
Fixing bug 255549: proper resolution of overloaded methods.
2004-08-13 19:31:32 +00:00
nboyd%atg.com
49823e0c7b
Prepare release candidate for 1.6R1.
2004-08-12 02:00:09 +00:00
igor%mir2.org
412251e336
Using explicit JavaImporter constructor to make namespace for swing and using it later with the "with" statement to get access to Java classes.
...
In this way the example can be used in an application that does not use ImporterTopLevel.
2004-08-10 16:11:13 +00:00
igor%mir2.org
f8da42c9d2
1. Separating compilation into bytecode and wrapping it into Script and Function instances both for the interpreter and class compiler. It is possible now to serialize the compiled interpreter bytecode and then wrap it in proper security context.
...
The change required to move security domain information form InterpreterData to its Scriptable wrappers. To simplify it and to make the interpreted functions to behave exactly as class compiled I merged InterpretedScript into InterpretedFunction which allowed to remove many casts and discrepancies when handling script and function instances.
2. Explicitly passing Interpreter instances to Context.compile... functions to avoid changing optimization level even temporarily.
3. Uniform initialization of class compiled and interpreted functions and scripts to avoid code duplication.
2004-08-10 16:06:56 +00:00
igor%mir2.org
1cb0255478
In JavaAdapter.currentFactory() do not assume that there is always active Context available and fallback to ContextFactory.getGlobal() in that case.
2004-08-10 15:52:19 +00:00
igor%mir2.org
89769e9a85
Simpler SyntxError handling:
...
Since changes to fix bug 254778 made the parser the sole source of syntax error reports, it removed the need to check for errors after tree transformation.
The patch removes those checks and moves all reporting about syntax errors into omj/Parser.java.
2004-08-09 18:04:18 +00:00
igor%mir2.org
d0628043b9
Fixing bug 254915: proper name lookup etc.
2004-08-09 16:57:06 +00:00
igor%mir2.org
caf00e67ee
Top call scope tracking changes:
...
Since E4X implementation needs to know the activation scope for tracking of default namespaces, previously an elaborated schema was added to set/restore the activation scope which relied on the fact that scrip and function with activation record should always call special entry/exit functions.
But that does not work for functions without activation records since they never call any special entry/exit pairs. So if application call such function directly, the function would not store its top scope anywhere and the E4X subsystem would not be able to get E4X library object.
The patch fixes with introduction of 2 functions, hasTopCall and doTopCall to ScriptRuntime and adding the following code prefix to each implementation of Callable.call that can start execution of script code:
public Object call(Context cx, Scriptable scope,
Scriptable thisObj, Object[] args)
throws JavaScriptException
{
// Prefix start
if (!ScriptRuntime.hasTopCall(cx)) {
return ScriptRuntime.doTopCall(this, cx, scope, thisObj, args);
}
// Prefix end
...
In this way there is always registered top scope during script execution and the previous elaborated schema became unnecessary so I reverted that part to almost pre-E4x state.
2004-08-09 11:00:47 +00:00
igor%mir2.org
d65a74793c
Fixing bug 254778: proper treatment of labels
2004-08-08 13:45:09 +00:00
igor%mir2.org
06080a4162
More switch parsing/code generation cleanups: now IRFactory constructs the proper parsed tree for the switch statement which removed the need for tree mutations in NodeTransformer and during code generation.
2004-08-07 20:08:38 +00:00
igor%mir2.org
c436b86043
Cleanup for code generation in interpreter: store itsICodeTop as instance variable to avoid clattering code with explicit passing of iCodeTop,
2004-08-07 15:42:13 +00:00
igor%mir2.org
1835a4776d
Switch parsing cleanup including reporting syntax error on duplicated default label
2004-08-07 15:39:55 +00:00
igor%mir2.org
72cfb14c71
Preparations for 1.6R1
2004-08-06 16:05:40 +00:00
igor%mir2.org
473f76a50f
Class-Path entry for Rhino: xmlbean.jar
2004-08-06 15:49:25 +00:00
igor%mir2.org
dc693719f5
Cleanup of call code generation: now it is split into separated functions for optimized/standard function calls.
2004-08-06 15:08:38 +00:00
igor%mir2.org
3811cf183e
Removal of no longer used debug name index in Token.CALL/Token.REF_CALL: ScriptRuntime.get(Elem|Prop|Name|Value)FunctionAndThis takes care about debugging themselves.
2004-08-06 15:02:48 +00:00
igor%mir2.org
09de001da9
GeneratedClassLoader is API class and should be listed in apiClasses.properties
2004-08-05 06:06:30 +00:00
igor%mir2.org
5f54cd264e
Restoring ScriptRuntime.call: BSF uses it!
2004-08-04 17:42:56 +00:00
igor%mir2.org
686ca051d2
Allow to pass JS-wrapped instances of org.apache.xmlbeans.XmlCursor and org.apache.xmlbeans.XmlObject to XML constructor to make proper XML objects from them.
2004-08-04 17:32:48 +00:00
igor%mir2.org
d7cab8295c
Preparations for Rhino 1.6R1 RC1
2004-08-04 17:28:11 +00:00
igor%mir2.org
5c76a0f4fa
1. Recently introduced ScriptableObject.default(Prototype|ParentScope)() methods had problems with serialization and are removed now. XML code explicitly sets parent/prototype. To simplify that ScriptableObject now contains a special constructor taking scope and prototype arguments.
...
2. xml/XMLObject do not define lib() method and instead defines few abstract methods to create "with" proxies and perform addition.
3. XMLLib implementation is stored in the scope using ScriptableObject.associateValue() and does not depend on presence of proper XML object.
2004-08-04 12:54:03 +00:00
igor%mir2.org
552d49a5ae
Preparations for 1.6R1 RC1
2004-08-03 17:13:40 +00:00
igor%mir2.org
d09a0eee9c
Cosmetics: untabify
2004-08-02 17:49:04 +00:00
igor%mir2.org
5a5e402b85
Added runtime support to allow custom wrapping of XML objects
2004-08-02 14:46:33 +00:00
igor%mir2.org
c65e9b8450
Use ScriptRuntime.notAFunction to report bad ScriptableObject.callMethod arguments
2004-08-02 14:44:03 +00:00
igor%mir2.org
0875b1550b
Explicit ScriptRuntime methods to get function and function this for all cases of method calls:
...
ScriptRuntime.get(Name|Prop|Elem|Value)FunctionAndThis provides uniform way to get function object and its this during function calls. It allowed to simplify handling of method calls both in interpreter and optimizer and opened a way to implement independent processing of function and property namespaces.
2004-08-01 23:21:17 +00:00
igor%mir2.org
061a717577
More compatibility renames: to simplify life for applications that use old IdScriptable/IdFunction/IdFunctionMaster I farther renamed:
...
IdFunction -> IdFunctionObject
IdFunctionMaster -> IdFunctionCall
2004-07-30 13:18:30 +00:00
igor%mir2.org
ed22b8d5bc
Compatibility rename: due to changes in IdScrittable any code that sublasses
...
it has to be updated. This is done for Rhino classes and since IdScriptable
is not a part of public API, it should not matter. But in reality someone can
subclass IdScriptable in application code.
To help with upgrade in such cases I renamed IdScriptable into
IdScriptableObject. In this way the application using IdScriptable code can add
old IdScriptable class to its CLASSPATH and be able to run again without the
need to recompile/change anything in the source.
2004-07-30 10:31:00 +00:00
igor%mir2.org
f8ca6bb144
The previous patch introduced regression: it is posible for slots array to be filled with slot objects and REMOVED tags. Thus getSlotPosition can loop through the whole table. This patch restores the old and proper state of affairs.
2004-07-30 07:52:30 +00:00
igor%mir2.org
88d3ceb9eb
Using single ScriptRuntime.toStringIdOrIndex to convert object id to string of index key instead of multiple calls to getStringId/getIntId.
2004-07-29 22:47:05 +00:00
igor%mir2.org
457b3cac9a
Calling proper ScriptRuntime.call taking scope argument instead of eprectaed old form.
2004-07-29 22:44:45 +00:00
igor%mir2.org
594bb52734
New "scratch" field for int indexes to allow to return more then one result from index parsing functions.
2004-07-29 22:42:50 +00:00
igor%mir2.org
61b4dfe136
Explicitly throw IllegalStateException to indicate code bug when hashtable scan end up in infinite loop.
2004-07-29 22:40:47 +00:00
igor%mir2.org
6c33ddde1a
Adding E4X example contributed by John Schneider from AgileDelta, Inc., http://www.agiledelta.com/ .
2004-07-29 15:55:41 +00:00
igor%mir2.org
7727f9784c
Fixing missed context wrapping in debugger/Dim and proper button enable/dosable in debugger/DebugGui
2004-07-29 12:51:35 +00:00
igor%mir2.org
f8d44cc5d9
Fixing under allocation of ids array while enumerating properties.
2004-07-29 12:46:46 +00:00
igor%mir2.org
80101fd2cf
Better error propagation from failed class loading: RuntimeError instances are rethrown while ClassNotFound, LinkageError etc. are caught.
2004-07-29 12:45:55 +00:00
igor%mir2.org
0f6d41a084
Renaming StringIdMap to Main and ipdating documentation
2004-07-29 10:44:59 +00:00
igor%mir2.org
0e32e1807e
Cleanup patch from Mario Cormier <mcormier@miranda.com> to fix bug 253323:
...
Parser contained useless this.decompiler = decompiler assignment.
2004-07-29 08:28:42 +00:00
igor%mir2.org
e9d84b06aa
Committing E4X runtime implementation: see enhancement report 242805.
...
This is based on code contributed to Rhino by AgileDelta, Inc, www.agiledelta.com and in particular by
Ethan Hugg
Terry Lucas
Milen Nankov
John Schneider
Thanks!
2004-07-28 23:43:17 +00:00
igor%mir2.org
575e8a64ff
Committing E4X parser and runtime proxies: see enhancement report 242805.
...
This is based on code contributed to Rhino by AgileDelta, Inc, www.agiledelta.com and in particular by
Ethan Hugg
Terry Lucas
Milen Nankov
John Schneider
Thanks!
2004-07-28 21:11:02 +00:00
igor%mir2.org
104a577692
Added ScriptableObject.equivalentValues to allow for custom equality operator support.
2004-07-28 15:23:11 +00:00
igor%mir2.org
eca6887020
Added Reference.has() for future use.
2004-07-28 15:21:02 +00:00
igor%mir2.org
a41b3ec13e
Ignore any exception during script class initialization unless it is an instance of RhinoException. In this way lazily class loading or incompatible with the current JVMs jars will simply hide the script variables.
2004-07-28 15:20:08 +00:00
igor%mir2.org
fa3b4a39aa
Always call Scriptable.has(name, start) as obj.has(name, obj) since the start argument is useless in Scriptable.has and in this way it is possible to add temporary assertions to the code checking this.
2004-07-28 13:27:39 +00:00
igor%mir2.org
02ca5d7471
Redesigning IdScriptable implementation.
...
The new logic introduces 2 independent id namespaces, instance ids and prototype ids. Typically there are very few instance properties and instance ids corresponds exactly to them. The prototype ids allows to define functions and other constant objects that typically found in prototype objects.
The new implementation takes advantage of this difference to provide very different API to implement fast mapping both for instance and prototype ids.
2004-07-28 11:40:38 +00:00
igor%mir2.org
26e2f979e9
Introduction of defaultParentScope and defaultPrototype in ScriptableObject for lazily initialization of scope and prototype.
2004-07-28 09:52:29 +00:00
igor%mir2.org
26bde72dd8
Making ScriptRuntime.typeError* public
2004-07-28 09:51:02 +00:00
igor%mir2.org
8684cd21de
Allow to subclass NativeWith
2004-07-28 09:50:07 +00:00
igor%mir2.org
a9e5ef9c3b
Favour same type converssions during LiveConnect for better support of java methods taking instances of Scriptable
2004-07-28 09:49:19 +00:00
igor%mir2.org
a17d812303
1. Optimizing getClassPrototype and getDefaultValue in ScriptableObject.
...
2. Start of the changes for simpler to use IdScriptable implementation: new utility functions in IdFunction and removal of Context argument from IdScriptable.fillConstructorProperties.
2004-07-28 07:12:46 +00:00
igor%mir2.org
d8725eb93f
Context.getArrayElements implementation is moved to ScriptRuntime which also defined now isArrayObject
2004-07-28 07:06:35 +00:00
igor%mir2.org
0b43005efc
Making next release to be 1.6 release 1
2004-07-12 14:26:30 +00:00
igor%mir2.org
6e592d434b
Renaming ObjArray.setReadOnly() to ObjArray.seal() to follow the rest of Rhino code.
2004-07-09 13:28:48 +00:00
igor%mir2.org
6c54cdec60
Fixing comments text to reflect real state of code
2004-07-07 14:47:46 +00:00
igor%mir2.org
4ada0b6a37
Almost reverting the prevois commit: it was too preliminary.
2004-07-07 14:46:58 +00:00
igor%mir2.org
943eb8493c
Changing the way Java getter and setter are stored: a new special class ComplexValue is used to indicate a controllable value that may have associated getter/setter methods. In this way getter can be added after slot creation without the need to replace slots.
2004-07-06 14:37:56 +00:00
igor%mir2.org
3ae6fdf9db
Token.ZERO and Token.ONE are used only by interpreter and moved to Interpreter as corresponding icode constants.
2004-07-05 15:08:34 +00:00
igor%mir2.org
3c5cccc01d
Removal of no-longer applicable comments refering to SM code
2004-07-05 15:07:25 +00:00
igor%mir2.org
22e375a6d4
Removal of Token.DOT in NodeTransformer: it is always processed in IRFactory.
2004-07-05 15:06:18 +00:00
igor%mir2.org
8791bc23b5
When support for Context.FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME is enables,
...
decompiler now does not turn them into assignment statements but keeps
original code with extension when printing function source. It allows for
better emulation of this JScript extension
2004-07-04 17:26:50 +00:00
igor%mir2.org
428facfffa
Simplified handling of function expression statements: parser no longer
...
generate synthetic expression statement nodes for them.
2004-07-04 14:13:47 +00:00
igor%mir2.org
d49fff6560
Normilizing numeration of Token constants after removal of few no longer used
...
constants in the previous patches
2004-07-04 14:12:01 +00:00
igor%mir2.org
ed8b5cf4bf
Splitting code generation in interpreter and class compiler into separated statement-only and expression only cases to add more checks.
2004-07-02 15:36:13 +00:00
igor%mir2.org
c001992635
Replacing generic Token.EXPRSTMT by Token.EXPR_VOID and Token.EXPR_RESULT and removal of Token.POP and Token.POPV. Now parser creates appropriate expression statements itself so there is no need to replace the time in NodeTransformer.
2004-07-02 13:11:06 +00:00
igor%mir2.org
19a3f8f1df
Fixing bug 249471:
...
Fixing parseFloat logic and Context usage cleanup.
I changed number start detection code in parseFloat to check properly for lone
+/- while making the code IMO more redable.
In addtion patch removes unused Context parameter from various functions in
NativeGlobal including parseFloat which was remainder from pre IdFunction
code.
2004-07-02 06:55:21 +00:00
igor%mir2.org
f07023b676
Removal of Tiken.UNDEFINED: it was not used outside Interpreter
2004-07-01 16:40:44 +00:00
igor%mir2.org
6cda148128
Replacing state flags in TokenStream by separated boolean values to simplify
...
code and to remove flags that were set/cleared but never queried.
2004-07-01 14:52:22 +00:00
igor%mir2.org
860281245c
Change IRFactory to return/accept Node, not Object as the type for parse tree
...
nodes. Parser already assumes in a few places that such Node and it is not
worth to pretend otherwise.
2004-07-01 10:39:28 +00:00
igor%mir2.org
8c09378b4d
Fixing JavaDoc: the previous changes removed Context(ContextFactory)
...
constructor as factory is associated automatically with Context but JavaDoc
continied to refer to this constructor form.
2004-06-30 15:28:04 +00:00
igor%mir2.org
03fd126f9f
Deprecation of ContextListener in favour of ContextFactory.Listener:
...
the later is stored in the factory and not in static variables.
For compatibility an instance of ContextFactory stored in static variables
is used to provide support for old Context.addContextListener etc. API.
The static instance of the factory is also used by Context.enter to create
Context instances providing simple way to customize Context: one just need
to initialize the global static factory.
2004-06-30 15:23:39 +00:00
igor%mir2.org
b7d599a40f
Fix menu enable/disable misbehavior.
2004-06-30 13:29:41 +00:00
igor%mir2.org
0943483fa1
Fixing JDK 1.3 compatibility: TableModel.getRot() should not return null there.
2004-06-30 09:38:54 +00:00
igor%mir2.org
49d3ea3724
Fixing scope problems with IdFunction when IdScriptable is top scope itself:
...
scope for IdFunction instances is determined through getTopScope,
not getParentScope() which can be null.
To prevent null scope initialization problems in future IdFunction constructor
now throws an exception if scope argument is null.
2004-06-29 15:43:01 +00:00
igor%mir2.org
9c694e01db
Make EvaluatorException(String) public for compatibility
2004-06-15 04:42:59 +00:00
igor%mir2.org
7b30a5de99
Fixing regression after previous commit for bug 245882: when used as top scope ImporterTopLevel should not define constructor property not to hide Object.prototype.constructor.
2004-06-09 17:01:01 +00:00
igor%mir2.org
a8ca02b455
1. IdFunction.methodId is no longer public as some old Java compilers have troubles with it and accessor method has to be used instead.
...
2. IdFunction constructor now takes scope argument as well to prevent initialization bugs.
2004-06-09 12:54:04 +00:00
igor%mir2.org
89f5fdbbf7
The last commit made Rhino uncompilable! Fixing that.
2004-06-09 08:25:59 +00:00
igor%mir2.org
7bc79c031f
Implementing bug 245882: now ImporterTopLevel can be constructed from JavaScript using JavaImporter to allow to have class and package collections without namespace polluting.
2004-06-09 07:36:31 +00:00
igor%mir2.org
49246d9273
Work on bug 245882: check that scope is not this when setting scope chain
...
to prevent scope chain loops.
2004-06-08 23:30:30 +00:00
igor%mir2.org
bdfcefdff8
Default implemetation of toSource now lives in ScriptRuntime to allow its
...
reuse in othr objects.
2004-06-08 23:28:32 +00:00
igor%mir2.org
e565588063
Yet another change in IdFunction: now its constructor takes arity argument
...
which removes the need to have separated methodArity in IdFunctionMaster
intertface. The method, however, has to be preseved in IdScriptable since it
is used to find which arity should be used during IdFunction construction.
2004-06-08 22:25:57 +00:00
igor%mir2.org
7be4658c39
Using IdFunction in place of JIFunction in NativeJavaTopPackage
2004-06-08 15:29:34 +00:00
igor%mir2.org
4ab02a8202
Changin IdFunction/IdFunctionMaster iteraction:
...
1. execMethod and methodArity in IdFunctionMaster do not receive methodId explicitly but rather through the IdFunction instance. To ensure fastest access to method id it is made pubic final field.
2. IdFunction allows to associate an internal tag with itself that allows not to worry about id clashes and simply check for object tag before doing method dispatch.
2004-06-08 14:23:35 +00:00
igor%mir2.org
9409fd1750
JIFunction was wrong idea at the end: it is better to stick with IdFunction and teach it missed functionality. The patch changes JavaAdapter to use IdFunction for its constructor call.
2004-06-08 12:38:20 +00:00
igor%mir2.org
87e6a1e09c
API to set global SecurityController is moved to SecurityController not to clatter Context.
2004-06-08 11:09:40 +00:00
igor%mir2.org
f3d3d1d14a
Work on bug 244492: RhinoException is the new common base class for all exceptions.
2004-06-07 16:40:28 +00:00
igor%mir2.org
78729bc8b9
Switch to using Context.javaToJS instead of Context.toObject
2004-06-07 10:35:22 +00:00
igor%mir2.org
8404a66bdf
setGlobalSecurityController should be static
2004-06-07 10:34:22 +00:00
igor%mir2.org
a58e08501c
Introduction of ContextAction interface as a safe alternative for Context.enter/Context.exit. All usages of Context.enter/Context.exit in Rhino are replaced by
...
Context.call(new ContextAction() {
public Object run(Context cx) { ... }
});
or similar alternatives.
It prevents bugs with missed Context.exit and provides room for optimization of Context association with current thread and simplify implementation of safe environment for execution of untrusted applets and scripts.
In addition, Rhino now supports global SecurityController that take precedence over any per/Context controllers so the application can setup the controller once and for all.
2004-06-06 15:33:59 +00:00
igor%mir2.org
08117caf7c
ContextFactory is a new API class
2004-06-06 09:28:18 +00:00
igor%mir2.org
60c0074729
added ContextFactory which is used to create Context instances in JavaAdapter when there is no Context associated with the current thread.
2004-06-04 17:54:42 +00:00
igor%mir2.org
ca73e6aad1
Better JavaDoc comments for FEATURE_ constants
2004-06-04 17:51:27 +00:00
igor%mir2.org
46aea95d99
Allow to disable special treatment of __proto__ and __parent__ via overriding Context.hasFeature().
2004-06-04 14:57:31 +00:00
igor%mir2.org
29355807c9
Use consistent naming for property manipulation functions in ScriptRuntime and drop no longer used scope argument for ScriptRuntime.setProp that acts on strings.
2004-06-04 06:58:03 +00:00
igor%mir2.org
5a88756821
Code to create references to manipulate with __proto__ and __parent__ is moved to ScriptRuntime.specialReference not to expose too much implementation details
2004-06-02 14:56:25 +00:00
igor%mir2.org
a5438d7003
Changing Refrence.set(Object) to return Object to return the real stored value.
2004-06-02 11:33:09 +00:00
igor%mir2.org
4db86ff03e
Pass __proto__ and __parent__ special properties to code generation as strings to allow to support application-specific special properties without altering code generation.
2004-06-02 09:13:12 +00:00
igor%mir2.org
2c7e977b7e
Allow Rhino embeddings to support function as left-hand-side extension via overriding BaseFunction.specialCall().
2004-06-01 16:04:18 +00:00
igor%mir2.org
ef83ead18b
Making invalid left hand of assignment runtime reference error instead of syntax error as dictated by ECMAScript. Now interpreter/class compiler generates code that calls ScriptRuntime.genericReference() that in turn throws the error.
2004-05-31 15:49:19 +00:00
igor%mir2.org
2361dfc4fe
Work on bug 243057:
...
Introduction of support for calling function in reference context so with native functions code like f(args) = something or x.y(args)++ would be allowed.
The changes added necessary changes to parser and code generation but at runtime currently any such usage would throw an exception.
2004-05-31 14:51:20 +00:00
igor%mir2.org
a3039484fe
For prefix and postfix ++/-- use mask flags instead of enumeration to denote postfix/prefix and ++/-- operation.
2004-05-31 13:03:16 +00:00
igor%mir2.org
991ba5a998
Optimize ++name and --name similarly to name++ and name-- via special runtime support
2004-05-31 12:09:39 +00:00
igor%mir2.org
dbadb64388
Optimizing ++x.y and --x.y in the same way as x.y++ and x.y-- via special runtime support
2004-05-31 08:18:38 +00:00
igor%mir2.org
047a15067a
Introduction of generic Reference class to support latter constructions like f(args) = y and f(args)++. For now it is used to implement __proto__ and __parent__ special properties so x.__proto__++ now works
2004-05-31 07:18:52 +00:00
igor%mir2.org
067167b599
++x[y] is optimized in the same way as x[y]++ via special runtime support
2004-05-30 15:54:21 +00:00
igor%mir2.org
b79f99d123
Using negative nimbers for interpreter-specific tokens to allow for 256 bytecodes without using 0xFF & conversion
2004-05-30 14:21:07 +00:00
igor%mir2.org
0b398922b2
Added JavaDocs for Kit.initCauseOrIgnore
2004-05-29 09:37:48 +00:00
igor%mir2.org
bf11211950
Make code to call Throwable.initCause via reflection previously located in WrappedException publically available in Kit.java
2004-05-29 08:55:41 +00:00
igor%mir2.org
13742bf7e3
Follow conventinal code practics of throwing IllegalArgumentException, IllegalStateException directly instead of using additional helper methods for it.
2004-05-29 08:54:24 +00:00
igor%mir2.org
b32204397b
Patch from Merten Schumman <Merten.Schumman@asg.com> to add Main.mainEmbedded(String) which is a version of Main.main without System.in/err/out redirection. It simplifies life for embeddings.
2004-05-28 14:19:11 +00:00
igor%mir2.org
745d21a64a
Final implementation of GUI/debug implementation internals separation. Now the newly introduced Dim.java (Dim: Debug IMplementation) depends only on GuiCallback and contains all iteractions with Rhino.
2004-05-27 11:26:59 +00:00
igor%mir2.org
376d1c704f
exitAction is moved to DebugGui
2004-05-27 10:34:44 +00:00
igor%mir2.org
a33c5804bd
Prepare to remove dependancy of core debugger implementation on GUI: introduction of GuiCallback interface that DebugGui implements.
2004-05-27 10:21:24 +00:00
igor%mir2.org
8ebd78d480
Work on 244492: JavaScriptException extends RuntimeException
2004-05-26 11:54:10 +00:00
igor%mir2.org
2859645f27
Make sure that Context.getSourcePositionFromStack never returns negative numbers and uses 0 to indicate absence of line information. It accounts for differences between JVMs when dealing with incomplete debug information.
2004-05-26 11:03:03 +00:00
igor%mir2.org
d5073b98f0
In JavaScriptException constructor do not call ScriptableObjec.toString(value) since it may potentially trigger script execution for objects defining toString method which in turn may throw exceptions.
...
Instead for Scriptable arguments prints their [Object className] form which is provided by the new ScriptRuntime.defaultObjectToString(Scriptable) method.
2004-05-25 15:39:28 +00:00
igor%mir2.org
5951c62a93
Added JavaDoc link to a better way of wrapping exceptions then using WrappedException constructor
2004-05-24 10:11:23 +00:00
igor%mir2.org
1b43332683
Restoring public constructor for WrappedException for compatibility with Batik.
2004-05-24 07:53:06 +00:00
igor%mir2.org
34ab13be2a
Change Arguments.getIds to include argument indexes when getAll is true. It allows not to have a tailored getIds in the debugger.
2004-05-23 17:34:44 +00:00
igor%mir2.org
6e88856ae7
Fixing JavaDoc comments
2004-05-23 17:32:32 +00:00
igor%mir2.org
72e2855e0d
1. Reorganize debugger to move all code that interacts with the engine into Main.java while all GUI logic now presents in DebugGui
...
2. Move downloaded files for swing tree table into downloaded directory and adjust build files accordingly.
2004-05-23 16:15:09 +00:00
igor%mir2.org
52e39ba59a
Make sure that for Rhino-generated exceptions Throwable.getMessage() contains script file and line information.
2004-05-23 14:32:07 +00:00
igor%mir2.org
35bdebcd32
Make EcmaError to follow the same pattern as JavaScriptException
...
and EvaluatorException for getMessage() methods: it provides error message
with script source/line information.
2004-05-23 09:50:20 +00:00
igor%mir2.org
df54b03026
Switch to line info extraction through single top script processing
2004-05-22 23:19:56 +00:00
igor%mir2.org
7d46eb7a55
Splitting Main.java into Main.java and GUI-related DebugGui.java
2004-05-21 15:06:36 +00:00
igor%mir2.org
5655ee2688
Split Main class into Main and DebugGui to have better debugger/gui separation
2004-05-21 14:25:21 +00:00
igor%mir2.org
7515cd34c9
Move all logic to open source window at the end of compilation to single update action.
2004-05-21 12:04:47 +00:00
igor%mir2.org
3ed08b1008
1. Fixing reporting for calls to undefined: stringReg is not suitable for function names if function contains arguments. So Token.NEW/Token.CALL comes with index of potential function name.
...
2. If debug information is not generated, Context.interpreterLineIndex could contain garbage from previous function invocation leading to ArrayIndexOfBound. Now Context.interpreterLineIndex is initialized at the interpreter entrance and getSourcePositionFromStack checks against absent line numbers.
2004-05-21 11:43:38 +00:00
igor%mir2.org
f368c16d77
Move logic to show exception dialog into EnterInterrupt action
2004-05-21 11:27:59 +00:00
igor%mir2.org
d88a5e1d65
Test file
2004-05-21 10:53:19 +00:00
igor%mir2.org
1cffb3a028
I changed StackFrame.onLineChange to access breakFlag directly which allowed to remove global context hashtable
2004-05-21 01:20:48 +00:00
igor%mir2.org
2e4ae80a06
Merge various GUI initializations during breakpoint hit into single action
2004-05-21 01:10:04 +00:00
igor%mir2.org
8ae85161c4
Removal of manThread: breakFlag can do its job just fine
2004-05-21 00:17:45 +00:00
igor%mir2.org
fbaa640d80
Replace Context switching during eval for interrupted threads by thread communication so all evals happens on the original thread.
2004-05-21 00:11:24 +00:00
igor%mir2.org
05210d03cd
To make variable access faster the form of getvar/setvar with var index
...
encoded in bytecode is reintroduced.
2004-05-18 22:33:41 +00:00
igor%mir2.org
8bc0a7f9ea
Added more fast index load instructions and removed 0xFF & when extracting bytecode as all byte codes are less then 128.
2004-05-18 15:02:26 +00:00