~james-page/ubuntu/natty/rhino/fix-304702

« back to all changes in this revision

Viewing changes to src/org/mozilla/javascript/optimizer/OptTransformer.java

  • Committer: Bazaar Package Importer
  • Author(s): Damien Raude-Morvan, Marcus Better, Matthias Klose, Damien Raude-Morvan
  • Date: 2009-04-13 02:40:15 UTC
  • mfrom: (11.1.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090413024015-i21xnoehukpipbcw
Tags: 1.7R2-1
[ Marcus Better ]
* Updated package descriptions.

[ Matthias Klose ]
* (Build-)depend on default-jre-headless/-jdk.
* Drop alternate dependencies on java2-runtime-headless and
  java2-runtime-headless. The binary package is currently built to
  require a java5 runtime.

[ Damien Raude-Morvan ]
* New upstream release.
  - new 02_exclude-jdk15 patch to exclude already compiled classes
    for jdk15 rebuild: gcj doesn't handle compiling classes already
    on its classpath
  - new "rhino-debugger" launcher for Rhino Debugger Swing UI
  - update "rhino" launcher to exclude OpenJDK bundled rhino (Closes: #512498)
* debian/{postinst,prerm }: scripts should take care of errors,
  add set -e before any instruction
* debian/rules: add new get-orig-source target using uscan
* debian/control:
  - Build-Depends on specialized default-jdk-builddep instead of
  default-jdk
  - Bump Standards-Version to 3.8.1: Wrap Uploaders field
  - add Depends on ${misc:Depends}

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
package org.mozilla.javascript.optimizer;
40
40
 
41
41
import org.mozilla.javascript.*;
42
 
import java.util.Hashtable;
 
42
import java.util.Map;
43
43
 
44
44
/**
45
45
 * This class performs node transforms to prepare for optimization.
50
50
 
51
51
class OptTransformer extends NodeTransformer {
52
52
 
53
 
    OptTransformer(Hashtable possibleDirectCalls, ObjArray directCallTargets)
 
53
    OptTransformer(Map<String,OptFunctionNode> possibleDirectCalls, ObjArray directCallTargets)
54
54
    {
55
55
        this.possibleDirectCalls = possibleDirectCalls;
56
56
        this.directCallTargets = directCallTargets;
57
57
    }
58
58
 
 
59
    @Override
59
60
    protected void visitNew(Node node, ScriptOrFnNode tree) {
60
61
        detectDirectCall(node, tree);
61
62
        super.visitNew(node, tree);
62
63
    }
63
64
 
 
65
    @Override
64
66
    protected void visitCall(Node node, ScriptOrFnNode tree) {
65
67
        detectDirectCall(node, tree);
66
68
        super.visitCall(node, tree);
106
108
                }
107
109
                if (targetName != null) {
108
110
                    OptFunctionNode ofn;
109
 
                    ofn = (OptFunctionNode)possibleDirectCalls.get(targetName);
 
111
                    ofn = possibleDirectCalls.get(targetName);
110
112
                    if (ofn != null
111
113
                        && argCount == ofn.fnode.getParamCount()
112
114
                        && !ofn.fnode.requiresActivation())
128
130
        }
129
131
    }
130
132
 
131
 
    private Hashtable possibleDirectCalls;
 
133
    private Map<String,OptFunctionNode> possibleDirectCalls;
132
134
    private ObjArray directCallTargets;
133
135
}