You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ft...@apache.org on 2014/04/30 11:58:59 UTC

[10/15] FLEX-34291: Merge the donated FDB with the current one.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/ConsoleErrorFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/ConsoleErrorFault.java b/modules/debugger/src/java/flash/tools/debugger/events/ConsoleErrorFault.java
index ef23021..bc86d76 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/ConsoleErrorFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/ConsoleErrorFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -26,7 +24,8 @@ public class ConsoleErrorFault extends FaultEvent
 {
 	public final static String name = "console_error";  //$NON-NLS-1$
 
-	public ConsoleErrorFault(String s) { super(s); }
+	public ConsoleErrorFault(String s, int isolateId) { super(s, isolateId); }
 
+	@Override
 	public String name() { return name; }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/DivideByZeroFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/DivideByZeroFault.java b/modules/debugger/src/java/flash/tools/debugger/events/DivideByZeroFault.java
index 898f122..3b1830a 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/DivideByZeroFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/DivideByZeroFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -24,7 +22,12 @@ package flash.tools.debugger.events;
  */
 public class DivideByZeroFault extends FaultEvent
 {
+	public DivideByZeroFault(int isolateId) {
+		super(isolateId);
+	}
+
 	public final static String name = "zero_divide";  //$NON-NLS-1$
 
+	@Override
 	public String name() { return name; }	
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/ExceptionFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/ExceptionFault.java b/modules/debugger/src/java/flash/tools/debugger/events/ExceptionFault.java
index 78a8c5e..2ac3457 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/ExceptionFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/ExceptionFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -30,13 +28,14 @@ public class ExceptionFault extends FaultEvent
 	private final boolean m_willExceptionBeCaught;
 	private final Value m_thrownValue;
 
-	public ExceptionFault(String message, boolean willExceptionBeCaught, Value thrownValue)
+	public ExceptionFault(String message, boolean willExceptionBeCaught, Value thrownValue, int isolateId)
 	{
-		super(message);
+		super(message, isolateId);
 		m_willExceptionBeCaught = willExceptionBeCaught;
 		m_thrownValue = thrownValue;
 	}
 
+	@Override
 	public String name()
 	{
 		return name;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/FaultEvent.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/FaultEvent.java b/modules/debugger/src/java/flash/tools/debugger/events/FaultEvent.java
index 9c2d5ae..0996618 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/FaultEvent.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/FaultEvent.java
@@ -1,24 +1,24 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
 
+import flash.tools.debugger.Isolate;
+
 /**
  * An event type that signals a problem situation within the Player.
  * Under normal conditions the Player will suspend execution, resulting
@@ -29,18 +29,27 @@ package flash.tools.debugger.events;
 public abstract class FaultEvent extends DebugEvent
 {
 	private String stackTrace = ""; //$NON-NLS-1$
-
-	public FaultEvent(String info)
+	public int isolateId = Isolate.DEFAULT_ID; 
+	
+	
+	public FaultEvent(String info, int isolateId)
 	{
 		super(getFirstLine(info));
+		this.isolateId = isolateId;
 		int newline = info.indexOf('\n');
 		if (newline != -1)
 			stackTrace = info.substring(newline+1);
 	}
 
-	public FaultEvent()
+//	public FaultEvent()
+//	{
+//		super();
+//	}
+	
+	public FaultEvent(int isolateId)
 	{
 		super();
+		this.isolateId = isolateId;
 	}
 
 	public abstract String name();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/InvalidTargetFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/InvalidTargetFault.java b/modules/debugger/src/java/flash/tools/debugger/events/InvalidTargetFault.java
index 439115c..5159e22 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/InvalidTargetFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/InvalidTargetFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -27,7 +25,8 @@ public class InvalidTargetFault extends FaultEvent
 {
 	public final static String name = "invalid_target";  //$NON-NLS-1$
 
-	public InvalidTargetFault(String target) { super(target); }
+	public InvalidTargetFault(String target, int isolateId) { super(target, isolateId); }
 
+	@Override
 	public String name() { return name; }	
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/InvalidURLFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/InvalidURLFault.java b/modules/debugger/src/java/flash/tools/debugger/events/InvalidURLFault.java
index 4f992b8..56f09f1 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/InvalidURLFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/InvalidURLFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -26,7 +24,8 @@ public class InvalidURLFault extends FaultEvent
 {
 	public final static String name = "invalid_url";  //$NON-NLS-1$
 
-	public InvalidURLFault(String url) { super(url); }
+	public InvalidURLFault(String url, int isolateId) { super(url, isolateId); }
 
+	@Override
 	public String name() { return name; }	
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/InvalidWithFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/InvalidWithFault.java b/modules/debugger/src/java/flash/tools/debugger/events/InvalidWithFault.java
index f0e5c19..64474de 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/InvalidWithFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/InvalidWithFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -25,7 +23,12 @@ package flash.tools.debugger.events;
  */
 public class InvalidWithFault extends FaultEvent
 {
+	public InvalidWithFault(int isolateId) {
+		super(isolateId);
+	}
+
 	public final static String name = "invalid_with";  //$NON-NLS-1$
 
+	@Override
 	public String name() { return name; }	
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/IsolateCreateEvent.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/IsolateCreateEvent.java b/modules/debugger/src/java/flash/tools/debugger/events/IsolateCreateEvent.java
new file mode 100644
index 0000000..bd9e328
--- /dev/null
+++ b/modules/debugger/src/java/flash/tools/debugger/events/IsolateCreateEvent.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package flash.tools.debugger.events;
+
+import flash.tools.debugger.Isolate;
+
+/**
+ * IsolateCreateEvent is received when the player
+ * creates a worker.
+ * @author anirudhs
+ */
+public class IsolateCreateEvent extends DebugEvent {
+	
+	/* The isolate that was created */
+	public Isolate isolate;
+	
+	public IsolateCreateEvent() {
+		isolate = null;
+	}
+	
+	public IsolateCreateEvent(Isolate t) {
+		isolate = t;
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/IsolateExitEvent.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/IsolateExitEvent.java b/modules/debugger/src/java/flash/tools/debugger/events/IsolateExitEvent.java
new file mode 100644
index 0000000..dd910ff
--- /dev/null
+++ b/modules/debugger/src/java/flash/tools/debugger/events/IsolateExitEvent.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package flash.tools.debugger.events;
+
+import flash.tools.debugger.Isolate;
+
+/**
+ * IsolateExitEvent is received when the player stops
+ * a worker.
+ * @author anirudhs
+ */
+public class IsolateExitEvent extends DebugEvent {
+	
+	/* The isolate that exited */
+	public Isolate isolate;
+	
+	public IsolateExitEvent() {
+		isolate = null;
+	}
+	
+	public IsolateExitEvent(Isolate t) {
+		isolate = t;
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/ProtoLimitFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/ProtoLimitFault.java b/modules/debugger/src/java/flash/tools/debugger/events/ProtoLimitFault.java
index f09d948..4e26547 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/ProtoLimitFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/ProtoLimitFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -25,7 +23,12 @@ package flash.tools.debugger.events;
  */
 public class ProtoLimitFault extends FaultEvent
 {
+	public ProtoLimitFault(int isolateId) {
+		super(isolateId);
+	}
+
 	public final static String name = "proto_limit";  //$NON-NLS-1$
 
+	@Override
 	public String name() { return name; }	
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/RecursionLimitFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/RecursionLimitFault.java b/modules/debugger/src/java/flash/tools/debugger/events/RecursionLimitFault.java
index 1449272..683e13d 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/RecursionLimitFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/RecursionLimitFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -24,7 +22,12 @@ package flash.tools.debugger.events;
  */
 public class RecursionLimitFault extends FaultEvent
 {
+	public RecursionLimitFault(int isolateId) {
+		super(isolateId);
+	}
+
 	public final static String name = "recursion_limit";  //$NON-NLS-1$
 
+	@Override
 	public String name() { return name; }	
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/ScriptTimeoutFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/ScriptTimeoutFault.java b/modules/debugger/src/java/flash/tools/debugger/events/ScriptTimeoutFault.java
index b903794..0ed2fb7 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/ScriptTimeoutFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/ScriptTimeoutFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -24,7 +22,12 @@ package flash.tools.debugger.events;
  */
 public class ScriptTimeoutFault extends FaultEvent
 {
+	public ScriptTimeoutFault(int isolateId) {
+		super(isolateId);
+	}
+
 	public final static String name = "script_timeout";  //$NON-NLS-1$
 
+	@Override
 	public String name() { return name; }	
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/events/StackUnderFlowFault.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/events/StackUnderFlowFault.java b/modules/debugger/src/java/flash/tools/debugger/events/StackUnderFlowFault.java
index 73ec0a1..ce83e12 100644
--- a/modules/debugger/src/java/flash/tools/debugger/events/StackUnderFlowFault.java
+++ b/modules/debugger/src/java/flash/tools/debugger/events/StackUnderFlowFault.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.events;
@@ -24,7 +22,12 @@ package flash.tools.debugger.events;
  */
 public class StackUnderFlowFault extends FaultEvent
 {
+	public StackUnderFlowFault(int isolateId) {
+		super(isolateId);
+	}
+
 	public final static String name = "stack_underflow";  //$NON-NLS-1$
 
+	@Override
 	public String name() { return name; }	
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/expression/Context.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/expression/Context.java b/modules/debugger/src/java/flash/tools/debugger/expression/Context.java
index d1f84e3..5f3b346 100644
--- a/modules/debugger/src/java/flash/tools/debugger/expression/Context.java
+++ b/modules/debugger/src/java/flash/tools/debugger/expression/Context.java
@@ -120,4 +120,9 @@ public interface Context
 	 * beginning a debugging session.
 	 */
 	public Session getSession();
+
+    /**
+     * The worker id to which this context object belongs.
+     */
+    public int getIsolateId();
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/expression/DebuggerEvaluator.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/expression/DebuggerEvaluator.java b/modules/debugger/src/java/flash/tools/debugger/expression/DebuggerEvaluator.java
index 97302ba..cfeb66a 100644
--- a/modules/debugger/src/java/flash/tools/debugger/expression/DebuggerEvaluator.java
+++ b/modules/debugger/src/java/flash/tools/debugger/expression/DebuggerEvaluator.java
@@ -420,7 +420,7 @@ class DebuggerEvaluator implements Evaluator
 
 		flash.tools.debugger.Value thisObject = cx.toValue();
 		if (thisObject == null)
-			thisObject = DValue.forPrimitive(null);
+			thisObject = DValue.forPrimitive(null, 0);
 
 		flash.tools.debugger.Value[] valueArgs = new flash.tools.debugger.Value[args.length];
 		for (int i = 0; i < args.length; ++i) {
@@ -432,7 +432,7 @@ class DebuggerEvaluator implements Evaluator
 			 */
 			flash.tools.debugger.Value tempValue = cx.toValue(args[i]);
 			if ( tempValue == null ) {
-				tempValue = DValue.forPrimitive(null);
+				tempValue = DValue.forPrimitive(null, 0);
 			}
 			valueArgs[i] = tempValue;	
 		}			
@@ -774,7 +774,7 @@ class DebuggerEvaluator implements Evaluator
 					flash.tools.debugger.Value xml1 = session.callFunction(v1, "toXMLString", new flash.tools.debugger.Value[0]); //$NON-NLS-1$
 					flash.tools.debugger.Value xml2 = session.callFunction(v2, "toXMLString", new flash.tools.debugger.Value[0]); //$NON-NLS-1$
 					String allXML = xml1.getValueAsString() + xml2.getValueAsString();
-					flash.tools.debugger.Value allXMLValue = DValue.forPrimitive(allXML);
+					flash.tools.debugger.Value allXMLValue = DValue.forPrimitive(allXML, 0);
 					flash.tools.debugger.Value retval = session.callConstructor("XMLList", new flash.tools.debugger.Value[] { allXMLValue }); //$NON-NLS-1$
 					return new DebuggerValue(retval);
 				}
@@ -785,8 +785,8 @@ class DebuggerEvaluator implements Evaluator
 			}
 			else
 			{
-				v1 = ECMA.toPrimitive(session, v1, null);
-				v2 = ECMA.toPrimitive(session, v2, null);
+				v1 = ECMA.toPrimitive(session, v1, null, 0);
+				v2 = ECMA.toPrimitive(session, v2, null, 0);
 				if (v1.getType() == VariableType.STRING || v2.getType() == VariableType.STRING)
 				{
 					return new DebuggerValue(ECMA.toString(session, v1) + ECMA.toString(session, v2));

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/expression/ECMA.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/expression/ECMA.java b/modules/debugger/src/java/flash/tools/debugger/expression/ECMA.java
index 536aea4..39c3308 100644
--- a/modules/debugger/src/java/flash/tools/debugger/expression/ECMA.java
+++ b/modules/debugger/src/java/flash/tools/debugger/expression/ECMA.java
@@ -1,23 +1,22 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package flash.tools.debugger.expression;
 
+import flash.tools.debugger.Isolate;
 import flash.tools.debugger.PlayerDebugException;
 import flash.tools.debugger.Session;
 import flash.tools.debugger.Value;
@@ -45,19 +44,19 @@ public class ECMA
 	 */
 	public static boolean isPrimitive(Value v)
 	{
-		v = safeValue(v);
+		v = safeValue(v, Isolate.DEFAULT_ID);
 		Object o = v.getValueAsObject();
 		return (o == Value.UNDEFINED || o == null || o instanceof Boolean
 				|| o instanceof Double || o instanceof String);
 	}
 
-	private static Value callFunction(Session session, Value v, String functionName, Value[] args)
+	private static Value callFunction(Session session, Value v, String functionName, Value[] args, int isolateId)
 	{
-		v = safeValue(v);
+		v = safeValue(v, isolateId);
 
 		try
 		{
-			return session.callFunction(v, functionName, args);
+			return session.getWorkerSession(isolateId).callFunction(v, functionName, args);
 		}
 		catch (PlayerDebugException e)
 		{
@@ -68,10 +67,10 @@ public class ECMA
 	/**
 	 * Calls the valueOf() function of an object.
 	 */
-	private static Value callValueOf(Session session, Value v)
+	private static Value callValueOf(Session session, Value v, int isolateId)
 	{
-		v = safeValue(v);
-		return callFunction(session, v, "valueOf", new Value[0]); //$NON-NLS-1$
+		v = safeValue(v, isolateId);
+		return callFunction(session, v, "valueOf", new Value[0], isolateId); //$NON-NLS-1$
 	}
 
 	/**
@@ -80,10 +79,10 @@ public class ECMA
 	 * function, on the other hand, represents calling the toString() function
 	 * of an object.
 	 */
-	private static Value callToString(Session session, Value v)
+	private static Value callToString(Session session, Value v, int isolateId)
 	{
-		v = safeValue(v);
-		return callFunction(session, v, "toString", new Value[0]); //$NON-NLS-1$
+		v = safeValue(v, isolateId);
+		return callFunction(session, v, "toString", new Value[0], isolateId); //$NON-NLS-1$
 	}
 
 	/**
@@ -93,9 +92,11 @@ public class ECMA
 	 * @param optionalPreferredType
 	 *            either NUMBER, STRING, or null.
 	 */
-	public static Value defaultValue(Session session, Value v, PreferredType optionalPreferredType)
+	public static Value defaultValue(Session session, Value v, 
+			PreferredType optionalPreferredType,
+			int isolateId)
 	{
-		v = safeValue(v);
+		v = safeValue(v, isolateId);
 		String typename = v.getTypeName();
 		int at = typename.indexOf('@');
 		if (at != -1)
@@ -111,23 +112,23 @@ public class ECMA
 
 		if (optionalPreferredType == PreferredType.NUMBER)
 		{
-			Value result = callValueOf(session, v);
+			Value result = callValueOf(session, v, isolateId);
 			if (isPrimitive(result))
 				return result;
-			result = callToString(session, v);
+			result = callToString(session, v, isolateId);
 			if (isPrimitive(result))
 				return result;
-			throw new RuntimeException(new PlayerFaultException(new ExceptionFault(ASTBuilder.getLocalizationManager().getLocalizedTextString("typeError"), false, null))); //$NON-NLS-1$
+			throw new RuntimeException(new PlayerFaultException(new ExceptionFault(ASTBuilder.getLocalizationManager().getLocalizedTextString("typeError"), false, null, isolateId))); //$NON-NLS-1$
 		}
 		else
 		{
-			Value result = callToString(session, v);
+			Value result = callToString(session, v, isolateId);
 			if (isPrimitive(result))
 				return result;
-			result = callValueOf(session, v);
+			result = callValueOf(session, v, isolateId);
 			if (isPrimitive(result))
 				return result;
-			throw new RuntimeException(new PlayerFaultException(new ExceptionFault(ASTBuilder.getLocalizationManager().getLocalizedTextString("typeError"), false, null))); //$NON-NLS-1$
+			throw new RuntimeException(new PlayerFaultException(new ExceptionFault(ASTBuilder.getLocalizationManager().getLocalizedTextString("typeError"), false, null, isolateId))); //$NON-NLS-1$
 		}
 	}
 
@@ -140,9 +141,9 @@ public class ECMA
 	 * @return
 	 */
 	public static Value toPrimitive(Session session, Value v,
-			PreferredType optionalPreferredType)
+			PreferredType optionalPreferredType, int isolateId)
 	{
-		v = safeValue(v);
+		v = safeValue(v, isolateId);
 		switch (v.getType())
 		{
 		case VariableType.UNDEFINED:
@@ -153,14 +154,14 @@ public class ECMA
 			return v;
 
 		default:
-			return defaultValue(session, v, optionalPreferredType);
+			return defaultValue(session, v, optionalPreferredType, isolateId);
 		}
 	}
 
 	/** ECMA 9.2 */
 	public static boolean toBoolean(Value v)
 	{
-		v = safeValue(v);
+		v = safeValue(v, Isolate.DEFAULT_ID);
 		switch (v.getType())
 		{
 		case VariableType.UNDEFINED:
@@ -190,7 +191,7 @@ public class ECMA
 	/** ECMA 9.3 */
 	public static double toNumber(Session session, Value v)
 	{
-		v = safeValue(v);
+		v = safeValue(v, Isolate.DEFAULT_ID);
 		switch (v.getType())
 		{
 		case VariableType.UNDEFINED:
@@ -221,7 +222,7 @@ public class ECMA
 			}
 		}
 		default:
-			return toNumber(session, toPrimitive(session, v, PreferredType.NUMBER));
+			return toNumber(session, toPrimitive(session, v, PreferredType.NUMBER, v.getIsolateId()));
 		}
 	}
 
@@ -231,7 +232,7 @@ public class ECMA
 	/** ECMA 9.5 */
 	public static int toInt32(Session session, Value v)
 	{
-		v = safeValue(v);
+		v = safeValue(v, Isolate.DEFAULT_ID);
 		double d = toNumber(session, v);
 		if (d == Double.POSITIVE_INFINITY || d == Double.NEGATIVE_INFINITY)
 		{
@@ -251,7 +252,7 @@ public class ECMA
 	/** ECMA 9.6 */
 	public static long toUint32(Session session, Value v)
 	{
-		v = safeValue(v);
+		v = safeValue(v, Isolate.DEFAULT_ID);
 		long n = toInt32(session, v);
 		if (n < 0)
 			n = n + (long) 0x10000 * (long) 0x10000;
@@ -261,7 +262,7 @@ public class ECMA
 	/** ECMA 9.8 */
 	public static String toString(Session session, Value v)
 	{
-		v = safeValue(v);
+		v = safeValue(v, Isolate.DEFAULT_ID);
 		switch (v.getType())
 		{
 		case VariableType.UNDEFINED:
@@ -282,39 +283,39 @@ public class ECMA
 			}
 		}
 		default:
-			return toString(session, toPrimitive(session, v, PreferredType.STRING));
+			return toString(session, toPrimitive(session, v, PreferredType.STRING, v.getIsolateId()));
 		}
 	}
 
 	/** ECMA 11.8.5.  Returns true, false, or undefined. */
 	public static Value lessThan(Session session, Value x, Value y)
 	{
-		x = safeValue(x);
-		y = safeValue(y);
-		Value px = toPrimitive(session, x, PreferredType.NUMBER);
-		Value py = toPrimitive(session, y, PreferredType.NUMBER);
+		x = safeValue(x, Isolate.DEFAULT_ID);
+		y = safeValue(y, Isolate.DEFAULT_ID);
+		Value px = toPrimitive(session, x, PreferredType.NUMBER, x.getIsolateId());
+		Value py = toPrimitive(session, y, PreferredType.NUMBER, y.getIsolateId());
 		if (px.getType() == VariableType.STRING
 				&& py.getType() == VariableType.STRING)
 		{
 			String sx = px.getValueAsString();
 			String sy = py.getValueAsString();
-			return DValue.forPrimitive(new Boolean(sx.compareTo(sy) < 0));
+			return DValue.forPrimitive(new Boolean(sx.compareTo(sy) < 0), x.getIsolateId());
 		}
 		else
 		{
 			double dx = toNumber(session, px);
 			double dy = toNumber(session, py);
 			if (Double.isNaN(dx) || Double.isNaN(dy))
-				return DValue.forPrimitive(Value.UNDEFINED);
-			return DValue.forPrimitive(new Boolean(dx < dy));
+				return DValue.forPrimitive(Value.UNDEFINED, x.getIsolateId());
+			return DValue.forPrimitive(new Boolean(dx < dy), x.getIsolateId());
 		}
 	}
 
 	/** ECMA 11.9.3 */
 	public static boolean equals(Session session, Value xv, Value yv)
 	{
-		xv = safeValue(xv);
-		yv = safeValue(yv);
+		xv = safeValue(xv, Isolate.DEFAULT_ID);
+		yv = safeValue(yv, Isolate.DEFAULT_ID);
 
 		Object x = xv.getValueAsObject();
 		Object y = yv.getValueAsObject();
@@ -358,16 +359,16 @@ public class ECMA
 				return dx == dy;
 			}
 			if (x instanceof Boolean)
-				return equals(session, DValue.forPrimitive(new Double(toNumber(session, xv))), yv);
+				return equals(session, DValue.forPrimitive(new Double(toNumber(session, xv)), xv.getIsolateId()), yv);
 			if (y instanceof Boolean)
-				return equals(session, xv, DValue.forPrimitive(new Double(toNumber(session, yv))));
+				return equals(session, xv, DValue.forPrimitive(new Double(toNumber(session, yv)), xv.getIsolateId()));
 			if ((x instanceof String || x instanceof Double) && yv.getType() == VariableType.OBJECT)
 			{
-				return equals(session, xv, toPrimitive(session, yv, null));
+				return equals(session, xv, toPrimitive(session, yv, null, yv.getIsolateId()));
 			}
 			if (xv.getType() == VariableType.OBJECT && (y instanceof String || y instanceof Double))
 			{
-				return equals(session, toPrimitive(session, xv, null), yv);
+				return equals(session, toPrimitive(session, xv, null, xv.getIsolateId()), yv);
 			}
 			return false;
 		}
@@ -376,8 +377,8 @@ public class ECMA
 	/** ECMA 11.9.6 */
 	public static boolean strictEquals(Value xv, Value yv)
 	{
-		xv = safeValue(xv);
-		yv = safeValue(yv);
+		xv = safeValue(xv, Isolate.DEFAULT_ID);
+		yv = safeValue(yv, Isolate.DEFAULT_ID);
 
 		Object x = xv.getValueAsObject();
 		Object y = yv.getValueAsObject();
@@ -417,11 +418,11 @@ public class ECMA
 	 *            any Value, possibly null
 	 * @return a non-null Value
 	 */
-	public static Value safeValue(Value v)
+	public static Value safeValue(Value v, int isolateId)
 	{
 		if (v == null)
 		{
-			v = DValue.forPrimitive(null);
+			v = DValue.forPrimitive(null, isolateId);
 			assert v != null;
 		}
 		return v;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeFrame.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
index fd75802..c39b2df 100644
--- a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.threadsafe;
@@ -66,12 +64,14 @@ public class ThreadSafeFrame extends ThreadSafeDebuggerObject implements Frame {
 		return ((ThreadSafeFrame)f).getSyncObject();
 	}
 	
+	@Override
 	public int hashCode() {
 		synchronized (getSyncObject()) {
 			return fFrame.hashCode();
 		}
 	}
 
+	@Override
 	public boolean equals(Object other) {
 		synchronized (getSyncObject()) {
 			if (other == null)
@@ -86,6 +86,7 @@ public class ThreadSafeFrame extends ThreadSafeDebuggerObject implements Frame {
 		}
 	}
 
+	@Override
 	public String toString() {
 		synchronized (getSyncObject()) {
 			return fFrame.toString();
@@ -129,4 +130,11 @@ public class ThreadSafeFrame extends ThreadSafeDebuggerObject implements Frame {
 			return ThreadSafeVariable.wrapArray(getSyncObject(), fFrame.getScopeChain(ThreadSafeSession.getRaw(s)));
 		}
 	}
+
+	@Override
+	public int getIsolateId() {
+		synchronized (getSyncObject()) {
+			return fFrame.getIsolateId();
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java
new file mode 100644
index 0000000..0cc5619
--- /dev/null
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package flash.tools.debugger.threadsafe;
+
+import flash.tools.debugger.Isolate;
+
+/**
+ * Thread-safe wrapper for flash.tools.debugger.Isolate
+ * @author Anirudh Sasikumar
+ */
+public class ThreadSafeIsolate extends ThreadSafeDebuggerObject implements Isolate {
+
+	private Isolate fIsolate;
+	
+	private ThreadSafeIsolate(Object syncObj, Isolate isolate) {
+		super(syncObj);
+		fIsolate = isolate;
+	}
+
+	/**
+	 * Wraps a Watch inside a ThreadSafeWatch.  If the passed-in Watch
+	 * is null, then this function returns null.
+	 */
+	public static ThreadSafeIsolate wrap(Object syncObj, Isolate isolate) {
+		if (isolate != null)
+			return new ThreadSafeIsolate(syncObj, isolate);
+		else
+			return null;
+	}
+	
+	/**
+	 * Wraps an array of Locations inside an array of ThreadSafeLocations.
+	 */
+	public static ThreadSafeIsolate[] wrapArray(Object syncObj, Isolate[] isolates) {
+		ThreadSafeIsolate[] threadSafeIsolates = new ThreadSafeIsolate[isolates.length];
+		for (int i=0; i<isolates.length; ++i) {
+			threadSafeIsolates[i] = wrap(syncObj, isolates[i]);
+		}
+		return threadSafeIsolates;
+	}
+
+	public int getId() {
+		synchronized (getSyncObject()) {
+			return fIsolate.getId();
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java
new file mode 100644
index 0000000..57f0820
--- /dev/null
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java
@@ -0,0 +1,285 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package flash.tools.debugger.threadsafe;
+
+import flash.tools.debugger.Frame;
+import flash.tools.debugger.IsolateSession;
+import flash.tools.debugger.Location;
+import flash.tools.debugger.NoResponseException;
+import flash.tools.debugger.NotConnectedException;
+import flash.tools.debugger.NotSupportedException;
+import flash.tools.debugger.NotSuspendedException;
+import flash.tools.debugger.PlayerDebugException;
+import flash.tools.debugger.SuspendedException;
+import flash.tools.debugger.SwfInfo;
+import flash.tools.debugger.Value;
+import flash.tools.debugger.Variable;
+import flash.tools.debugger.VersionException;
+import flash.tools.debugger.Watch;
+import flash.tools.debugger.expression.PlayerFaultException;
+
+/**
+ * Thread-safe wrapper for flash.tools.debugger.IsolateSession
+ * @author Anirudh Sasikumar
+ */
+public class ThreadSafeIsolateSession extends ThreadSafeDebuggerObject
+		implements IsolateSession {
+
+	private IsolateSession fSession;
+	
+	private ThreadSafeIsolateSession(Object syncObj, IsolateSession session) {
+		super(syncObj);
+		fSession = session;
+	}
+	
+	/**
+	 * Wraps a Value inside a ThreadSafeValue.  If the passed-in Value
+	 * is null, then this function returns null.
+	 */
+	public static ThreadSafeIsolateSession wrap(Object syncObj, IsolateSession session) {
+		if (session != null)
+			return new ThreadSafeIsolateSession(syncObj, session);
+		else
+			return null;
+	}
+
+	@Override
+	public void resume() throws NotSuspendedException, NotConnectedException,
+			NoResponseException {
+		synchronized (getSyncObject()) {
+			fSession.resume();
+		}		
+	}
+
+	@Override
+	public void suspend() throws SuspendedException, NotConnectedException,
+			NoResponseException {
+		synchronized (getSyncObject()) {
+			fSession.suspend();
+		}
+		
+	}
+
+	@Override
+	public boolean isSuspended() throws NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.isSuspended();
+		}
+	}
+
+	@Override
+	public int suspendReason() throws NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.suspendReason();
+		}
+	}
+
+	public void stepOver() throws NotSuspendedException, NoResponseException,
+	NotConnectedException {
+		synchronized (getSyncObject()) {
+			fSession.stepOver();
+		}
+	}
+
+	public void stepContinue() throws NotSuspendedException,
+	NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			fSession.stepContinue();
+		}
+	}
+
+	public void stepInto() throws NotSuspendedException, NoResponseException,
+	NotConnectedException {
+		synchronized (getSyncObject()) {
+			fSession.stepInto();
+		}
+	}
+
+	public void stepOut() throws NotSuspendedException, NoResponseException,
+	NotConnectedException {
+		synchronized (getSyncObject()) {
+			fSession.stepOut();
+		}
+	}
+
+	@Override
+	public Frame[] getFrames() throws NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeFrame.wrapArray(getSyncObject(), fSession.getFrames());
+		}
+	}
+	
+	@Override
+	public boolean evalIs(Value value, Value type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalIs(value, type);
+		}
+	}
+
+	@Override
+	public boolean evalIs(Value value, String type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalIs(value, type);
+		}
+	}
+
+	@Override
+	public boolean evalInstanceof(Value value, Value type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalInstanceof(value, type);
+		}
+	}
+
+	@Override
+	public boolean evalInstanceof(Value value, String type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalInstanceof(value, type);
+		}
+	}
+
+	@Override
+	public boolean evalIn(Value property, Value object)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return fSession.evalIn(property, object);
+		}
+	}
+
+	@Override
+	public Value evalAs(Value value, Value type)
+			throws PlayerDebugException, PlayerFaultException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.evalAs(value, type));
+		}
+	}
+
+	@Override
+	public Value callConstructor(String classname, Value[] args) 
+				throws PlayerDebugException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.callConstructor(classname, args));
+		}
+	}
+
+	@Override
+	public Watch[] getWatchList()
+			throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeWatch.wrapArray(getSyncObject(), fSession.getWatchList());
+		}
+	}
+	
+	/** @deprecated */
+	public Variable[] getVariableList() throws NotSuspendedException,
+			NoResponseException, NotConnectedException, VersionException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeVariable.wrapArray(getSyncObject(), fSession.getVariableList());
+		}
+	}
+
+	public Value callFunction(Value thisObject, String functionName, Value[] args)
+	throws PlayerDebugException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.callFunction(thisObject, functionName, args));
+		}
+	}
+	
+	public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException
+	{
+		synchronized (getSyncObject())
+		{
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.getGlobal(name));
+		}
+	}
+	
+	public SwfInfo[] getSwfs() throws NoResponseException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeSwfInfo.wrapArray(getSyncObject(), fSession.getSwfs());
+		}
+	}
+
+	public Value getValue(long valueId) throws NotSuspendedException,
+	NoResponseException, NotConnectedException
+	{
+		synchronized (getSyncObject()) {
+			return ThreadSafeValue.wrap(getSyncObject(), fSession.getValue(valueId));
+		}
+	}
+
+	public Location setBreakpoint(int fileId, int lineNum)
+	throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeLocation.wrap(getSyncObject(), fSession.setBreakpoint(fileId, lineNum));
+		}
+	}
+
+	@Override
+	public boolean setExceptionBreakpoint(String exceptionClass)
+			throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.setExceptionBreakpoint(exceptionClass); 
+		}
+	}
+
+	@Override
+	public boolean clearExceptionBreakpoint(String exceptionClass)
+			throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.clearExceptionBreakpoint(exceptionClass); 
+		}
+	}
+
+	@Override
+	public void breakOnCaughtExceptions(boolean b)
+			throws NotSupportedException, NoResponseException {
+		synchronized (getSyncObject()) {
+			fSession.breakOnCaughtExceptions(b); 
+		}
+	}
+
+	@Override
+	public boolean supportsWatchpoints() {
+		synchronized (getSyncObject()) {
+			return fSession.supportsWatchpoints(); 
+		}
+	}
+
+	@Override
+	public boolean playerCanBreakOnAllExceptions() {
+		synchronized (getSyncObject()) {
+			return fSession.playerCanBreakOnAllExceptions(); 
+		}
+	}
+
+	@Override
+	public boolean supportsWideLineNumbers() {
+		synchronized (getSyncObject()) {
+			return fSession.supportsWideLineNumbers();
+		}
+	}
+
+	@Override
+	public boolean playerCanCallFunctions() {
+		synchronized (getSyncObject()) {
+			return fSession.playerCanCallFunctions();
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeLocation.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
index 9c396cb..26d7824 100644
--- a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.threadsafe;
@@ -82,4 +80,11 @@ public class ThreadSafeLocation extends ThreadSafeDebuggerObject implements Loca
 			return fLocation.getLine();
 		}
 	}
+
+	@Override
+	public int getIsolateId() {
+		synchronized (getSyncObject()) {
+			return fLocation.getIsolateId();
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSession.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSession.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSession.java
index b802deb..4d25e5d 100644
--- a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSession.java
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSession.java
@@ -1,25 +1,26 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.threadsafe;
 
 import flash.tools.debugger.Frame;
+import flash.tools.debugger.ILauncher;
+import flash.tools.debugger.Isolate;
+import flash.tools.debugger.IsolateSession;
 import flash.tools.debugger.Location;
 import flash.tools.debugger.NoResponseException;
 import flash.tools.debugger.NotConnectedException;
@@ -355,6 +356,12 @@ public class ThreadSafeSession extends ThreadSafeDebuggerObject implements Sessi
 			return fSession.supportsWatchpoints();
 		}
 	}
+	
+	public boolean supportsConcurrency() {
+		synchronized (getSyncObject()) {
+			return fSession.supportsConcurrency();
+		}
+	}
 
 	/* (non-Javadoc)
 	 * @see flash.tools.debugger.Session#getDisconnectCause()
@@ -364,4 +371,65 @@ public class ThreadSafeSession extends ThreadSafeDebuggerObject implements Sessi
 			return fSession.getDisconnectCause();
 		}
 	}
+
+	/* (non-Javadoc)
+	 * @see flash.tools.debugger.Session#refreshWorkers()
+	 */
+	@Override
+	public Isolate[] refreshWorkers() throws NotSupportedException,
+			NotSuspendedException, NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return ThreadSafeIsolate.wrapArray(getSyncObject(), fSession.getWorkers());
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see flash.tools.debugger.Session#getWorkers()
+	 */
+	@Override
+	public Isolate[] getWorkers() {
+		synchronized (getSyncObject()) {
+			return fSession.getWorkers();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see flash.tools.debugger.Session#getWorkerSession(int)
+	 */
+	@Override
+	public IsolateSession getWorkerSession(int isolateId) {
+		synchronized (getSyncObject()) {
+			return ThreadSafeIsolateSession.wrap(getSyncObject(), fSession.getWorkerSession(isolateId));
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see flash.tools.debugger.Session#setExceptionBreakpoint(String)
+	 */
+	@Override
+	public boolean setExceptionBreakpoint(String exceptionClass)
+			throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.setExceptionBreakpoint(exceptionClass);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see flash.tools.debugger.Session#clearExceptionBreakpoint(String)
+	 */
+	@Override
+	public boolean clearExceptionBreakpoint(String exceptionClass)
+			throws NoResponseException, NotConnectedException {
+		synchronized (getSyncObject()) {
+			return fSession.clearExceptionBreakpoint(exceptionClass);
+		}
+	}
+
+	@Override
+	public void setLauncher(ILauncher launcher) {
+		synchronized (getSyncObject()) {
+			fSession.setLauncher(launcher);
+		}
+	}
+
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSwfInfo.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSwfInfo.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSwfInfo.java
index 40fa457..a3d698c 100644
--- a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSwfInfo.java
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeSwfInfo.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.threadsafe;
@@ -116,4 +114,11 @@ public class ThreadSafeSwfInfo extends ThreadSafeDebuggerObject implements SwfIn
 			return fSwfInfo.isUnloaded();
 		}
 	}
+
+	@Override
+	public int getIsolateId() {
+		synchronized (getSyncObject()) {
+			return fSwfInfo.getIsolateId();
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeValue.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeValue.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeValue.java
index cf489ed..f78414d 100644
--- a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeValue.java
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeValue.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.threadsafe;
@@ -75,6 +73,7 @@ public class ThreadSafeValue extends ThreadSafeDebuggerObject implements Value {
 		return ((ThreadSafeValue)v).getSyncObject();
 	}
 	
+	@Override
 	public boolean equals(Object other) {
 		if (other instanceof Value)
 			return fVal.equals(getRaw((Value)other));
@@ -134,6 +133,7 @@ public class ThreadSafeValue extends ThreadSafeDebuggerObject implements Value {
 		synchronized (getSyncObject()) { return fVal.getClassHierarchy(allLevels); }
 	}
 
+	@Override
 	public String toString() {
 		synchronized (getSyncObject()) { return fVal.toString(); }
 	}
@@ -149,4 +149,11 @@ public class ThreadSafeValue extends ThreadSafeDebuggerObject implements Value {
 			return ThreadSafeVariable.wrapArray(getSyncObject(), fVal.getPrivateInheritedMemberNamed(name));
 		}
 	}
+
+	@Override
+	public int getIsolateId() {
+		synchronized (getSyncObject()) {
+			return fVal.getIsolateId();
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeVariable.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeVariable.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeVariable.java
index 8e6a50f..126a224 100644
--- a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeVariable.java
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeVariable.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.threadsafe;
@@ -132,7 +130,13 @@ public class ThreadSafeVariable extends ThreadSafeDebuggerObject implements Vari
 		synchronized (getSyncObject()) { return fVar.getLevel(); }
 	}
 
+	@Override
 	public String toString() {
 		synchronized (getSyncObject()) { return fVar.toString(); }
 	}
+
+	@Override
+	public int getIsolateId() {
+		synchronized (getSyncObject()) { return fVar.getIsolateId(); }
+	}
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/379cb609/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeWatch.java
----------------------------------------------------------------------
diff --git a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeWatch.java b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeWatch.java
index b88c41e..276a0c5 100644
--- a/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeWatch.java
+++ b/modules/debugger/src/java/flash/tools/debugger/threadsafe/ThreadSafeWatch.java
@@ -1,20 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 package flash.tools.debugger.threadsafe;
@@ -87,4 +85,11 @@ public class ThreadSafeWatch extends ThreadSafeDebuggerObject implements Watch {
 			return fWatch.getValueId();
 		}
 	}
+
+	@Override
+	public int getIsolateId() {
+		synchronized (getSyncObject()) {
+			return fWatch.getIsolateId();
+		}
+	}
 }