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

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

Issue 390004: Fix warnings on Win64. (Closed)
Patch Set: Created 11 years, 1 month 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
OLDNEW
1 // Copyright 2007-2009 the V8 project authors. All rights reserved. 1 // Copyright 2007-2009 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 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 v8::HandleScope scope; 247 v8::HandleScope scope;
248 LocalContext env; 248 LocalContext env;
249 const char* c_source = "1 + 2 + 3"; 249 const char* c_source = "1 + 2 + 3";
250 Local<String> source = String::New(c_source); 250 Local<String> source = String::New(c_source);
251 Local<Script> script = Script::Compile(source); 251 Local<Script> script = Script::Compile(source);
252 CHECK_EQ(6, script->Run()->Int32Value()); 252 CHECK_EQ(6, script->Run()->Int32Value());
253 } 253 }
254 254
255 255
256 static uint16_t* AsciiToTwoByteString(const char* source) { 256 static uint16_t* AsciiToTwoByteString(const char* source) {
257 size_t array_length = strlen(source) + 1; 257 int array_length = i::StrLength(source) + 1;
258 uint16_t* converted = i::NewArray<uint16_t>(array_length); 258 uint16_t* converted = i::NewArray<uint16_t>(array_length);
259 for (size_t i = 0; i < array_length; i++) converted[i] = source[i]; 259 for (int i = 0; i < array_length; i++) converted[i] = source[i];
260 return converted; 260 return converted;
261 } 261 }
262 262
263 263
264 class TestResource: public String::ExternalStringResource { 264 class TestResource: public String::ExternalStringResource {
265 public: 265 public:
266 static int dispose_count; 266 static int dispose_count;
267 267
268 explicit TestResource(uint16_t* data) 268 explicit TestResource(uint16_t* data)
269 : data_(data), length_(0) { 269 : data_(data), length_(0) {
(...skipping 6372 matching lines...) Expand 10 before | Expand all | Expand 10 after
6642 6642
6643 6643
6644 // This test verifies that pre-compilation (aka preparsing) can be called 6644 // This test verifies that pre-compilation (aka preparsing) can be called
6645 // without initializing the whole VM. Thus we cannot run this test in a 6645 // without initializing the whole VM. Thus we cannot run this test in a
6646 // multi-threaded setup. 6646 // multi-threaded setup.
6647 TEST(PreCompile) { 6647 TEST(PreCompile) {
6648 // TODO(155): This test would break without the initialization of V8. This is 6648 // TODO(155): This test would break without the initialization of V8. This is
6649 // a workaround for now to make this test not fail. 6649 // a workaround for now to make this test not fail.
6650 v8::V8::Initialize(); 6650 v8::V8::Initialize();
6651 const char *script = "function foo(a) { return a+1; }"; 6651 const char *script = "function foo(a) { return a+1; }";
6652 v8::ScriptData *sd = v8::ScriptData::PreCompile(script, strlen(script)); 6652 v8::ScriptData *sd =
6653 v8::ScriptData::PreCompile(script, i::StrLength(script));
6653 CHECK_NE(sd->Length(), 0); 6654 CHECK_NE(sd->Length(), 0);
6654 CHECK_NE(sd->Data(), NULL); 6655 CHECK_NE(sd->Data(), NULL);
6655 delete sd; 6656 delete sd;
6656 } 6657 }
6657 6658
6658 6659
6659 // This tests that we do not allow dictionary load/call inline caches 6660 // This tests that we do not allow dictionary load/call inline caches
6660 // to use functions that have not yet been compiled. The potential 6661 // to use functions that have not yet been compiled. The potential
6661 // problem of loading a function that has not yet been compiled can 6662 // problem of loading a function that has not yet been compiled can
6662 // arise because we share code between contexts via the compilation 6663 // arise because we share code between contexts via the compilation
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
7038 // Test that we can still flatten a string if the components it is built up 7039 // Test that we can still flatten a string if the components it is built up
7039 // from have been turned into 16 bit strings in the mean time. 7040 // from have been turned into 16 bit strings in the mean time.
7040 THREADED_TEST(MorphCompositeStringTest) { 7041 THREADED_TEST(MorphCompositeStringTest) {
7041 const char* c_string = "Now is the time for all good men" 7042 const char* c_string = "Now is the time for all good men"
7042 " to come to the aid of the party"; 7043 " to come to the aid of the party";
7043 uint16_t* two_byte_string = AsciiToTwoByteString(c_string); 7044 uint16_t* two_byte_string = AsciiToTwoByteString(c_string);
7044 { 7045 {
7045 v8::HandleScope scope; 7046 v8::HandleScope scope;
7046 LocalContext env; 7047 LocalContext env;
7047 AsciiVectorResource ascii_resource( 7048 AsciiVectorResource ascii_resource(
7048 i::Vector<const char>(c_string, strlen(c_string))); 7049 i::Vector<const char>(c_string, i::StrLength(c_string)));
7049 UC16VectorResource uc16_resource( 7050 UC16VectorResource uc16_resource(
7050 i::Vector<const uint16_t>(two_byte_string, strlen(c_string))); 7051 i::Vector<const uint16_t>(two_byte_string,
7052 i::StrLength(c_string)));
7051 7053
7052 Local<String> lhs(v8::Utils::ToLocal( 7054 Local<String> lhs(v8::Utils::ToLocal(
7053 i::Factory::NewExternalStringFromAscii(&ascii_resource))); 7055 i::Factory::NewExternalStringFromAscii(&ascii_resource)));
7054 Local<String> rhs(v8::Utils::ToLocal( 7056 Local<String> rhs(v8::Utils::ToLocal(
7055 i::Factory::NewExternalStringFromAscii(&ascii_resource))); 7057 i::Factory::NewExternalStringFromAscii(&ascii_resource)));
7056 7058
7057 env->Global()->Set(v8_str("lhs"), lhs); 7059 env->Global()->Set(v8_str("lhs"), lhs);
7058 env->Global()->Set(v8_str("rhs"), rhs); 7060 env->Global()->Set(v8_str("rhs"), rhs);
7059 7061
7060 CompileRun( 7062 CompileRun(
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
7098 "0.5", 7100 "0.5",
7099 "-0.5", // This mainly testes PushBack in the Scanner. 7101 "-0.5", // This mainly testes PushBack in the Scanner.
7100 "--0.5", // This mainly testes PushBack in the Scanner. 7102 "--0.5", // This mainly testes PushBack in the Scanner.
7101 NULL 7103 NULL
7102 }; 7104 };
7103 7105
7104 // Compile the sources as external two byte strings. 7106 // Compile the sources as external two byte strings.
7105 for (int i = 0; ascii_sources[i] != NULL; i++) { 7107 for (int i = 0; ascii_sources[i] != NULL; i++) {
7106 uint16_t* two_byte_string = AsciiToTwoByteString(ascii_sources[i]); 7108 uint16_t* two_byte_string = AsciiToTwoByteString(ascii_sources[i]);
7107 UC16VectorResource uc16_resource( 7109 UC16VectorResource uc16_resource(
7108 i::Vector<const uint16_t>(two_byte_string, strlen(ascii_sources[i]))); 7110 i::Vector<const uint16_t>(two_byte_string,
7111 i::StrLength(ascii_sources[i])));
7109 v8::Local<v8::String> source = v8::String::NewExternal(&uc16_resource); 7112 v8::Local<v8::String> source = v8::String::NewExternal(&uc16_resource);
7110 v8::Script::Compile(source); 7113 v8::Script::Compile(source);
7111 } 7114 }
7112 } 7115 }
7113 7116
7114 7117
7115 class RegExpStringModificationTest { 7118 class RegExpStringModificationTest {
7116 public: 7119 public:
7117 RegExpStringModificationTest() 7120 RegExpStringModificationTest()
7118 : block_(i::OS::CreateSemaphore(0)), 7121 : block_(i::OS::CreateSemaphore(0)),
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after
8210 v8::Locker locker; 8213 v8::Locker locker;
8211 CHECK(stack_limit == set_limit); 8214 CHECK(stack_limit == set_limit);
8212 } 8215 }
8213 } 8216 }
8214 8217
8215 8218
8216 THREADED_TEST(GetHeapStatistics) { 8219 THREADED_TEST(GetHeapStatistics) {
8217 v8::HandleScope scope; 8220 v8::HandleScope scope;
8218 LocalContext c1; 8221 LocalContext c1;
8219 v8::HeapStatistics heap_statistics; 8222 v8::HeapStatistics heap_statistics;
8220 CHECK_EQ(heap_statistics.total_heap_size(), 0); 8223 CHECK_EQ(static_cast<int>(heap_statistics.total_heap_size()), 0);
8221 CHECK_EQ(heap_statistics.used_heap_size(), 0); 8224 CHECK_EQ(static_cast<int>(heap_statistics.used_heap_size()), 0);
8222 v8::V8::GetHeapStatistics(&heap_statistics); 8225 v8::V8::GetHeapStatistics(&heap_statistics);
8223 CHECK_NE(heap_statistics.total_heap_size(), 0); 8226 CHECK_NE(static_cast<int>(heap_statistics.total_heap_size()), 0);
8224 CHECK_NE(heap_statistics.used_heap_size(), 0); 8227 CHECK_NE(static_cast<int>(heap_statistics.used_heap_size()), 0);
8225 } 8228 }
8226 8229
8227 8230
8228 static double DoubleFromBits(uint64_t value) { 8231 static double DoubleFromBits(uint64_t value) {
8229 double target; 8232 double target;
8230 #ifdef BIG_ENDIAN_FLOATING_POINT 8233 #ifdef BIG_ENDIAN_FLOATING_POINT
8231 const int kIntSize = 4; 8234 const int kIntSize = 4;
8232 // Somebody swapped the lower and higher half of doubles. 8235 // Somebody swapped the lower and higher half of doubles.
8233 memcpy(&target, reinterpret_cast<char*>(&value) + kIntSize, kIntSize); 8236 memcpy(&target, reinterpret_cast<char*>(&value) + kIntSize, kIntSize);
8234 memcpy(reinterpret_cast<char*>(&target) + kIntSize, &value, kIntSize); 8237 memcpy(reinterpret_cast<char*>(&target) + kIntSize, &value, kIntSize);
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
8369 " i++;" 8372 " i++;"
8370 " return s(o);" 8373 " return s(o);"
8371 " }" 8374 " }"
8372 " }" 8375 " }"
8373 "};" 8376 "};"
8374 "s(o);"); 8377 "s(o);");
8375 CHECK(try_catch.HasCaught()); 8378 CHECK(try_catch.HasCaught());
8376 v8::String::Utf8Value value(try_catch.Exception()); 8379 v8::String::Utf8Value value(try_catch.Exception());
8377 CHECK_EQ(0, strcmp(*value, "Hey!")); 8380 CHECK_EQ(0, strcmp(*value, "Hey!"));
8378 } 8381 }
OLDNEW
« src/api.cc ('K') | « test/cctest/test-alloc.cc ('k') | test/cctest/test-assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698