igor%mir2.org
1ac053c5c4
Reflecting 1.5R5 release
2004-03-25 19:45:56 +00:00
igor%mir2.org
de1e1ac301
Starting 1.5R6
2004-03-25 17:58:03 +00:00
igor%mir2.org
60759708f4
Removal of macbuild support: its Mac OS X time after all
2004-03-25 17:39:21 +00:00
igor%mir2.org
1174d12c74
Info about commercial support
2004-03-25 15:46:40 +00:00
igor%mir2.org
71ca64f861
*** empty log message ***
2004-03-25 11:04:04 +00:00
igor%mir2.org
e1e41ac43c
Preparations for 1.5R5
2004-03-24 15:52:55 +00:00
igor%mir2.org
732c7ab109
Updates to reflect new extension to allow to pass function to Java method expecting interface: now interface with multiple methods are allowed as long as all methods has the same signature
2004-03-24 15:44:19 +00:00
igor%mir2.org
6311b232ca
Finalizing 223435 : function can be converted to Java interface with more then one method as long as all methods has the same signature.
2004-03-24 14:15:37 +00:00
igor%mir2.org
27c2350055
More work on bug 223435 : pass method name for the interface as the last parameter to JS function so it can use for debug purposes
2004-03-23 16:24:32 +00:00
igor%mir2.org
9c0a6e0861
Making BaseFunction.decompile package private: any new public function will always find its users even if the usage is broken. It was public to allow calls from debugger but simple call to Context.toString() would do the same job.
2004-03-18 13:37:29 +00:00
igor%mir2.org
4c26393708
RUnit Software now includes a link on their page about JS (Declaimer: I work there!)
2004-03-18 13:32:52 +00:00
igor%mir2.org
6b102cf976
Added RUnit Software
2004-03-17 18:36:57 +00:00
igor%mir2.org
50cd6c7c8c
Fixing bug 237771 : allow to transfer toSource implementation to different objects
2004-03-17 18:36:39 +00:00
igor%mir2.org
209e4801b3
Documenting new Context seal API and fixing obvious English mistakes.
2004-03-09 23:34:30 +00:00
igor%mir2.org
e47574df7e
Updated file with license info from Eugene Aresteanu :
...
> Hi,
>
> Does it look right now?
>
> Regards,
> Eugene
>
> -----Original Message-----
> From: Igor Bukanov [mailto:igor@fastmail.fm]
> Sent: Friday, March 05, 2004 10:07 AM
> To: eugene aresteanu
> Subject: Re: Rhino and license for Messages_fr.properties
>
>
> eugene aresteanu wrote:
>
>>Hello,
>>
>>Here it is. I hope it is right.
>>Why do you say the default Messages.properties lacks notices?
>>I used the header of Messages.properties as a template.
>
>
> Sorry for not been clear, but what I wanted to say is that did not have
> triple MPL/GPL/LGPL but rather the old NPL/GPL pair. Could you update
> the file one more time using
> http://www.mozilla.org/MPL/boilerplate-1.1/mpl-tri-license-sh as template?
>
> Regards, Igor
2004-03-05 19:17:43 +00:00
igor%mir2.org
2cac059a8a
Resolving bug 236117 : new API to seal Context
2004-03-03 19:59:25 +00:00
igor%mir2.org
6a15c2b2bb
Resolving bug 236193: require enetered Context for compilation
2004-03-03 11:20:33 +00:00
igor%mir2.org
7cc3ebfd9c
Making javaToJS static to match the rest of API
2004-03-01 19:19:47 +00:00
igor%mir2.org
cf09991901
Fixing JavaDoc
2004-02-24 07:20:49 +00:00
igor%mir2.org
d02a51ad4c
Making NativeScript package private: if this will be controversial, then the public status can be restored
2004-02-24 07:19:56 +00:00
nboyd%atg.com
07d97e2bfb
Remove "pre" from a candidate build.
2004-02-18 17:28:40 +00:00
igor%mir2.org
765d9c1f9e
Preparations for 1.5R5
2004-02-18 12:24:27 +00:00
igor%mir2.org
b796a6fb8d
Preparations for 15R5 release.
2004-02-13 18:50:51 +00:00
igor%mir2.org
0bdc147fa8
Fixing NativeGlobal.encode: it was broken for chars beyond 0xFFFF as it sb.setLength(k) was called after k was increased to consume the second char from UTF-16 encoding to build UCS-4.
2004-02-12 19:05:47 +00:00
igor%mir2.org
52f8463b7d
Preparations for 1.5R5
2004-02-12 18:13:00 +00:00
igor%mir2.org
83ea5840cf
Fixing bug 233274: for/in loop goes through array elements in wrong order
...
Fix: populate ids array in NativeArray with dense indexes first
Since array literals in Rhino creates instances of NativeArray with the
internal dense array containing literal elements, the patch changes
NativeArray.getIds to return ids array with dense indexes coming first and
indexes for elements added later after that.
2004-02-06 20:16:36 +00:00
igor%mir2.org
d51a78039d
Adding backward compatibility to SecurityController so it can be used with Rhino 1.5R4.1 subclasses
2004-02-05 15:10:52 +00:00
igor%mir2.org
2c61e81ef1
Fixing bug 210605 again: for now re-throw Error instances as is without wrapping them into WrappedException so scripts would not be able to catch them.
2004-01-29 17:04:31 +00:00
igor%mir2.org
a8722e4591
Removal support for deprecated getTargetClassFileName/setTargetClassFileName: they throw exception instead of calling a special proxy to avoid having probably unused any more class. If this is not true, then the methods should be restored.
2004-01-18 21:26:34 +00:00
igor%mir2.org
14b2b0415b
Fixing JavaDoc comments
2004-01-18 21:23:53 +00:00
igor%mir2.org
e9111c411d
EvaluatorException and WrappedException are public API now
2004-01-18 21:21:41 +00:00
igor%mir2.org
197d8abe67
Deprecating ClassNameHelper and ClassRepository in favor of new optimizer/ClassCompiler.
2004-01-17 21:52:30 +00:00
igor%mir2.org
9ab50b8455
optimizer.ClassCompiler provides new simple API for generating of class files from scripts that does not require to create Context instances.
...
The jsc tool is updated to use the new interface instead of using ClassNamehelper and friends.
2004-01-17 21:02:32 +00:00
igor%mir2.org
3077885e6a
1. optimizer/Codegen now just generates byte code classes, the instantiation of classes is done in a separated class optimizer/ClassCompiler. This is done to provide in future a simple interface to generate class files instead of complicated ClassNameHelper and friends implementation.
...
2. Parser now stores TokenStream instance in its field instead of having it present in each and every method signature. It allowed to simplify interaction between Parser and IRFactory where the later now uses Parser.reportError so parser van recover from syntax errors and provide better error reporting.
2004-01-16 18:20:22 +00:00
igor%mir2.org
81a158c7f7
Added setters for properties of CompilerEnvirons.java so it can be initialized
...
without having Context object.
2004-01-16 16:09:07 +00:00
igor%mir2.org
621907e4db
Renaming Context.hrowAsUncheckedException to Context.throwAsScriptRuntimeEx to better reflect its purpose, providing better documentation and making sure it throws only instances of EcmaError and EvaluatorException.
2004-01-16 15:14:25 +00:00
igor%mir2.org
4449f64a14
Fixing bug 228336 :
...
This is a Rhino version of Brandan's patch from attachment 138844, bug 228087
plus code to fix overflow problem reported in bug 230216.
2004-01-16 15:11:31 +00:00
igor%mir2.org
8c221d45d5
throwAsUncheckedException is moved from ScriptRuntime to Context as a useful API to use in external applications.
2004-01-15 20:41:57 +00:00
igor%mir2.org
f1a0d67e37
Fixing typo in comments
2004-01-15 20:40:56 +00:00
igor%mir2.org
b6b301b603
Patch from Alex Bitney to fix bug 230883
2004-01-15 20:10:54 +00:00
igor%mir2.org
5422230263
Fixing bug 229571 : code refactoring for speed optimization
2004-01-06 13:35:51 +00:00
igor%mir2.org
dfe5836b42
Move details of parsing/code generation from Context to interpreter/optimizer to allow more pluggable compilation interface.
2004-01-05 13:22:40 +00:00
igor%mir2.org
34be2a53ad
Cosmetics: removal of tabs left by the previous commit
2003-12-27 21:36:00 +00:00
igor%mir2.org
a00caa1df4
Decompling parsing from code generation: compiler instances are created only when parsing tree is build.
2003-12-27 21:32:35 +00:00
igor%mir2.org
44815cf659
Initial patch to separate parsing from code generation: changing IRFactory so it can be created in Context.
2003-12-27 09:53:57 +00:00
igor%mir2.org
c33fda9fe0
Renaming Kit.badArg() -> Kit.argBug() for consistency with Kit.codeBug()
2003-12-27 09:38:57 +00:00
igor%mir2.org
907cfb3edd
Moving parsing code from FunctionNode.finishParsing to IRFactory to have better overview of parsing code. The optimizer now calls explicitly OptFunctionNode initialization instead of overriding FunctionNode.finishParsing in OptFunctionNode.
2003-12-26 17:17:21 +00:00
igor%mir2.org
9df6ce9622
Functions to report synatx errors are moved from TokenStream to Interpreter to remove dependancy on TokenStream in NodeTransformer.
2003-12-26 14:01:21 +00:00
igor%mir2.org
b95d0b49fc
Dropping scope argument from Context.compileString/compileReader since it is no longer used as Script instances are scope independent.
...
For compatibility the old form of Context.compileReader is preserved but marked as deprecated.
2003-12-25 22:37:57 +00:00
nboyd%atg.com
e6f3918cce
Contribution from earestea@scanpak.com.
2003-12-18 20:55:30 +00:00
nboyd%atg.com
bf80b55723
Add Aviva info.
2003-12-18 16:53:32 +00:00
igor%mir2.org
db872e25ca
Message about overcapacity
2003-12-09 19:23:25 +00:00
igor%mir2.org
c595d35c2c
Cosmetics: removal of tabs
2003-12-09 19:22:58 +00:00
igor%mir2.org
941efb0ba0
To avoid bad performance when joining array with few small strings, js_join precalculate the resulting string size.
2003-12-09 19:22:11 +00:00
igor%mir2.org
46332c00f3
Replacing custom buffer management in replace code with the standard StringBuffer
2003-12-08 17:10:23 +00:00
igor%mir2.org
60ad0a0479
Inlining LabelTable into Interpreter and ClassFileWriter: to support jumps spanning over 64K in Interpreter in future LabelTable should be modified significantly and complexity of shared code would not justify it. In addition such inlining actually decrese total code size.
2003-12-08 14:16:53 +00:00
igor%mir2.org
78da35a9b1
Merger ReplaceData and MatchData helper classes into GlobData to reduce code size and rename helper methods to follow SpiderMonkey closely.
2003-12-08 13:24:49 +00:00
igor%mir2.org
fb1fe49783
Fixing missed cleanup of old values stored in RegExpImpl.parens: now it has type SubString[] and reinitialized after running regexps and see bug 220367.
2003-12-07 21:56:29 +00:00
igor%mir2.org
ca014a7d90
Patch to fix bug 223451 :
...
Check for unbalanced ) and fix for ArrayIndexOutOfBoundsException
Check for unbalanced ')' is done differently then in SM since rhino uses
recursive version of SM code while fix for ArrayIndexOutOfBoundsException is
just a variation of my patch for bug 227705 in SM.
2003-12-07 16:00:38 +00:00
igor%mir2.org
95222003f7
Fixing bug 225926 : patch from Roger Lawrence
2003-12-07 15:35:40 +00:00
igor%mir2.org
7e44cf82d2
Fixing bug 225366 : port of SM patch
2003-12-05 23:22:10 +00:00
igor%mir2.org
83c4281829
In Object.toSource implementation if property is not valid Java identifier, print it as 'escaped_property' so the property will read as proper Java string.
2003-12-04 15:47:03 +00:00
igor%mir2.org
0c0de954e0
Fixing bug 225831 : use before_225831_merge to get code before the far reaching fix
2003-12-04 14:41:22 +00:00
igor%mir2.org
a6a8326e8e
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=226045 :
...
(new RegExp).toString/toSource() now gives /(?:)/ instead of // which is comments and does not work with uneval.
2003-11-24 15:51:44 +00:00
igor%mir2.org
b1b179e241
Fixing debug printout of icode: CALLSPECIAL prinout was not updated to reflect proper value of only 6 additional bytes for bytecode.
2003-11-17 18:31:55 +00:00
igor%mir2.org
b27a94884b
To mark special properties __proto__ and __parent__ in parse tree use integer ids instead of strings so it is easier to check tree consitency.
2003-11-17 17:39:43 +00:00
igor%mir2.org
e6d6ac22c0
Finalizing toSource() support: do not put () arround {} for source representation of objects that are part of recursive toSource call.
...
For details, see http://bugzilla.mozilla.org/show_bug.cgi?id=225465
2003-11-17 17:37:21 +00:00
igor%mir2.org
910736ea5d
Changing wrapping of caught Java exceptions: now they are constructed with JavaException constructor, have fileName, lineNumber defined to point to script line that executed Java code triggering exception and have javaException property pointing to the wrapped exception object.
...
For details, see http://bugzilla.mozilla.org/show_bug.cgi?id=225817
2003-11-17 11:04:29 +00:00
igor%mir2.org
b5a9ce9cef
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=225817 :
...
Proper support for fileName and lineNumber in Error objects.
2003-11-17 09:45:01 +00:00
igor%mir2.org
0b06306238
Allow for scripts to catch instances of EvaluatorException
2003-11-14 20:38:06 +00:00
igor%mir2.org
25d8b12206
Transform StackOverflow during parsing into runtime exception so script can detect too deep recursion during parsing.
2003-11-14 20:33:43 +00:00
igor%mir2.org
c9206ad473
Splitting Token.ASSIGN into Token.ASSIGN and Token.ASSIGNOP where the former represents only = while ASSIGNOP is used to denote +=, -= etc. Parse tree for the 2 operations is rather different and split allowed to simplify IRFactory code.
2003-11-14 16:03:31 +00:00
igor%mir2.org
5a212182d3
Implementing uneval/toSource functionality of SpiderMonkey. Foe details, see http://bugzilla.mozilla.org/show_bug.cgi?id=225465 .
2003-11-13 17:15:31 +00:00
igor%mir2.org
1abb22cbea
Passing to decompiler information about function type so it can use it to customize its output in future.
2003-11-12 15:47:50 +00:00
igor%mir2.org
fa80cda516
Changing Decompiler.decompile to take just encoded source, flag argument controlling output format and property table so it would be possible to add more options to decompiler without changing the rest of code.
2003-11-12 12:22:12 +00:00
igor%mir2.org
86b7ac3792
Changing return type of NativeFunction.getEncodedSource() to String from Object since the idea of having anything else but String would require changes in API in any case.
2003-11-12 10:23:53 +00:00
igor%mir2.org
5d88d5ee75
In ClassFileWriter.addPush(double) use DNEG to generate more compact code for -0.0 and -1.0
2003-11-11 20:31:36 +00:00
igor%mir2.org
f725ff1f29
Changing just introduced CodeBlock into Callable that define call method with exactly the same signature as Function.call and changing Function to extend Callable.
...
Now Context defines new method "call" that provide optimized version of the following code:
Context cx = Context.enter()
try {
callable.call(cx, scope, thisObj, args);
} finally {
Context.exit();
}
Since Function extends Callable, it can be passed to this method directly thus simplifying ScriptableObject.call method and Java adapter code.
The new interface is used in SecurityController implementation which allows to pass interpreted functions there directly as well removing the need to have intermediate class in Interpreter.
2003-11-11 20:30:08 +00:00
igor%mir2.org
58376ed098
Extend constant folding to cover few unary operations
2003-11-11 20:18:34 +00:00
igor%mir2.org
2c6037d9bd
1. Make sure that -0.0 from parser are treated properly: new constant folding code there may produce it.
...
2. Instead of generating code to call Double constructor use the new method OptRuntime.wrapDouble() that allows to cut amount of produced byte code.
2003-11-11 20:04:38 +00:00
igor%mir2.org
6e1ba2e3df
Patch from Dave Russo to wrap arguments array properly: the code has to allocate new Object[] array since Context.newObject needs instances of Object[], not SomeObjectSubclass[], to work properly.
2003-11-10 02:18:11 +00:00
igor%mir2.org
a972b38a3a
Check in Context.newArray(Scriptable scope, Object[] elements) that elements is instance of Object[] and not SomeObjectSubclass[] to expose broken usage of newArray as soon as possible.
2003-11-10 02:14:37 +00:00
igor%mir2.org
a96da1a17f
Changes in Security API: using CodeBlock interface instead of reusing Script to represent code that should be executed with different domain.
2003-11-07 22:29:59 +00:00
igor%mir2.org
d3c70a3cd8
New interface to refer to code executed with a particular context and arguments.
2003-11-07 22:28:22 +00:00
igor%mir2.org
9fe0c80278
1. Removal of very recently introduced hideFromContextListeners: it was a wrong solution to the problem of running scripts under independent Context instances on the same thread.
...
2. Optimization of Context.enter()/Context.exit() when ThreadLocal is available:
Store Context[1], not Context in the variable so Context.enter()/Context.exit() would need to access ThreadVar only once and then update the reference.
2003-11-07 22:24:53 +00:00
igor%mir2.org
0a9166fe3a
Added setDouble, setString that are used in IRFactory during constant folding
2003-11-07 22:18:49 +00:00
igor%mir2.org
7d5922f48f
Move all contant folding logic to IRFactory where it simpler to do and possible to reuse tree nodes during folding.
2003-11-07 22:17:54 +00:00
igor%mir2.org
2be95ba6cd
Do constant folding during parsing since it is cheap to do that at this stage then in optimizer during separated phase so even the interpreter will take advantage of the folding.
2003-11-07 15:58:57 +00:00
igor%mir2.org
fd70d98f29
ClassRepository is removed from list of API classes to allow to replace it in future by direct access to optimizer.
2003-11-04 14:55:58 +00:00
igor%mir2.org
ecad46eb8f
Adjusting examples not to assume that Context.initStandardObjects(ScriptableObject) returns ScriptableObject since that was changed back to Scriptable for compatibility.
2003-11-04 14:54:43 +00:00
igor%mir2.org
56959e7696
Removal of initStandardObjects(boolean) not to proliferate versions of initStandardObjects: if Rhino would support recursive object sealing, it would not be necessary to call initStandardObjects with sealed flag at all.
2003-11-04 14:52:48 +00:00
igor%mir2.org
0e92e06301
JavaDoc @link fixes
2003-11-04 14:49:20 +00:00
igor%mir2.org
56cd62465f
Return type of Context.initStandardObject(ScriptableObject) is changed back to Scriptable for binary compatibility.
2003-11-03 20:42:32 +00:00
igor%mir2.org
011d5fcfd1
Removal of possibility to alter JavaAdapter through an external property as such functionality is redundant and can be emulated with altering JavaAdapter in the scope object after Context.initStandardObjects returns.
2003-11-03 19:58:17 +00:00
igor%mir2.org
8844a1f96b
Use reflection to access JavaAdapter to allow to use NativeJavaObject with JavaAdapter classes absent.
2003-11-03 19:55:37 +00:00
igor%mir2.org
0bbeb14dff
When converting function to Java interface and checking for the previous wrapping, do not use key stored in ClassCache.javaAdapterIFGlueMasters as it can be thrown away when caches are emptied and instead construct a key object from the passed class and uniqueness tag.
2003-11-03 18:15:00 +00:00
igor%mir2.org
6a865fc062
In NativeJavaClass.constructSpecific use passed scope, not function pointer as scope source so shared system scope with custom top scope and custom wrap factory would work.
2003-11-03 18:06:49 +00:00
igor%mir2.org
d2c27acd1a
Added Kit.makeHashKeyFromPair to make combined key for hashtables from 2 objects
2003-11-03 18:04:27 +00:00
igor%mir2.org
f9931a4665
Added Context.javaToJS as a convenient way to get JS values from Java objects and Context.emptyArgs so documentation does not need to refer to ScriptRuntime.emptyArgs.
2003-11-02 21:15:14 +00:00
igor%mir2.org
970fe84f50
In WrapFactory.wrap use String.valueOf(charValue) instead of new String(new char[] { charValue }) to get string from character.
2003-11-02 21:12:08 +00:00
igor%mir2.org
ea9b76f64c
Deprecation of get/setAttributes forms that take start argument. It was never used to pass anything but this object.
2003-11-01 20:23:28 +00:00
igor%mir2.org
4c360b0900
Since Undefined inherits from Scriptable, not ScriptableObject, it does not need to override get/setAttributes()
2003-11-01 20:21:28 +00:00
igor%mir2.org
2102257103
Removal of completely unnecessary getSlotToSet as its implementation repeated already unsuccessfully search done by getSlot. The put methods now call addSlot directly.
...
In addition, shared code in has and get to check/update lastAccess cache is moved to common method getNamedSlot.
2003-11-01 19:40:24 +00:00
igor%mir2.org
5294159feb
GlobalScope is removed as its introduction had to serious consequences with compatibility and usage. Instead a special purpose class ClassCache is introduces to hold various caches. The class binds itself to an arbitrary object by using new SciptableObject.associateValue method so arbitrary ScriptableObject can be used as a scope without performance penalties.
2003-11-01 15:34:23 +00:00
igor%mir2.org
15fc231809
parent and prototype fields are made privatenot to allow to mess with them from subclasses. Althoygh setter and getter can be used still to do that, at least some sanity checks can be added there.
2003-10-30 16:40:43 +00:00
igor%mir2.org
e12e6f2269
Use getPrototype instead of explicit reference to this.prototype
2003-10-30 16:40:42 +00:00
igor%mir2.org
a123fd228b
passing Context instance to NativeJavaMethod.findMethod not to call Context.getContext() id some form of API to override method selection will surface
2003-10-30 16:40:41 +00:00
igor%mir2.org
ea873cadc1
Added readReader
2003-10-30 16:40:40 +00:00
igor%mir2.org
c0c59dd572
Not to call Context.getContext() in TokenStrea/IRFactory, an explicit Context instance is passed to TokenStream constructor
2003-10-30 16:40:39 +00:00
igor%mir2.org
e0c6b113b2
Use passed scope instead of the object parent scope
2003-10-30 16:39:46 +00:00
igor%mir2.org
22d09dcc14
First part of resolving http://bugzilla.mozilla.org/show_bug.cgi?id=223435 :
...
Allow to pass JS function to Java method accepting interface with single method. The function will be called when interface method will be called.
2003-10-28 08:37:30 +00:00
igor%mir2.org
db926bd850
Added getAssociatedValue()/associateValue() to allow to connect arbitrary application-specific object with ScriptableObject.
2003-10-27 19:19:50 +00:00
igor%mir2.org
7a27515d50
Added initHash which would put value into hashtable only if it is first. This is usable to ensure proper synchronization with lazy initialization.
2003-10-27 18:45:39 +00:00
igor%mir2.org
69200530cc
If invoker master throws RuntimeException during creation of invoker, then disable invokerOptimization. It fixes regression when SecurityManager prevents InvokerMaster from creation of class loader.
2003-10-27 18:42:39 +00:00
igor%mir2.org
0ed88eb6e1
Added addPush version taking long argument.
2003-10-27 15:47:05 +00:00
igor%mir2.org
ff9cd1a75d
Common logic to create and cache adapter class on demand is moved to the new method getAdapterClass
2003-10-25 11:46:18 +00:00
igor%mir2.org
f75ab50572
In getApplicationClassLoader cache result of Thread.getContextClassLoader if it coincides with the loader that loaded Context class.
2003-10-25 11:42:34 +00:00
igor%mir2.org
e8f46e37c1
Added information on shared scopes
2003-10-23 21:49:23 +00:00
igor%mir2.org
f28c2bb83d
Updated to remove NotAFunction exception handler which is not generated any more and was deprecated.
2003-10-23 21:48:45 +00:00
igor%mir2.org
b0cc0c620a
The class is no longer used.
2003-10-22 08:02:37 +00:00
igor%mir2.org
f828aace6b
1. Added Context.hideFromContextListeners() which makes invisible for listeners.
...
2. Made sure that ContextListener.contextCreated is called only once. After a resent change to call the method from Context.enter, not from Context constructor the method would be called each time on first enter which broke the debugger.
3. Using new listener utilities from Kit instead of ListenerArray methods that would create a special storage object only if there is more then one listener.
2003-10-22 08:01:46 +00:00
igor%mir2.org
dd0cf32131
Added JavaDoc for listener utilities
2003-10-22 07:57:49 +00:00
igor%mir2.org
7ca1f5cb7d
Introduction of org.mozilla.javascript.Kit to contain generic support utilities.
2003-10-21 13:43:22 +00:00
igor%mir2.org
6aac95c7d1
Use getPrototype instead of explicit reference to this.prototype
2003-10-21 13:43:21 +00:00
igor%mir2.org
6c99cceb21
Added readUrl method to shell
2003-10-21 09:13:59 +00:00
igor%mir2.org
0e344eacac
Reuse results of method.getParameterTypes() and better hash code for javaAdapterSignature.
2003-10-20 14:11:08 +00:00
igor%mir2.org
1ff42561c8
Count syntax error in TokenStream directly instead of going through Context object so it would be possible to use TokenStream without instantiating Context.
2003-10-20 14:06:12 +00:00
igor%mir2.org
d77c60cb02
Cosmetics: indentation fixes
2003-10-20 14:02:53 +00:00
igor%mir2.org
91d08bfaf5
1. Static hash table in JavaAdapter is replaced by a non-static fields in GlobalScope.
...
2. NativeObject implements just Serializable, not Externalizable interface to simplify serialization.
2003-10-19 09:59:52 +00:00
igor%mir2.org
8d96213e1b
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=222635 :
...
Now activation is always properly removed under the debugger.
2003-10-17 18:24:29 +00:00
igor%mir2.org
cb7cd3ec6f
I changed FunctionObject and ScriptableObject to use MemberBox wrapper for native methods, getters and setters that allowed to get following:
...
1. Method serialization code in MemberBox takes care of all serialization so ScriptableObject and FunctionObject does not need anything on its own.
2. Invoker optimization is extended to getters and setters in ScriptableObject.
3. Recovery from IllegalAccessException is extended to all cases of method invocation via reflection.
4. All error wrapping happens in a single class so FunctionObject and ScriptableObject does not need to wary about it.
2003-10-16 14:27:53 +00:00
igor%mir2.org
84f91c674b
Updated ftp links to the download files due ftp server reorganization
2003-10-15 18:13:33 +00:00
igor%mir2.org
fc7c0bf413
Code to create invoker master instance is placed into Invoker itself since FunctionObject does not need to know which classes stays behind the implementation.
2003-10-13 16:04:20 +00:00
igor%mir2.org
93a6e530db
FunctionObject.convertArg is split into FunctionObject.getTypeTag() and FunctionObject.convertArg version taking that tag for better error reporting and performance since the tag can be cached and an expensive sequence of if and instanceof to check for the type would be replaced by a simple switch.
2003-10-13 16:02:35 +00:00
igor%mir2.org
4e0f4b2130
Run ContextListener.contextCreated from Context.enter(), not Context constructor. In this way listeners will not be invoked for Context that are never associated with a thread and contextCreated will be more symmetric with Context.contextReleased.
2003-10-13 15:57:18 +00:00
igor%mir2.org
e18f8b655f
Inlining code into exceMethod to shrink code size.
2003-10-13 07:30:33 +00:00
igor%mir2.org
1903241b26
In getLength check for version of compiled function, not version from the current context for consistency.
2003-10-13 07:29:43 +00:00
igor%mir2.org
921de84285
In classOrNull and newInstanceOrNull catch and ignore LinkageError since it can be thrown if class links to unknown class.
2003-10-13 07:28:37 +00:00
igor%mir2.org
d14b894ae8
Added to build.xml the smalljar target to generate smalljs.jar. Its usage is documented in doc/footprint.html.
2003-10-12 13:45:41 +00:00
igor%mir2.org
e59ea85bdc
More optimizations to shrink code size.
2003-10-12 08:52:24 +00:00
igor%mir2.org
7dcd39d424
Inlining of private functions and reorganization to shrink code size to offset resent Rhino size growth
2003-10-11 20:29:32 +00:00
igor%mir2.org
85487e456b
Using ScriptRuntime.splitSC to extract packages from semicolon-separated string instead of explicit code.
2003-10-11 20:27:08 +00:00
igor%mir2.org
16966afd81
Added ScriptRuntime.splitSC
2003-10-11 20:24:27 +00:00
igor%mir2.org
0f0bba3319
Change JavaScriptException to include source and line information in Throwable.getMessage()
2003-10-11 19:36:25 +00:00
igor%mir2.org
5791085f43
Optimization: for line counting use offset of line icode of interpreter instead of the line itself. In this way interpreter does not need to read encoded line data on each line marker which can occur quite frequently.
2003-10-11 19:34:29 +00:00
igor%mir2.org
b51c421805
BinaryDigitReader logic is inlined in ScriptRuntime.stringToNumber removing the need in the class.
2003-10-09 17:38:34 +00:00
igor%mir2.org
1300a83780
Use newly introduced Context.initStandardObjects(), not initStandardObjects(null) in the examples
2003-10-09 07:00:40 +00:00
igor%mir2.org
0b8d376817
Use non-static functions in Shell
2003-10-09 07:00:01 +00:00
igor%mir2.org
1532e6ac8b
Cosmetics: removal of end-of-line junk space
2003-10-09 06:57:12 +00:00
igor%mir2.org
946702bcf1
Use newly introduced Context.initStandardObjects(), not initStandardObjects(null) in the documentation
2003-10-09 06:55:49 +00:00
igor%mir2.org
841c039322
dist depends on deepclean to prevent erroneous distribution builds when ant fails to detect source code dependencies and misses recompilation.
2003-10-09 06:44:38 +00:00
igor%mir2.org
ba83445719
GlobalScope is a part of API now.
2003-10-09 06:42:30 +00:00
igor%mir2.org
ac55982694
Cosmetics: change argument order for package-private EcmaError constructor to it matchers other cases when a method takes line and column number.
2003-10-09 06:41:28 +00:00
igor%mir2.org
4431450289
Added version of Context.initStandardObjects that does not take scope as its argument.
2003-10-09 06:37:25 +00:00
igor%mir2.org
1f791c9fda
Adding getParent() to omg.debug.DebuggableScript to allow to browse whole script function tree from any function.
2003-10-01 15:03:06 +00:00
igor%mir2.org
5fa056c85d
Cosmetics: expanding tabs
2003-10-01 15:02:09 +00:00
igor%mir2.org
7a6878c0e9
Changing ScriptRuntime.initScript to return vois since it does not and should not change scope
2003-10-01 11:55:56 +00:00
igor%mir2.org
03ac8566e9
Extending omj.debug.DebuggableScript interface with functions to access nested functions and check if it is top-level script.
2003-10-01 11:55:55 +00:00
igor%mir2.org
7e809e3208
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
ce1bfbad95
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
64ee78aaec
Self-documenting example
2003-09-28 19:49:07 +00:00
igor%mir2.org
026f5acdd0
Added msg.adapter.zero.args
2003-09-28 18:14:16 +00:00
igor%mir2.org
4a3446307d
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
b38d3d8ef9
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
igor%mir2.org
ac0d4eb822
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
igor%mir2.org
913e92ee46
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
b482ee16b2
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
1642f1695e
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
igor%mir2.org
854e18e642
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
3bfcd0e8e6
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
10f7bc1e8d
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
igor%mir2.org
5abaaa06f2
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
93d0318b76
Cosmetics: identation fixes
2003-09-12 15:04:21 +00:00
igor%mir2.org
5aebbbe9d9
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
9db4ab159d
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
4c14c37359
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
d498e94c0c
Restoring NativeJavaPackage(String) constructor as deprecated for compatibility with Batik.
2003-09-09 13:27:11 +00:00
igor%mir2.org
6b88939df0
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
f7e67f2455
Restoring JavaScriptException(String) as deprecated constructor for compatibility with BSF.
2003-09-09 13:22:50 +00:00
igor%mir2.org
61a75d60bc
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
51314a3313
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
5f745d1f6e
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
5a252e7afe
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
6497b67f9c
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
4bad77a49f
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
07c84846bc
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
1e3baffb2a
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
195739a349
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
80cab2fc94
Cosmetics: removal of EOL blanks
2003-09-03 14:26:39 +00:00
igor%mir2.org
67749a7953
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
igor%mir2.org
cabd0efab4
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
36aaed961a
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
c8275b1f14
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
737a2a03c0
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
348f0a5a75
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
bc6bf1fc38
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
f969c11384
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
26296c096d
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
a2a564b53c
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
63aef961cd
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