Revision: 3788
          http://vexi.svn.sourceforge.net/vexi/?rev=3788&view=rev
Author:   jeffbuhrt
Date:     2010-02-03 22:25:35 +0000 (Wed, 03 Feb 2010)

Log Message:
-----------
memory and memoryhist modes now run (again)

Modified Paths:
--------------
    trunk/core/org.vexi.devl/.classpath
    trunk/core/org.vexi.devl/src/org/ibex/js/ObjTree.java
    trunk/core/org.vexi.devl/src/org/ibex/js/RTScopeInfo.java
    trunk/core/org.vexi.devl/src/org/ibex/js/ScopeInfoManager.java
    trunk/core/org.vexi.devl/src/org/ibex/js/ThreadInfo.java
    trunk/core/org.vexi.devl/src/org/vexi/devl/Main.java
    trunk/core/org.vexi.devl/src/org/vexi/instrument/debug/DebugHandler.java
    trunk/core/org.vexi.devl/src/org/vexi/instrument/profile/Profile.java

Modified: trunk/core/org.vexi.devl/.classpath
===================================================================
--- trunk/core/org.vexi.devl/.classpath 2010-02-02 20:44:47 UTC (rev 3787)
+++ trunk/core/org.vexi.devl/.classpath 2010-02-03 22:25:35 UTC (rev 3788)
@@ -3,12 +3,12 @@
        <classpathentry kind="src" path="src"/>
        <classpathentry kind="src" path="src_gen"/>
        <classpathentry 
excluding="testold/debug/|testold/debug/simple/|testold/debug/thread/|testold/debug/vars/"
 kind="src" path="src_junit"/>
-       <classpathentry combineaccessrules="false" kind="src" 
path="/org.ibex.js"/>
        <classpathentry kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
        <classpathentry kind="lib" path="lib/commons-codec-1.3.jar"/>
        <classpathentry kind="lib" path="lib/xmlrpc-2.0.jar"/>
        <classpathentry kind="lib" path="lib/insanelib.jar"/>
        <classpathentry kind="con" 
path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3.8.1"/>
        <classpathentry combineaccessrules="false" kind="src" 
path="/org.vexi.core"/>
+       <classpathentry combineaccessrules="false" kind="src" 
path="/org.ibex.js"/>
        <classpathentry kind="output" path="bin"/>
 </classpath>

Modified: trunk/core/org.vexi.devl/src/org/ibex/js/ObjTree.java
===================================================================
--- trunk/core/org.vexi.devl/src/org/ibex/js/ObjTree.java       2010-02-02 
20:44:47 UTC (rev 3787)
+++ trunk/core/org.vexi.devl/src/org/ibex/js/ObjTree.java       2010-02-03 
22:25:35 UTC (rev 3788)
@@ -1,8 +1,11 @@
 package org.ibex.js;
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Vector;
 
-import org.ibex.js.Parser.ScopeInfo;
+import org.ibex.js.parse.Parser.ScopeInfo;
 
 /** A Tree */
 class ObjTree implements org.vexi.instrument.debug.Constants{

Modified: trunk/core/org.vexi.devl/src/org/ibex/js/RTScopeInfo.java
===================================================================
--- trunk/core/org.vexi.devl/src/org/ibex/js/RTScopeInfo.java   2010-02-02 
20:44:47 UTC (rev 3787)
+++ trunk/core/org.vexi.devl/src/org/ibex/js/RTScopeInfo.java   2010-02-03 
22:25:35 UTC (rev 3788)
@@ -1,10 +1,12 @@
 package org.ibex.js;
 
 import java.util.HashMap;
-import org.ibex.js.Parser.ScopeInfo;
 
+import org.ibex.js.parse.Function;
+import org.ibex.js.parse.Parser.ScopeInfo;
 
 
+
 /** As opposed to ScopeInfo which comes at compile time */
 public class RTScopeInfo {
        
@@ -20,11 +22,11 @@
                scopeInfos.put(sikey(si.jsfunc, si.pc), si);
                }
        
-       static private String sikey(JSFunction jsfunc, int pc){
+       static private String sikey(Function jsfunc, int pc){
                return (jsfunc.definedAt() + ":" + pc);
         }
        
-       static public void put(Scope scope, JSFunction f, int pc){
+       static public void put(Scope scope, Function f, int pc){
                int lastNewScope = ScopeInfoManager.getLastNEWSCOPE(f,pc);
                if(scopeToRTSI.get(scope) != null)
                        return;
@@ -45,11 +47,11 @@
 
     }
 
-       RTScopeInfo(JSFunction f,  int pc){
+       RTScopeInfo(Function f,  int pc){
                this.f = f;
                this.pc = pc;
        }
-    JSFunction f;// Function it belongs to
+    Function f;// Function it belongs to
     int pc;
 
 }
\ No newline at end of file

Modified: trunk/core/org.vexi.devl/src/org/ibex/js/ScopeInfoManager.java
===================================================================
--- trunk/core/org.vexi.devl/src/org/ibex/js/ScopeInfoManager.java      
2010-02-02 20:44:47 UTC (rev 3787)
+++ trunk/core/org.vexi.devl/src/org/ibex/js/ScopeInfoManager.java      
2010-02-03 22:25:35 UTC (rev 3788)
@@ -1,10 +1,15 @@
 package org.ibex.js;
 
-import java.util.*;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Vector;
 
-import org.ibex.js.Parser.*;
+import org.ibex.js.parse.ByteCodes;
+import org.ibex.js.parse.Function;
+import org.ibex.js.parse.Parser.ScopeEntry;
+import org.ibex.js.parse.Parser.ScopeInfo;
+import org.vexi.instrument.debug.MessagePasser.IMessagePart;
 import org.vexi.util.Log;
-import org.vexi.instrument.debug.MessagePasser.IMessagePart;
 
 
 public class ScopeInfoManager implements org.vexi.instrument.debug.Constants{
@@ -125,7 +130,7 @@
                        // Uses scopeinfo to recover var index from varname
                        ScopeInfo si = RTScopeInfo.Map.get(rtsi);
                        ScopeEntry entry = (ScopeEntry) si.mapping.get(varName);
-                       if(entry!=null)return entry.slot;
+                       if(entry!=null)return (JSNumber.I)entry.slot;
                        // Try parent scope (ScopeInfos don't have references 
to their
                        // parents)
                        scope = scope.parent;
@@ -276,20 +281,21 @@
        
        // Returns key (name) from value (scopeslot)
        static String reverseLookupScopeInfo(ScopeInfo si, int slot){
-               Iterator I = si.mapping.keySet().iterator();
-               while(I.hasNext()){
-                       
-                       String vn = (String) I.next();
-                       ScopeEntry entry = (ScopeEntry) si.mapping.get(vn);
-                       if(entry.slot.i == slot){
-                               return  vn ;
-                       }
-               }
-               return "? (" + slot + ")";
+//             Iterator I = si.mapping.keySet().iterator();
+//             while(I.hasNext()){
+//                     
+//                     String vn = (String) I.next();
+//                     ScopeEntry entry = (ScopeEntry) si.mapping.get(vn);
+//                     if(entry.slot.i == slot){
+//                             return  vn ;
+//                     }
+//             }
+//             return "? (" + slot + ")";
+               return "? (Lookip not currently supported)";
        }
        
        // Get previous NEWSCOPE (scope corresponding to pc) 
-       static int getLastNEWSCOPE(JSFunction f, int pc){
+       static int getLastNEWSCOPE(Function f, int pc){
            int bcode = f.op[pc];
            while(bcode != ByteCodes.NEWSCOPE){
                bcode=f.op[--pc];

Modified: trunk/core/org.vexi.devl/src/org/ibex/js/ThreadInfo.java
===================================================================
--- trunk/core/org.vexi.devl/src/org/ibex/js/ThreadInfo.java    2010-02-02 
20:44:47 UTC (rev 3787)
+++ trunk/core/org.vexi.devl/src/org/ibex/js/ThreadInfo.java    2010-02-03 
22:25:35 UTC (rev 3788)
@@ -9,9 +9,13 @@
 import java.util.Map;
 import java.util.Vector;
 
+import org.ibex.js.parse.ByteCodes;
+import org.ibex.js.parse.Function;
+import org.vexi.instrument.debug.BreakPoint;
+import org.vexi.instrument.debug.DebugHandler;
+import org.vexi.instrument.debug.SourceManager;
+import org.vexi.instrument.debug.MessagePasser.IMessagePart;
 import org.vexi.util.Log;
-import org.vexi.instrument.debug.*;
-import org.vexi.instrument.debug.MessagePasser.IMessagePart;
 
 class CallStack{
        public CallStack() {}
@@ -90,7 +94,8 @@
 
        static class CallInfo{
                CallInfo(Position pos, Scope s){
-                       this(pos.f.sourceName, pos.ln, s);
+//                     this(pos.f.sourceName, pos.ln, s);
+                       this("", pos.ln, s);
                }
                private CallInfo(String srcName, int ln, Scope scope) {
                        this.srcName = srcName;
@@ -165,8 +170,8 @@
 
 
 class Position{
-       final static Position NOWHERE = new Position(new 
JSFunction("",-1,null),-1,-1);
-       Position(JSFunction f, int ln, int callpos) {
+       final static Position NOWHERE = new Position(new 
Function(null,0),-1,-1);
+       Position(Function f, int ln, int callpos) {
                this.f = f;
                this.ln = ln;
                this.callpos = callpos;
@@ -175,7 +180,7 @@
        boolean sameLine(Position p){
                return ln==p.ln &&  f==p.f;
        }
-       JSFunction f;
+       Function f;
        int ln;
        int callpos;
 }
@@ -310,7 +315,7 @@
        }
 
        public void handle(Interpreter i){
-               JSFunction f = i.f;
+               Function f = i.f;
                int ln = f.line[i.pc];
                int pc = i.pc;
                Scope scope = i.scope;

Modified: trunk/core/org.vexi.devl/src/org/vexi/devl/Main.java
===================================================================
--- trunk/core/org.vexi.devl/src/org/vexi/devl/Main.java        2010-02-02 
20:44:47 UTC (rev 3787)
+++ trunk/core/org.vexi.devl/src/org/vexi/devl/Main.java        2010-02-03 
22:25:35 UTC (rev 3788)
@@ -2,13 +2,12 @@
 
 import java.net.URL;
 
-import org.ibex.js.*;
-import org.vexi.util.Log;
-import org.vexi.core.*;
+import org.ibex.js.Fountain;
 import org.vexi.instrument.debug.DebugHandler;
 import org.vexi.instrument.memory.Memory;
 import org.vexi.instrument.memoryhist.MemoryHist;
 import org.vexi.instrument.profile.Profile;
+import org.vexi.util.Log;
 
 public class Main extends org.vexi.core.Main {
 
@@ -28,6 +27,7 @@
         "    debuggee         run with debugging instrumentation (in 
general\n"+
         "                     you don't want to use this option directly)\n"+
         "    memory           run with memory allocation info collection\n"+
+        "    memoryhist       \n"+
         "    profile          run with profiling\n";
 
        
@@ -65,8 +65,8 @@
                        new MemoryHist();       
                }else if("profile".equals(instrumentation)){
                        new Profile();
-               }else if("checking".equals(instrumentation)){
-                       TemplateBuilder.setTemplateBuilder(new 
DevlTemplateBuilder());
+//             }else if("checking".equals(instrumentation)){
+//                     TemplateBuilder.setTemplateBuilder(new 
DevlTemplateBuilder());
                }else{
                        printUsage();
                }       

Modified: 
trunk/core/org.vexi.devl/src/org/vexi/instrument/debug/DebugHandler.java
===================================================================
--- trunk/core/org.vexi.devl/src/org/vexi/instrument/debug/DebugHandler.java    
2010-02-02 20:44:47 UTC (rev 3787)
+++ trunk/core/org.vexi.devl/src/org/vexi/instrument/debug/DebugHandler.java    
2010-02-03 22:25:35 UTC (rev 3788)
@@ -4,9 +4,13 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.ibex.js.Parser.ScopeInfo;
-import org.ibex.js.*;
+import org.ibex.js.Fountain;
+import org.ibex.js.Instr;
+import org.ibex.js.Interpreter;
+import org.ibex.js.RTScopeInfo;
 import org.ibex.js.Thread;
+import org.ibex.js.ThreadInfo;
+import org.ibex.js.parse.Parser.ScopeInfo;
 
 
 /**                            

Modified: trunk/core/org.vexi.devl/src/org/vexi/instrument/profile/Profile.java
===================================================================
--- trunk/core/org.vexi.devl/src/org/vexi/instrument/profile/Profile.java       
2010-02-02 20:44:47 UTC (rev 3787)
+++ trunk/core/org.vexi.devl/src/org/vexi/instrument/profile/Profile.java       
2010-02-03 22:25:35 UTC (rev 3788)
@@ -1,12 +1,21 @@
 package org.vexi.instrument.profile;
 
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
+import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Map;
 
-import javax.swing.*;
+import javax.swing.JButton;
+import javax.swing.JFrame;
 
-import org.ibex.js.*;
+import org.ibex.js.Instr;
+import org.ibex.js.Interpreter;
+import org.ibex.js.JSFunction;
+import org.ibex.js.parse.Function;
 import org.vexi.util.Log;
 
 
@@ -44,14 +53,14 @@
        }
        
        static class FuncCount {
-               JSFunction f;
+               Function f;
                int nExecs = 0;
                int nBytecodeExecs = 0;
-               public FuncCount(JSFunction f){ this.f = f; }
+               public FuncCount(Function f){ this.f = f; }
                public String toString(){ return nBytecodeExecs + " " + nExecs 
+" " + key(f);}
        }
        
-       static private String key(JSFunction f){ return 
f.sourceName+":"+f.firstLine; }
+       static private String key(Function f){ return 
f.sourceName+":"+f.firstLine; }
 
        //REMARK Is this wrong? The panel is in-process (which is
        //why it is written in swing and not Vexi), however it is


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to