Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Side by Side Diff: test/cctest/test-api.cc

Issue 6903060: Version 3.3.2.... (Closed) Base URL: http://v8.googlecode.com/svn/trunk/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/x64/stub-cache-x64.cc ('k') | test/mjsunit/array-constructor.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 21 matching lines...) Expand all
32 #include "api.h" 32 #include "api.h"
33 #include "compilation-cache.h" 33 #include "compilation-cache.h"
34 #include "execution.h" 34 #include "execution.h"
35 #include "snapshot.h" 35 #include "snapshot.h"
36 #include "platform.h" 36 #include "platform.h"
37 #include "utils.h" 37 #include "utils.h"
38 #include "cctest.h" 38 #include "cctest.h"
39 #include "parser.h" 39 #include "parser.h"
40 #include "unicode-inl.h" 40 #include "unicode-inl.h"
41 41
42 static const bool kLogThreading = true; 42 static const bool kLogThreading = false;
43 43
44 static bool IsNaN(double x) { 44 static bool IsNaN(double x) {
45 #ifdef WIN32 45 #ifdef WIN32
46 return _isnan(x); 46 return _isnan(x);
47 #else 47 #else
48 return isnan(x); 48 return isnan(x);
49 #endif 49 #endif
50 } 50 }
51 51
52 using ::v8::AccessorInfo; 52 using ::v8::AccessorInfo;
(...skipping 11320 matching lines...) Expand 10 before | Expand all | Expand 10 after
11373 break; 11373 break;
11374 case v8::kExternalShortArray: 11374 case v8::kExternalShortArray:
11375 case v8::kExternalUnsignedShortArray: 11375 case v8::kExternalUnsignedShortArray:
11376 return 2; 11376 return 2;
11377 break; 11377 break;
11378 case v8::kExternalIntArray: 11378 case v8::kExternalIntArray:
11379 case v8::kExternalUnsignedIntArray: 11379 case v8::kExternalUnsignedIntArray:
11380 case v8::kExternalFloatArray: 11380 case v8::kExternalFloatArray:
11381 return 4; 11381 return 4;
11382 break; 11382 break;
11383 case v8::kExternalDoubleArray:
11384 return 8;
11385 break;
11383 default: 11386 default:
11384 UNREACHABLE(); 11387 UNREACHABLE();
11385 return -1; 11388 return -1;
11386 } 11389 }
11387 UNREACHABLE(); 11390 UNREACHABLE();
11388 return -1; 11391 return -1;
11389 } 11392 }
11390 11393
11391 11394
11392 template <class ExternalArrayClass, class ElementType> 11395 template <class ExternalArrayClass, class ElementType>
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
11562 0, static_cast<int>(jsobj->GetElement(7)->ToObjectChecked()->Number())); 11565 0, static_cast<int>(jsobj->GetElement(7)->ToObjectChecked()->Number()));
11563 11566
11564 result = CompileRun("for (var i = 0; i < 8; i++) {" 11567 result = CompileRun("for (var i = 0; i < 8; i++) {"
11565 " ext_array[6] = '2.3';" 11568 " ext_array[6] = '2.3';"
11566 "}" 11569 "}"
11567 "ext_array[6];"); 11570 "ext_array[6];");
11568 CHECK_EQ(2, result->Int32Value()); 11571 CHECK_EQ(2, result->Int32Value());
11569 CHECK_EQ( 11572 CHECK_EQ(
11570 2, static_cast<int>(jsobj->GetElement(6)->ToObjectChecked()->Number())); 11573 2, static_cast<int>(jsobj->GetElement(6)->ToObjectChecked()->Number()));
11571 11574
11572 if (array_type != v8::kExternalFloatArray) { 11575 if (array_type != v8::kExternalFloatArray &&
11576 array_type != v8::kExternalDoubleArray) {
11573 // Though the specification doesn't state it, be explicit about 11577 // Though the specification doesn't state it, be explicit about
11574 // converting NaNs and +/-Infinity to zero. 11578 // converting NaNs and +/-Infinity to zero.
11575 result = CompileRun("for (var i = 0; i < 8; i++) {" 11579 result = CompileRun("for (var i = 0; i < 8; i++) {"
11576 " ext_array[i] = 5;" 11580 " ext_array[i] = 5;"
11577 "}" 11581 "}"
11578 "for (var i = 0; i < 8; i++) {" 11582 "for (var i = 0; i < 8; i++) {"
11579 " ext_array[i] = NaN;" 11583 " ext_array[i] = NaN;"
11580 "}" 11584 "}"
11581 "ext_array[5];"); 11585 "ext_array[5];");
11582 CHECK_EQ(0, result->Int32Value()); 11586 CHECK_EQ(0, result->Int32Value());
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
11959 11963
11960 11964
11961 THREADED_TEST(ExternalFloatArray) { 11965 THREADED_TEST(ExternalFloatArray) {
11962 ExternalArrayTestHelper<i::ExternalFloatArray, float>( 11966 ExternalArrayTestHelper<i::ExternalFloatArray, float>(
11963 v8::kExternalFloatArray, 11967 v8::kExternalFloatArray,
11964 -500, 11968 -500,
11965 500); 11969 500);
11966 } 11970 }
11967 11971
11968 11972
11973 THREADED_TEST(ExternalDoubleArray) {
11974 ExternalArrayTestHelper<i::ExternalDoubleArray, double>(
11975 v8::kExternalDoubleArray,
11976 -500,
11977 500);
11978 }
11979
11980
11969 THREADED_TEST(ExternalArrays) { 11981 THREADED_TEST(ExternalArrays) {
11970 TestExternalByteArray(); 11982 TestExternalByteArray();
11971 TestExternalUnsignedByteArray(); 11983 TestExternalUnsignedByteArray();
11972 TestExternalShortArray(); 11984 TestExternalShortArray();
11973 TestExternalUnsignedShortArray(); 11985 TestExternalUnsignedShortArray();
11974 TestExternalIntArray(); 11986 TestExternalIntArray();
11975 TestExternalUnsignedIntArray(); 11987 TestExternalUnsignedIntArray();
11976 TestExternalFloatArray(); 11988 TestExternalFloatArray();
11977 } 11989 }
11978 11990
(...skipping 17 matching lines...) Expand all
11996 12008
11997 12009
11998 THREADED_TEST(ExternalArrayInfo) { 12010 THREADED_TEST(ExternalArrayInfo) {
11999 ExternalArrayInfoTestHelper(v8::kExternalByteArray); 12011 ExternalArrayInfoTestHelper(v8::kExternalByteArray);
12000 ExternalArrayInfoTestHelper(v8::kExternalUnsignedByteArray); 12012 ExternalArrayInfoTestHelper(v8::kExternalUnsignedByteArray);
12001 ExternalArrayInfoTestHelper(v8::kExternalShortArray); 12013 ExternalArrayInfoTestHelper(v8::kExternalShortArray);
12002 ExternalArrayInfoTestHelper(v8::kExternalUnsignedShortArray); 12014 ExternalArrayInfoTestHelper(v8::kExternalUnsignedShortArray);
12003 ExternalArrayInfoTestHelper(v8::kExternalIntArray); 12015 ExternalArrayInfoTestHelper(v8::kExternalIntArray);
12004 ExternalArrayInfoTestHelper(v8::kExternalUnsignedIntArray); 12016 ExternalArrayInfoTestHelper(v8::kExternalUnsignedIntArray);
12005 ExternalArrayInfoTestHelper(v8::kExternalFloatArray); 12017 ExternalArrayInfoTestHelper(v8::kExternalFloatArray);
12018 ExternalArrayInfoTestHelper(v8::kExternalDoubleArray);
12006 ExternalArrayInfoTestHelper(v8::kExternalPixelArray); 12019 ExternalArrayInfoTestHelper(v8::kExternalPixelArray);
12007 } 12020 }
12008 12021
12009 12022
12010 THREADED_TEST(ScriptContextDependence) { 12023 THREADED_TEST(ScriptContextDependence) {
12011 v8::HandleScope scope; 12024 v8::HandleScope scope;
12012 LocalContext c1; 12025 LocalContext c1;
12013 const char *source = "foo"; 12026 const char *source = "foo";
12014 v8::Handle<v8::Script> dep = v8::Script::Compile(v8::String::New(source)); 12027 v8::Handle<v8::Script> dep = v8::Script::Compile(v8::String::New(source));
12015 v8::Handle<v8::Script> indep = v8::Script::New(v8::String::New(source)); 12028 v8::Handle<v8::Script> indep = v8::Script::New(v8::String::New(source));
(...skipping 1875 matching lines...) Expand 10 before | Expand all | Expand 10 after
13891 CHECK(func2->CreationContext() == context2); 13904 CHECK(func2->CreationContext() == context2);
13892 CheckContextId(func2, 2); 13905 CheckContextId(func2, 2);
13893 CHECK(instance2->CreationContext() == context2); 13906 CHECK(instance2->CreationContext() == context2);
13894 CheckContextId(instance2, 2); 13907 CheckContextId(instance2, 2);
13895 } 13908 }
13896 13909
13897 context1.Dispose(); 13910 context1.Dispose();
13898 context2.Dispose(); 13911 context2.Dispose();
13899 context3.Dispose(); 13912 context3.Dispose();
13900 } 13913 }
OLDNEW
« no previous file with comments | « src/x64/stub-cache-x64.cc ('k') | test/mjsunit/array-constructor.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698