Changes between Version 63 and Version 64 of squirrelfish
- Timestamp:
- Apr 11, 2008, 3:41:20 AM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
squirrelfish
v63 v64 7 7 * It occurs to me that these could both (s|g)etters and toString could be "trivially" handled through the standard js -> native -> js call model -- at least in the short-medium term 8 8 * eval 9 * proper values for "this"10 9 11 10 '''List of tasks in no order -- pick one, tell everyone what you're doing: … … 25 24 ''' 26 25 27 Investigating performance regressions caused by the introduction of new opcodes. In particular, a simple for loop with no body regresses about 25%. It seemed at first that this has to do with the fact that these instructions call arbitrary external functions, but some odd performance differences still occur without these calls. '''Done''': the regression seems to be related to inlining of large function bodies into Machine::privateExecute(). In order to solve this, we have to remove ALWAYS_INLINE from some larger functions, and move some opcodes out into individual functions marked NEVER_INLINE. This is suboptimal, and we still don't know the exact reason why it is happening, but hopefully it will be easy enough to work around for now. Geoff and I worked this out and he landed [http://trac.webkit.org/projects/webkit/changeset/31277 r31277], which fixes the problems we have seen thusfar.28 29 26 Better code generation. We have been pondering whether to have a separate peephole optimization pass or to incorporate peephole optimization into code generation. Either way, we should look at some code generation algorithms based on tile matching. We also want to choose an approach that will be compatible with planned extensions, e.g. superinstructions. 30 27 31 Function-related nodes 28 Constant pool GC 32 29 33 30 '''Oliver is working on: … … 39 36 ''' 40 37 41 Implement more "emitCode" functions, along with support in the CodeGenerator and the Machine. IfNode would be a good place to start.42 43 38 '''Maciej is working on: 44 39 ''' 45 40 46 Bracket nodes 41 ScopeChain hackery 47 42 48 43 '''You could take something from Geoff, or make something up yourself, or do one of these:''' … … 57 52 * ElementNode 58 53 * EvalFunctionCallNode 59 * FunctionCallResolveNode (still needs to be fixed to handle thisObj correctly)60 * NewExprNode (still needs to be fixed to work with js functions)61 54 * ParameterNode 62 55 * PostDecConstNode