| Index: src/extensions/trigger-failure-extension.cc
|
| diff --git a/src/default-platform.cc b/src/extensions/trigger-failure-extension.cc
|
| similarity index 53%
|
| copy from src/default-platform.cc
|
| copy to src/extensions/trigger-failure-extension.cc
|
| index ef3c4ebd450bbc63ae99b4534a22fa5bd67a2f39..5fe6bbbf477a57696421f35dc41ad218bda1910e 100644
|
| --- a/src/default-platform.cc
|
| +++ b/src/extensions/trigger-failure-extension.cc
|
| @@ -25,32 +25,58 @@
|
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| +#include "trigger-failure-extension.h"
|
| #include "v8.h"
|
|
|
| -#include "default-platform.h"
|
| -
|
| namespace v8 {
|
| namespace internal {
|
|
|
|
|
| -DefaultPlatform::DefaultPlatform() {}
|
| +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(
|
| + TriggerFailureExtension::TriggerCheckFalse);
|
| + } else if (strcmp(*v8::String::Utf8Value(str), "triggerAssertFalse") == 0) {
|
| + return v8::FunctionTemplate::New(
|
| + TriggerFailureExtension::TriggerAssertFalse);
|
| + } else {
|
| + CHECK_EQ(0, strcmp(*v8::String::Utf8Value(str), "triggerSlowAssertFalse"));
|
| + return v8::FunctionTemplate::New(
|
| + TriggerFailureExtension::TriggerSlowAssertFalse);
|
| + }
|
| +}
|
| +
|
|
|
| +void TriggerFailureExtension::TriggerCheckFalse(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| + CHECK(false);
|
| +}
|
|
|
| -DefaultPlatform::~DefaultPlatform() {}
|
|
|
| -void DefaultPlatform::CallOnBackgroundThread(Task *task,
|
| - ExpectedRuntime expected_runtime) {
|
| - // TODO(jochen): implement.
|
| - task->Run();
|
| - delete task;
|
| +void TriggerFailureExtension::TriggerAssertFalse(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| + ASSERT(false);
|
| }
|
|
|
|
|
| -void DefaultPlatform::CallOnForegroundThread(v8::Isolate* isolate, Task* task) {
|
| - // TODO(jochen): implement.
|
| - task->Run();
|
| - delete task;
|
| +void TriggerFailureExtension::TriggerSlowAssertFalse(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| + SLOW_ASSERT(false);
|
| }
|
|
|
|
|
| +void TriggerFailureExtension::Register() {
|
| + static TriggerFailureExtension trigger_failure_extension;
|
| + static v8::DeclareExtension declaration(&trigger_failure_extension);
|
| +}
|
| +
|
| } } // namespace v8::internal
|
|
|