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

Side by Side Diff: src/api.cc

Issue 25226002: change of V8_DEPRECATED to be enabled behind a gyp flag (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 2 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 | « include/v8config.h ('k') | test/cctest/test-debug.cc » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 4691 matching lines...) Expand 10 before | Expand all | Expand 10 after
4702 } 4702 }
4703 } 4703 }
4704 // Recursive slow path can potentially be unreasonable slow. Flatten. 4704 // Recursive slow path can potentially be unreasonable slow. Flatten.
4705 str = FlattenGetString(str); 4705 str = FlattenGetString(str);
4706 Utf8WriterVisitor writer(buffer, capacity, false); 4706 Utf8WriterVisitor writer(buffer, capacity, false);
4707 i::String::VisitFlat(&writer, *str); 4707 i::String::VisitFlat(&writer, *str);
4708 return writer.CompleteWrite(write_null, nchars_ref); 4708 return writer.CompleteWrite(write_null, nchars_ref);
4709 } 4709 }
4710 4710
4711 4711
4712 int String::WriteAscii(char* buffer,
4713 int start,
4714 int length,
4715 int options) const {
4716 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
4717 LOG_API(isolate, "String::WriteAscii");
4718 ENTER_V8(isolate);
4719 ASSERT(start >= 0 && length >= -1);
4720 i::Handle<i::String> str = Utils::OpenHandle(this);
4721 isolate->string_tracker()->RecordWrite(str);
4722 if (options & HINT_MANY_WRITES_EXPECTED) {
4723 FlattenString(str); // Flatten the string for efficiency.
4724 }
4725
4726 int end = length;
4727 if ((length == -1) || (length > str->length() - start)) {
4728 end = str->length() - start;
4729 }
4730 if (end < 0) return 0;
4731 i::StringCharacterStream write_stream(*str, isolate->write_iterator(), start);
4732 int i;
4733 for (i = 0; i < end; i++) {
4734 char c = static_cast<char>(write_stream.GetNext());
4735 if (c == '\0' && !(options & PRESERVE_ASCII_NULL)) c = ' ';
4736 buffer[i] = c;
4737 }
4738 if (!(options & NO_NULL_TERMINATION) && (length == -1 || i < length)) {
4739 buffer[i] = '\0';
4740 }
4741 return i;
4742 }
4743
4744
4745 template<typename CharType> 4712 template<typename CharType>
4746 static inline int WriteHelper(const String* string, 4713 static inline int WriteHelper(const String* string,
4747 CharType* buffer, 4714 CharType* buffer,
4748 int start, 4715 int start,
4749 int length, 4716 int length,
4750 int options) { 4717 int options) {
4751 i::Isolate* isolate = Utils::OpenHandle(string)->GetIsolate(); 4718 i::Isolate* isolate = Utils::OpenHandle(string)->GetIsolate();
4752 LOG_API(isolate, "String::Write"); 4719 LOG_API(isolate, "String::Write");
4753 ENTER_V8(isolate); 4720 ENTER_V8(isolate);
4754 ASSERT(start >= 0 && length >= -1); 4721 ASSERT(start >= 0 && length >= -1);
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
4976 i::RandomNumberGenerator::SetEntropySource(entropy_source); 4943 i::RandomNumberGenerator::SetEntropySource(entropy_source);
4977 } 4944 }
4978 4945
4979 4946
4980 void v8::V8::SetReturnAddressLocationResolver( 4947 void v8::V8::SetReturnAddressLocationResolver(
4981 ReturnAddressLocationResolver return_address_resolver) { 4948 ReturnAddressLocationResolver return_address_resolver) {
4982 i::V8::SetReturnAddressLocationResolver(return_address_resolver); 4949 i::V8::SetReturnAddressLocationResolver(return_address_resolver);
4983 } 4950 }
4984 4951
4985 4952
4986 bool v8::V8::SetFunctionEntryHook(FunctionEntryHook entry_hook) {
4987 return SetFunctionEntryHook(Isolate::GetCurrent(), entry_hook);
4988 }
4989
4990
4991 bool v8::V8::SetFunctionEntryHook(Isolate* ext_isolate, 4953 bool v8::V8::SetFunctionEntryHook(Isolate* ext_isolate,
4992 FunctionEntryHook entry_hook) { 4954 FunctionEntryHook entry_hook) {
4993 ASSERT(ext_isolate != NULL); 4955 ASSERT(ext_isolate != NULL);
4994 ASSERT(entry_hook != NULL); 4956 ASSERT(entry_hook != NULL);
4995 4957
4996 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(ext_isolate); 4958 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(ext_isolate);
4997 4959
4998 // The entry hook can only be set before the Isolate is initialized, as 4960 // The entry hook can only be set before the Isolate is initialized, as
4999 // otherwise the Isolate's code stubs generated at initialization won't 4961 // otherwise the Isolate's code stubs generated at initialization won't
5000 // contain entry hooks. 4962 // contain entry hooks.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
5041 } 5003 }
5042 5004
5043 5005
5044 HeapStatistics::HeapStatistics(): total_heap_size_(0), 5006 HeapStatistics::HeapStatistics(): total_heap_size_(0),
5045 total_heap_size_executable_(0), 5007 total_heap_size_executable_(0),
5046 total_physical_size_(0), 5008 total_physical_size_(0),
5047 used_heap_size_(0), 5009 used_heap_size_(0),
5048 heap_size_limit_(0) { } 5010 heap_size_limit_(0) { }
5049 5011
5050 5012
5051 void v8::V8::GetHeapStatistics(HeapStatistics* heap_statistics) {
5052 i::Isolate* isolate = i::Isolate::UncheckedCurrent();
5053 if (isolate == NULL || !isolate->IsInitialized()) {
5054 // Isolate is unitialized thus heap is not configured yet.
5055 heap_statistics->total_heap_size_ = 0;
5056 heap_statistics->total_heap_size_executable_ = 0;
5057 heap_statistics->total_physical_size_ = 0;
5058 heap_statistics->used_heap_size_ = 0;
5059 heap_statistics->heap_size_limit_ = 0;
5060 return;
5061 }
5062 Isolate* ext_isolate = reinterpret_cast<Isolate*>(isolate);
5063 return ext_isolate->GetHeapStatistics(heap_statistics);
5064 }
5065
5066
5067 void v8::V8::VisitExternalResources(ExternalResourceVisitor* visitor) { 5013 void v8::V8::VisitExternalResources(ExternalResourceVisitor* visitor) {
5068 i::Isolate* isolate = i::Isolate::Current(); 5014 i::Isolate* isolate = i::Isolate::Current();
5069 isolate->heap()->VisitExternalResources(visitor); 5015 isolate->heap()->VisitExternalResources(visitor);
5070 } 5016 }
5071 5017
5072 5018
5073 class VisitorAdapter : public i::ObjectVisitor { 5019 class VisitorAdapter : public i::ObjectVisitor {
5074 public: 5020 public:
5075 explicit VisitorAdapter(PersistentHandleVisitor* visitor) 5021 explicit VisitorAdapter(PersistentHandleVisitor* visitor)
5076 : visitor_(visitor) {} 5022 : visitor_(visitor) {}
(...skipping 1892 matching lines...) Expand 10 before | Expand all | Expand 10 after
6969 return reinterpret_cast<const i::ProfileNode*>(this)->entry()->line_number(); 6915 return reinterpret_cast<const i::ProfileNode*>(this)->entry()->line_number();
6970 } 6916 }
6971 6917
6972 6918
6973 const char* CpuProfileNode::GetBailoutReason() const { 6919 const char* CpuProfileNode::GetBailoutReason() const {
6974 const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this); 6920 const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this);
6975 return node->entry()->bailout_reason(); 6921 return node->entry()->bailout_reason();
6976 } 6922 }
6977 6923
6978 6924
6979 double CpuProfileNode::GetSelfSamplesCount() const {
6980 return reinterpret_cast<const i::ProfileNode*>(this)->self_ticks();
6981 }
6982
6983
6984 unsigned CpuProfileNode::GetHitCount() const { 6925 unsigned CpuProfileNode::GetHitCount() const {
6985 return reinterpret_cast<const i::ProfileNode*>(this)->self_ticks(); 6926 return reinterpret_cast<const i::ProfileNode*>(this)->self_ticks();
6986 } 6927 }
6987 6928
6988 6929
6989 unsigned CpuProfileNode::GetCallUid() const { 6930 unsigned CpuProfileNode::GetCallUid() const {
6990 return reinterpret_cast<const i::ProfileNode*>(this)->entry()->GetCallUid(); 6931 return reinterpret_cast<const i::ProfileNode*>(this)->entry()->GetCallUid();
6991 } 6932 }
6992 6933
6993 6934
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
7575 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); 7516 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate());
7576 Address callback_address = 7517 Address callback_address =
7577 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 7518 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
7578 VMState<EXTERNAL> state(isolate); 7519 VMState<EXTERNAL> state(isolate);
7579 ExternalCallbackScope call_scope(isolate, callback_address); 7520 ExternalCallbackScope call_scope(isolate, callback_address);
7580 callback(info); 7521 callback(info);
7581 } 7522 }
7582 7523
7583 7524
7584 } } // namespace v8::internal 7525 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « include/v8config.h ('k') | test/cctest/test-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698