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

Side by Side Diff: src/runtime.cc

Issue 5455001: Fix compile problem on ARM. Remove unused argument. (Closed)
Patch Set: Actually remove parameter. Created 10 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-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 4503 matching lines...) Expand 10 before | Expand all | Expand 10 after
4514 int dest_position = 0; 4514 int dest_position = 0;
4515 for (int i = 0; i < length; dest_position++) { 4515 for (int i = 0; i < length; dest_position++) {
4516 int step; 4516 int step;
4517 destination->Set(dest_position, Unescape(source, i, length, &step)); 4517 destination->Set(dest_position, Unescape(source, i, length, &step));
4518 i += step; 4518 i += step;
4519 } 4519 }
4520 return destination; 4520 return destination;
4521 } 4521 }
4522 4522
4523 4523
4524 static const char* const JsonQuotes[128] = { 4524 static const unsigned int kQuoteTableLength = 128u;
4525
4526 static const char* const JsonQuotes[kQuoteTableLength] = {
4525 "\\u0000", "\\u0001", "\\u0002", "\\u0003", 4527 "\\u0000", "\\u0001", "\\u0002", "\\u0003",
4526 "\\u0004", "\\u0005", "\\u0006", "\\u0007", 4528 "\\u0004", "\\u0005", "\\u0006", "\\u0007",
4527 "\\b", "\\t", "\\n", "\\u000b", 4529 "\\b", "\\t", "\\n", "\\u000b",
4528 "\\f", "\\r", "\\u000e", "\\u000f", 4530 "\\f", "\\r", "\\u000e", "\\u000f",
4529 "\\u0010", "\\u0011", "\\u0012", "\\u0013", 4531 "\\u0010", "\\u0011", "\\u0012", "\\u0013",
4530 "\\u0014", "\\u0015", "\\u0016", "\\u0017", 4532 "\\u0014", "\\u0015", "\\u0016", "\\u0017",
4531 "\\u0018", "\\u0019", "\\u001a", "\\u001b", 4533 "\\u0018", "\\u0019", "\\u001a", "\\u001b",
4532 "\\u001c", "\\u001d", "\\u001e", "\\u001f", 4534 "\\u001c", "\\u001d", "\\u001e", "\\u001f",
4533 NULL, NULL, "\\\"", NULL, 4535 NULL, NULL, "\\\"", NULL,
4534 NULL, NULL, NULL, NULL, 4536 NULL, NULL, NULL, NULL,
(...skipping 15 matching lines...) Expand all
4550 NULL, NULL, NULL, NULL, 4552 NULL, NULL, NULL, NULL,
4551 NULL, NULL, NULL, NULL, 4553 NULL, NULL, NULL, NULL,
4552 NULL, NULL, NULL, NULL, 4554 NULL, NULL, NULL, NULL,
4553 NULL, NULL, NULL, NULL, 4555 NULL, NULL, NULL, NULL,
4554 NULL, NULL, NULL, NULL, 4556 NULL, NULL, NULL, NULL,
4555 NULL, NULL, NULL, NULL, 4557 NULL, NULL, NULL, NULL,
4556 NULL, NULL, NULL, NULL, 4558 NULL, NULL, NULL, NULL,
4557 }; 4559 };
4558 4560
4559 4561
4560 static const byte JsonQuoteLengths[128] = { 4562 static const byte JsonQuoteLengths[kQuoteTableLength] = {
4561 6, 6, 6, 6, 6, 6, 6, 6, 4563 6, 6, 6, 6, 6, 6, 6, 6,
4562 2, 2, 2, 6, 2, 2, 6, 6, 4564 2, 2, 2, 6, 2, 2, 6, 6,
4563 6, 6, 6, 6, 6, 6, 6, 6, 4565 6, 6, 6, 6, 6, 6, 6, 6,
4564 6, 6, 6, 6, 6, 6, 6, 6, 4566 6, 6, 6, 6, 6, 6, 6, 6,
4565 1, 1, 2, 1, 1, 1, 1, 1, 4567 1, 1, 2, 1, 1, 1, 1, 1,
4566 1, 1, 1, 1, 1, 1, 1, 1, 4568 1, 1, 1, 1, 1, 1, 1, 1,
4567 1, 1, 1, 1, 1, 1, 1, 1, 4569 1, 1, 1, 1, 1, 1, 1, 1,
4568 1, 1, 1, 1, 1, 1, 1, 1, 4570 1, 1, 1, 1, 1, 1, 1, 1,
4569 1, 1, 1, 1, 1, 1, 1, 1, 4571 1, 1, 1, 1, 1, 1, 1, 1,
4570 1, 1, 1, 1, 1, 1, 1, 1, 4572 1, 1, 1, 1, 1, 1, 1, 1,
(...skipping 28 matching lines...) Expand all
4599 } 4601 }
4600 4602
4601 4603
4602 template <> 4604 template <>
4603 MaybeObject* AllocateRawString<SeqAsciiString>(int length) { 4605 MaybeObject* AllocateRawString<SeqAsciiString>(int length) {
4604 return Heap::AllocateRawAsciiString(length); 4606 return Heap::AllocateRawAsciiString(length);
4605 } 4607 }
4606 4608
4607 4609
4608 template <typename Char, typename StringType> 4610 template <typename Char, typename StringType>
4609 static MaybeObject* QuoteJsonString(String* original, 4611 static MaybeObject* QuoteJsonString(Vector<const Char> characters) {
4610 Vector<const Char> characters) {
4611 int length = characters.length(); 4612 int length = characters.length();
4612 int quoted_length = 0; 4613 int quoted_length = 0;
4613 for (int i = 0; i < length; i++) { 4614 for (int i = 0; i < length; i++) {
4614 unsigned int c = characters[i]; 4615 unsigned int c = characters[i];
4615 if (sizeof(Char) > 1u) { 4616 if (sizeof(Char) > 1u) {
4616 quoted_length += 4617 quoted_length += (c >= kQuoteTableLength) ? 1 : JsonQuoteLengths[c];
4617 (c >= sizeof(JsonQuoteLengths)) ? 1 : JsonQuoteLengths[c];
4618 } else { 4618 } else {
4619 quoted_length += JsonQuoteLengths[c]; 4619 quoted_length += JsonQuoteLengths[c];
4620 } 4620 }
4621 } 4621 }
4622 if (quoted_length == length) { 4622 if (quoted_length == length) {
4623 return Heap::undefined_value(); 4623 return Heap::undefined_value();
4624 } 4624 }
4625 Counters::quote_json_char_count.Increment(length); 4625 Counters::quote_json_char_count.Increment(length);
4626 4626
4627 // Add space for quotes. 4627 // Add space for quotes.
4628 quoted_length += 2; 4628 quoted_length += 2;
4629 4629
4630 MaybeObject* new_alloc = AllocateRawString<StringType>(quoted_length); 4630 MaybeObject* new_alloc = AllocateRawString<StringType>(quoted_length);
4631 Object* new_object; 4631 Object* new_object;
4632 if (!new_alloc->ToObject(&new_object)) { 4632 if (!new_alloc->ToObject(&new_object)) {
4633 Counters::quote_json_char_recount.Increment(length); 4633 Counters::quote_json_char_recount.Increment(length);
4634 return new_alloc; 4634 return new_alloc;
4635 } 4635 }
4636 StringType* new_string = StringType::cast(new_object); 4636 StringType* new_string = StringType::cast(new_object);
4637 4637
4638 4638
4639 STATIC_ASSERT(SeqTwoByteString::kHeaderSize == SeqAsciiString::kHeaderSize); 4639 STATIC_ASSERT(SeqTwoByteString::kHeaderSize == SeqAsciiString::kHeaderSize);
4640 Char* write_cursor = reinterpret_cast<Char*>( 4640 Char* write_cursor = reinterpret_cast<Char*>(
4641 new_string->address() + SeqAsciiString::kHeaderSize); 4641 new_string->address() + SeqAsciiString::kHeaderSize);
4642 *(write_cursor++) = '"'; 4642 *(write_cursor++) = '"';
4643 const Char* read_cursor = characters.start(); 4643 const Char* read_cursor = characters.start();
4644 const Char* end = read_cursor + length; 4644 const Char* end = read_cursor + length;
4645 while (read_cursor < end) { 4645 while (read_cursor < end) {
4646 Char c = *(read_cursor++); 4646 Char c = *(read_cursor++);
4647 if (sizeof(Char) > 1u && static_cast<unsigned>(c) >= sizeof(JsonQuotes)) { 4647 if (sizeof(Char) > 1u && static_cast<unsigned>(c) >= kQuoteTableLength) {
4648 *(write_cursor++) = c; 4648 *(write_cursor++) = c;
4649 } else { 4649 } else {
4650 const char* replacement = JsonQuotes[static_cast<unsigned>(c)]; 4650 const char* replacement = JsonQuotes[static_cast<unsigned>(c)];
4651 if (!replacement) { 4651 if (!replacement) {
4652 *(write_cursor++) = c; 4652 *(write_cursor++) = c;
4653 } else { 4653 } else {
4654 write_cursor = WriteString(write_cursor, replacement); 4654 write_cursor = WriteString(write_cursor, replacement);
4655 } 4655 }
4656 } 4656 }
4657 } 4657 }
(...skipping 10 matching lines...) Expand all
4668 if (!str->IsFlat()) { 4668 if (!str->IsFlat()) {
4669 MaybeObject* try_flatten = str->TryFlatten(); 4669 MaybeObject* try_flatten = str->TryFlatten();
4670 Object* flat; 4670 Object* flat;
4671 if (!try_flatten->ToObject(&flat)) { 4671 if (!try_flatten->ToObject(&flat)) {
4672 return try_flatten; 4672 return try_flatten;
4673 } 4673 }
4674 str = String::cast(flat); 4674 str = String::cast(flat);
4675 ASSERT(str->IsFlat()); 4675 ASSERT(str->IsFlat());
4676 } 4676 }
4677 if (str->IsTwoByteRepresentation()) { 4677 if (str->IsTwoByteRepresentation()) {
4678 return QuoteJsonString<uc16, SeqTwoByteString>(str, str->ToUC16Vector()); 4678 return QuoteJsonString<uc16, SeqTwoByteString>(str->ToUC16Vector());
4679 } else { 4679 } else {
4680 return QuoteJsonString<char, SeqAsciiString>(str, str->ToAsciiVector()); 4680 return QuoteJsonString<char, SeqAsciiString>(str->ToAsciiVector());
4681 } 4681 }
4682 } 4682 }
4683 4683
4684 4684
4685 static MaybeObject* Runtime_StringParseInt(Arguments args) { 4685 static MaybeObject* Runtime_StringParseInt(Arguments args) {
4686 NoHandleAllocation ha; 4686 NoHandleAllocation ha;
4687 4687
4688 CONVERT_CHECKED(String, s, args[0]); 4688 CONVERT_CHECKED(String, s, args[0]);
4689 CONVERT_SMI_CHECKED(radix, args[1]); 4689 CONVERT_SMI_CHECKED(radix, args[1]);
4690 4690
(...skipping 5792 matching lines...) Expand 10 before | Expand all | Expand 10 after
10483 } else { 10483 } else {
10484 // Handle last resort GC and make sure to allow future allocations 10484 // Handle last resort GC and make sure to allow future allocations
10485 // to grow the heap without causing GCs (if possible). 10485 // to grow the heap without causing GCs (if possible).
10486 Counters::gc_last_resort_from_js.Increment(); 10486 Counters::gc_last_resort_from_js.Increment();
10487 Heap::CollectAllGarbage(false); 10487 Heap::CollectAllGarbage(false);
10488 } 10488 }
10489 } 10489 }
10490 10490
10491 10491
10492 } } // namespace v8::internal 10492 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698