Improved performance of garbage collection by changing the way we use the marking stack in the event of stack overflow during full garbage collection and by changing the way we mark roots.

Cleaned up ARM version by removing top of stack caching and by introducing push/pop elimination.

Cleaned up the way runtime functions are called to allow runtime calls with no arguments.

Changed Windows build options to make sure that exceptions are disabled and that optimization flags are enabled.

Added first version of Visual Studio project files.



git-svn-id: http://v8.googlecode.com/svn/trunk@13 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/debug.cc b/src/debug.cc
index 7901ca1..4baad88 100644
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -618,7 +618,7 @@
 
 Object* Debug::Break(Arguments args) {
   HandleScope scope;
-  ASSERT(args.length() == 1);
+  ASSERT(args.length() == 0);
 
   // Get the top-most JavaScript frame.
   JavaScriptFrameIterator it;
@@ -627,7 +627,7 @@
   // Just continue if breaks are disabled or debugger cannot be loaded.
   if (disable_break() || !Load()) {
     SetAfterBreakTarget(frame);
-    return args[0];
+    return Heap::undefined_value();
   }
 
   SaveBreakFrame save;
@@ -689,7 +689,7 @@
   // Install jump to the call address which was overwritten.
   SetAfterBreakTarget(frame);
 
-  return args[0];
+  return Heap::undefined_value();
 }