| OLD | NEW | 
|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "test/cctest/compiler/function-tester.h" | 5 #include "test/cctest/compiler/function-tester.h" | 
| 6 | 6 | 
| 7 namespace v8 { | 7 namespace v8 { | 
| 8 namespace internal { | 8 namespace internal { | 
| 9 namespace compiler { | 9 namespace compiler { | 
| 10 | 10 | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 27   T.CheckCall(T.Val("Array"), T.NewObject("([1])")); | 27   T.CheckCall(T.Val("Array"), T.NewObject("([1])")); | 
| 28   T.CheckCall(T.Val("Object"), T.NewObject("({})")); | 28   T.CheckCall(T.Val("Object"), T.NewObject("({})")); | 
| 29   T.CheckCall(T.Val("RegExp"), T.NewObject("(/x/)")); | 29   T.CheckCall(T.Val("RegExp"), T.NewObject("(/x/)")); | 
| 30   T.CheckCall(T.null(), T.undefined()); | 30   T.CheckCall(T.null(), T.undefined()); | 
| 31   T.CheckCall(T.null(), T.null()); | 31   T.CheckCall(T.null(), T.null()); | 
| 32   T.CheckCall(T.null(), T.Val("x")); | 32   T.CheckCall(T.null(), T.Val("x")); | 
| 33   T.CheckCall(T.null(), T.Val(1)); | 33   T.CheckCall(T.null(), T.Val(1)); | 
| 34 } | 34 } | 
| 35 | 35 | 
| 36 | 36 | 
| 37 #define COUNTER_NAME "hurz" |  | 
| 38 |  | 
| 39 static int* LookupCounter(const char* name) { |  | 
| 40   static int counter = 1234; |  | 
| 41   return strcmp(name, COUNTER_NAME) == 0 ? &counter : nullptr; |  | 
| 42 } |  | 
| 43 |  | 
| 44 |  | 
| 45 TEST(IncrementStatsCounter) { |  | 
| 46   FLAG_native_code_counters = true; |  | 
| 47   reinterpret_cast<v8::Isolate*>(CcTest::InitIsolateOnce()) |  | 
| 48       ->SetCounterFunction(LookupCounter); |  | 
| 49   FunctionTester T( |  | 
| 50       "(function() { %_IncrementStatsCounter('" COUNTER_NAME "'); })", flags); |  | 
| 51   StatsCounter counter(T.main_isolate(), COUNTER_NAME); |  | 
| 52   if (!counter.Enabled()) return; |  | 
| 53 |  | 
| 54   int old_value = *counter.GetInternalPointer(); |  | 
| 55   T.CheckCall(T.undefined()); |  | 
| 56   CHECK_EQ(old_value + 1, *counter.GetInternalPointer()); |  | 
| 57 } |  | 
| 58 |  | 
| 59 #undef COUNTER_NAME |  | 
| 60 |  | 
| 61 |  | 
| 62 TEST(IsArray) { | 37 TEST(IsArray) { | 
| 63   FunctionTester T("(function(a) { return %_IsArray(a); })", flags); | 38   FunctionTester T("(function(a) { return %_IsArray(a); })", flags); | 
| 64 | 39 | 
| 65   T.CheckFalse(T.NewObject("new Date()")); | 40   T.CheckFalse(T.NewObject("new Date()")); | 
| 66   T.CheckFalse(T.NewObject("(function() {})")); | 41   T.CheckFalse(T.NewObject("(function() {})")); | 
| 67   T.CheckTrue(T.NewObject("([1])")); | 42   T.CheckTrue(T.NewObject("([1])")); | 
| 68   T.CheckFalse(T.NewObject("({})")); | 43   T.CheckFalse(T.NewObject("({})")); | 
| 69   T.CheckFalse(T.NewObject("(/x/)")); | 44   T.CheckFalse(T.NewObject("(/x/)")); | 
| 70   T.CheckFalse(T.undefined()); | 45   T.CheckFalse(T.undefined()); | 
| 71   T.CheckFalse(T.null()); | 46   T.CheckFalse(T.null()); | 
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 258 | 233 | 
| 259   T.CheckCall(T.Val("a"), T.Val("a")); | 234   T.CheckCall(T.Val("a"), T.Val("a")); | 
| 260   T.CheckCall(T.Val("b"), T.NewObject("(new String('b'))")); | 235   T.CheckCall(T.Val("b"), T.NewObject("(new String('b'))")); | 
| 261   T.CheckCall(T.Val(123), T.Val(123)); | 236   T.CheckCall(T.Val(123), T.Val(123)); | 
| 262   T.CheckCall(T.Val(456), T.NewObject("(new Number(456))")); | 237   T.CheckCall(T.Val(456), T.NewObject("(new Number(456))")); | 
| 263 } | 238 } | 
| 264 | 239 | 
| 265 }  // namespace compiler | 240 }  // namespace compiler | 
| 266 }  // namespace internal | 241 }  // namespace internal | 
| 267 }  // namespace v8 | 242 }  // namespace v8 | 
| OLD | NEW | 
|---|