Upgrade to 3.29

Update V8 to 3.29.88.17 and update makefiles to support building on
all the relevant platforms.

Bug: 17370214

Change-Id: Ia3407c157fd8d72a93e23d8318ccaf6ecf77fa4e
diff --git a/src/extensions/trigger-failure-extension.cc b/src/extensions/trigger-failure-extension.cc
new file mode 100644
index 0000000..b0aacb4
--- /dev/null
+++ b/src/extensions/trigger-failure-extension.cc
@@ -0,0 +1,56 @@
+// Copyright 2013 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "src/extensions/trigger-failure-extension.h"
+#include "src/v8.h"
+
+namespace v8 {
+namespace internal {
+
+
+const char* const TriggerFailureExtension::kSource =
+    "native function triggerCheckFalse();"
+    "native function triggerAssertFalse();"
+    "native function triggerSlowAssertFalse();";
+
+
+v8::Handle<v8::FunctionTemplate>
+TriggerFailureExtension::GetNativeFunctionTemplate(
+    v8::Isolate* isolate,
+    v8::Handle<v8::String> str) {
+  if (strcmp(*v8::String::Utf8Value(str), "triggerCheckFalse") == 0) {
+    return v8::FunctionTemplate::New(
+        isolate,
+        TriggerFailureExtension::TriggerCheckFalse);
+  } else if (strcmp(*v8::String::Utf8Value(str), "triggerAssertFalse") == 0) {
+    return v8::FunctionTemplate::New(
+        isolate,
+        TriggerFailureExtension::TriggerAssertFalse);
+  } else {
+    CHECK_EQ(0, strcmp(*v8::String::Utf8Value(str), "triggerSlowAssertFalse"));
+    return v8::FunctionTemplate::New(
+        isolate,
+        TriggerFailureExtension::TriggerSlowAssertFalse);
+  }
+}
+
+
+void TriggerFailureExtension::TriggerCheckFalse(
+    const v8::FunctionCallbackInfo<v8::Value>& args) {
+  CHECK(false);
+}
+
+
+void TriggerFailureExtension::TriggerAssertFalse(
+    const v8::FunctionCallbackInfo<v8::Value>& args) {
+  DCHECK(false);
+}
+
+
+void TriggerFailureExtension::TriggerSlowAssertFalse(
+    const v8::FunctionCallbackInfo<v8::Value>& args) {
+  SLOW_DCHECK(false);
+}
+
+} }  // namespace v8::internal