Граф коммитов

1592 Коммитов

Автор SHA1 Сообщение Дата
igor%mir2.org 056ad2e0d8 New implementation of ARRAYLIT and OBJECTLIT that does not requires stack
space to hold all literals values before they are copied to a temporary array
to pass to ScriptRuntime functions. The new code populates array during values
calculations.
2004-05-15 17:28:22 +00:00
igor%mir2.org aa3b4192c7 Quote property names in object literals produced by toSource() if they
coincide with reserved keywords.
2004-05-15 17:23:06 +00:00
igor%mir2.org 61f8b426d6 Use special parse nodes for array and object literals to generate more compact
bytecode both for interpreter and compiler to have faster [] and {} literals.
It also fixes the bug of accessing local variables Array/Object for the
literals instead of top-scope objects.
2004-05-14 22:47:44 +00:00
igor%mir2.org de3ba2521a Use code similar to optimizer when generating call sequences to avoid tree mutations during code generation 2004-05-12 22:39:40 +00:00
igor%mir2.org 3afab15941 1. Fixing bug of forgotten updates to itsWithNesting
2. Optimization for calls like name() which similar to the optimizer code
2004-05-12 20:03:23 +00:00
igor%mir2.org e175972a27 New function ScriptRuntime.notFoundError to throw error on missed properties
instead of scattered duplicated code
2004-05-12 19:59:57 +00:00
igor%mir2.org 46cd4fd5b5 Removal of Token.GETBASE, Token.GETTHIS, Token.PARENT, Token.NEWTEMP, Token.USETEMP, Node.TEMP_PROP, Node.FIXUPS_PROP, Node.USES_PROP constants which are no longer used after the last changes 2004-05-12 15:00:41 +00:00
igor%mir2.org 05139b4bdc Instead of transforming parser tree to apply special treatment for call nodes, do that only during code generation . 2004-05-12 13:02:40 +00:00
igor%mir2.org 97e2293d87 Refactoring Codegen.visitCall: preprae for the following switch to generate call without transformer modifications 2004-05-12 10:34:46 +00:00
igor%mir2.org 36506b6d8f Improve error messages for the optimizer when accessing undefined values 2004-05-11 10:06:51 +00:00
igor%mir2.org 48a87534dc Cleanup of hasVarsInRegs 2004-05-10 16:45:02 +00:00
igor%mir2.org 68438dbe11 Apply direct call optimization only for functions that do not need activation. 2004-05-10 15:28:32 +00:00
igor%mir2.org 7b2dbf7fe4 Determine functions that require activation during parsing and not in NodeTransformer 2004-05-10 13:39:14 +00:00
igor%mir2.org 7f4cc16750 Removal of checks for unitialized lVal.getJRegister(): the registers are always initialized in prelude. 2004-05-10 05:24:29 +00:00
igor%mir2.org 7d090a52e4 Removal of JavaVariable interface in favor of simple method in ClassFileWriter. It allowed to shrink OptLocalVariable and made other code simpler. 2004-05-09 22:09:03 +00:00
igor%mir2.org a6a43f6660 Clenup the usage of getJRegister/assignJRegister 2004-05-09 21:07:08 +00:00
igor%mir2.org f68eda4ed6 Move all logic regarding establishing type of variable into Block.java 2004-05-09 21:06:20 +00:00
igor%mir2.org 834c918c5b Removal of no longer used LASTUSE property and corresponding optimizer code 2004-05-09 12:38:45 +00:00
igor%mir2.org fcf8a09a72 Remove code for CSE optimisation: it was used only to merger this.property calls but this optimisation changes program semantic if property is controlled by native getter. 2004-05-09 10:14:01 +00:00
igor%mir2.org c8f630ac9c OptLocalVariable cleanup: under optimization GETVAR/SETVAR nodes always has a reference to them 2004-05-08 22:24:02 +00:00
igor%mir2.org 1969c19d54 Remove markLiveAcrossCall functionality that was never used for any optimizations 2004-05-08 21:05:00 +00:00
igor%mir2.org 2bf943fd1f Merge addToken/addString into single addString 2004-05-08 19:21:37 +00:00
igor%mir2.org c8c34c5baa Optimization of ++/-- and merge separated postIncrement/postDecrement to single postIncrDecr to remove too much code duplication 2004-05-07 15:05:11 +00:00
igor%mir2.org 73e79d7653 FatBlock is moved to Block as a private class 2004-05-07 15:03:39 +00:00
igor%mir2.org 605d32ffea Added addPush(boolean) 2004-05-07 15:00:17 +00:00
igor%mir2.org bb8d328be9 Extend optimization ==, !=, ===, !== against null to check null presence on any side of the test. 2004-04-21 12:00:27 +00:00
igor%mir2.org 388341c850 Fix max stack calculations in dcpLoadAsObject/dcpLoadAsNunber and optimize visitIfJumpRelOp to take advantage of the fact that left and right numerical operands force numeric context. 2004-04-20 13:00:08 +00:00
igor%mir2.org b4bb88c434 Reuse code to generate optimized if jumps for boolean operations that return Boolean instance 2004-04-18 20:29:41 +00:00
igor%mir2.org 86dc2db1c0 Cleanups:
1. Added addObjectToDouble() to replace explicit code generation for object to double convertion.
2. nodeIsDirectCallParameter returns dcp register to avoid double look up of OptVariable
2004-04-18 16:29:12 +00:00
igor%mir2.org fafc53aace Layout cosmetics 2004-04-18 16:26:32 +00:00
igor%mir2.org 09018e0533 Trust JVM to implement "<=" and "<" according to JVM specs and replace code like
d1 == d1 && d2 == d2 && d1 < d2
with simple
    d1 < d2

That in turn allows to simplify code generation and remove OptRuntime.cmp_ functions.
2004-04-18 14:53:34 +00:00
igor%mir2.org 719bb92768 Trust JVM to implement "<=" and "<" according to JVM specs and replace code like
d1 == d1 && d2 == d2 && d1 < d2
with simple
    d1 < d2
2004-04-18 14:52:22 +00:00
igor%mir2.org 2e97a7df33 Remove commented out code to treat integer specially: it is not applicable any longer in any case. 2004-04-18 14:49:50 +00:00
igor%mir2.org d79eb6342f Work on bug 238649: no more support for ClassNameHelper and friends 2004-04-18 12:15:07 +00:00
igor%mir2.org aee55ce695 Worj on bug 238649: removal of NotAFunctionException 2004-04-18 09:30:30 +00:00
igor%mir2.org 3c290b16dd 1. Change cmp_* functions to return boolean, not int, to simplify code.
2. Move optimizer-only functions from ScriptRuntime.java to optimizer/OptRuntime.java
3. Add ScriptRuntime.wrapBoolean to wrap boolean value and use it in the optimizer
2004-04-16 07:38:20 +00:00
igor%mir2.org 0adf35e44c 1. Throw IllegalArgumentException instead of EvaluatorException when argument does not belong to JS runtime types.
2. Optimize eq and shallowEq in ScriptRuntime to share code with optimized versions in Interpreter.
2004-04-14 14:50:24 +00:00
igor%mir2.org 9b208813a2 Layout cosmetics 2004-04-14 14:46:58 +00:00
igor%mir2.org 3b157b025b Support for Date.now() 2004-04-14 11:04:55 +00:00
igor%mir2.org 31c7e1f54c Fixing bug 58118 : long overdue commit of patch from Mike McCabe, mike+mozilla@meer.net 2004-03-30 12:48:29 +00:00
igor%mir2.org 023446d6c0 Since new x in Java never returns null, the check for null in date_format was redundant. 2004-03-30 10:35:42 +00:00
igor%mir2.org 0a8394388f Faster implementation of MonthFromTime and DateFromTime:
1. Use day / 30 as month estimate with the following adjustment via switch()
2. Reuse year from day calculations in IsLeapYear
2004-03-29 15:19:04 +00:00
igor%mir2.org 7c417cd5e9 Fixing bug 239068: proper initialization of parent scope for functions of constructors. 2004-03-29 15:15:34 +00:00
igor%mir2.org 2306ff9f68 DaysInYear is replaced by IsLeapYear since the former was used only to determine if a particular was leap or not 2004-03-29 14:16:23 +00:00
igor%mir2.org f394ba49d0 Cosmetics: layout fixes 2004-03-29 12:30:24 +00:00
igor%mir2.org cd59bcde60 Starting 1.5R5.1 development 2004-03-29 12:29:11 +00:00
igor%mir2.org 03828224aa Fixing 238823 : throw explicit IllegalArgumentException when JS source for Context.compileFunction does not contain single JS function statement instead of producing silent empty functions or throwing obscure NullPointerExceptions 2004-03-27 09:35:22 +00:00
igor%mir2.org d48d5df72a Better formating 2004-03-26 13:01:17 +00:00
igor%mir2.org 5c2d316845 Fixing bug 238699 : refactoring to expose simpler code generation API caused to select wrong code path when compiling functions 2004-03-26 12:42:00 +00:00
igor%mir2.org e1c579fdb8 Explicit date in Context.getImplementationVersion() for 1.5R5 release 2004-03-25 20:37:32 +00:00
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