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

Side by Side Diff: src/api.cc

Issue 584843002: Remove a couple of deprecated APIs that moved to Isolate (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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/v8.h ('k') | 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 "src/api.h" 5 #include "src/api.h"
6 6
7 #include <string.h> // For memcpy, strlen. 7 #include <string.h> // For memcpy, strlen.
8 #ifdef V8_USE_ADDRESS_SANITIZER 8 #ifdef V8_USE_ADDRESS_SANITIZER
9 #include <sanitizer/asan_interface.h> 9 #include <sanitizer/asan_interface.h>
10 #endif // V8_USE_ADDRESS_SANITIZER 10 #endif // V8_USE_ADDRESS_SANITIZER
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 if (virtual_memory_limit > 0 && i::kRequiresCodeRange) { 464 if (virtual_memory_limit > 0 && i::kRequiresCodeRange) {
465 // Reserve no more than 1/8 of the memory for the code range, but at most 465 // Reserve no more than 1/8 of the memory for the code range, but at most
466 // kMaximalCodeRangeSize. 466 // kMaximalCodeRangeSize.
467 set_code_range_size( 467 set_code_range_size(
468 i::Min(i::kMaximalCodeRangeSize / i::MB, 468 i::Min(i::kMaximalCodeRangeSize / i::MB,
469 static_cast<size_t>((virtual_memory_limit >> 3) / i::MB))); 469 static_cast<size_t>((virtual_memory_limit >> 3) / i::MB)));
470 } 470 }
471 } 471 }
472 472
473 473
474 bool SetResourceConstraints(Isolate* v8_isolate, 474 void SetResourceConstraints(i::Isolate* isolate,
475 ResourceConstraints* constraints) { 475 const ResourceConstraints& constraints) {
476 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); 476 int semi_space_size = constraints.max_semi_space_size();
477 int semi_space_size = constraints->max_semi_space_size(); 477 int old_space_size = constraints.max_old_space_size();
478 int old_space_size = constraints->max_old_space_size(); 478 int max_executable_size = constraints.max_executable_size();
479 int max_executable_size = constraints->max_executable_size(); 479 size_t code_range_size = constraints.code_range_size();
480 size_t code_range_size = constraints->code_range_size();
481 if (semi_space_size != 0 || old_space_size != 0 || 480 if (semi_space_size != 0 || old_space_size != 0 ||
482 max_executable_size != 0 || code_range_size != 0) { 481 max_executable_size != 0 || code_range_size != 0) {
483 // After initialization it's too late to change Heap constraints. 482 isolate->heap()->ConfigureHeap(semi_space_size, old_space_size,
484 DCHECK(!isolate->IsInitialized()); 483 max_executable_size, code_range_size);
485 bool result = isolate->heap()->ConfigureHeap(semi_space_size,
486 old_space_size,
487 max_executable_size,
488 code_range_size);
489 if (!result) return false;
490 } 484 }
491 if (constraints->stack_limit() != NULL) { 485 if (constraints.stack_limit() != NULL) {
492 uintptr_t limit = reinterpret_cast<uintptr_t>(constraints->stack_limit()); 486 uintptr_t limit = reinterpret_cast<uintptr_t>(constraints.stack_limit());
493 isolate->stack_guard()->SetStackLimit(limit); 487 isolate->stack_guard()->SetStackLimit(limit);
494 } 488 }
495 489
496 isolate->set_max_available_threads(constraints->max_available_threads()); 490 isolate->set_max_available_threads(constraints.max_available_threads());
497 return true;
498 } 491 }
499 492
500 493
501 i::Object** V8::GlobalizeReference(i::Isolate* isolate, i::Object** obj) { 494 i::Object** V8::GlobalizeReference(i::Isolate* isolate, i::Object** obj) {
502 LOG_API(isolate, "Persistent::New"); 495 LOG_API(isolate, "Persistent::New");
503 i::Handle<i::Object> result = isolate->global_handles()->Create(*obj); 496 i::Handle<i::Object> result = isolate->global_handles()->Create(*obj);
504 #ifdef DEBUG 497 #ifdef DEBUG
505 (*obj)->ObjectVerify(); 498 (*obj)->ObjectVerify();
506 #endif // DEBUG 499 #endif // DEBUG
507 return result.location(); 500 return result.location();
(...skipping 4550 matching lines...) Expand 10 before | Expand all | Expand 10 after
5058 void v8::V8::SetEntropySource(EntropySource entropy_source) { 5051 void v8::V8::SetEntropySource(EntropySource entropy_source) {
5059 base::RandomNumberGenerator::SetEntropySource(entropy_source); 5052 base::RandomNumberGenerator::SetEntropySource(entropy_source);
5060 } 5053 }
5061 5054
5062 5055
5063 void v8::V8::SetReturnAddressLocationResolver( 5056 void v8::V8::SetReturnAddressLocationResolver(
5064 ReturnAddressLocationResolver return_address_resolver) { 5057 ReturnAddressLocationResolver return_address_resolver) {
5065 i::V8::SetReturnAddressLocationResolver(return_address_resolver); 5058 i::V8::SetReturnAddressLocationResolver(return_address_resolver);
5066 } 5059 }
5067 5060
5068
5069 bool v8::V8::SetFunctionEntryHook(Isolate* ext_isolate,
5070 FunctionEntryHook entry_hook) {
5071 DCHECK(ext_isolate != NULL);
5072 DCHECK(entry_hook != NULL);
5073
5074 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(ext_isolate);
5075
5076 // The entry hook can only be set before the Isolate is initialized, as
5077 // otherwise the Isolate's code stubs generated at initialization won't
5078 // contain entry hooks.
5079 if (isolate->IsInitialized())
5080 return false;
5081
5082 // Setting an entry hook is a one-way operation, once set, it cannot be
5083 // changed or unset.
5084 if (isolate->function_entry_hook() != NULL)
5085 return false;
5086
5087 isolate->set_function_entry_hook(entry_hook);
5088 return true;
5089 }
5090
5091
5092 void v8::V8::SetJitCodeEventHandler(
5093 JitCodeEventOptions options, JitCodeEventHandler event_handler) {
5094 i::Isolate* isolate = i::Isolate::Current();
5095 // Ensure that logging is initialized for our isolate.
5096 isolate->InitializeLoggingAndCounters();
5097 isolate->logger()->SetCodeEventHandler(options, event_handler);
5098 }
5099
5100 void v8::V8::SetArrayBufferAllocator( 5061 void v8::V8::SetArrayBufferAllocator(
5101 ArrayBuffer::Allocator* allocator) { 5062 ArrayBuffer::Allocator* allocator) {
5102 if (!Utils::ApiCheck(i::V8::ArrayBufferAllocator() == NULL, 5063 if (!Utils::ApiCheck(i::V8::ArrayBufferAllocator() == NULL,
5103 "v8::V8::SetArrayBufferAllocator", 5064 "v8::V8::SetArrayBufferAllocator",
5104 "ArrayBufferAllocator might only be set once")) 5065 "ArrayBufferAllocator might only be set once"))
5105 return; 5066 return;
5106 i::V8::SetArrayBufferAllocator(allocator); 5067 i::V8::SetArrayBufferAllocator(allocator);
5107 } 5068 }
5108 5069
5109 5070
(...skipping 1499 matching lines...) Expand 10 before | Expand all | Expand 10 after
6609 i::Isolate* isolate = new i::Isolate(); 6570 i::Isolate* isolate = new i::Isolate();
6610 Isolate* v8_isolate = reinterpret_cast<Isolate*>(isolate); 6571 Isolate* v8_isolate = reinterpret_cast<Isolate*>(isolate);
6611 if (params.entry_hook) { 6572 if (params.entry_hook) {
6612 isolate->set_function_entry_hook(params.entry_hook); 6573 isolate->set_function_entry_hook(params.entry_hook);
6613 } 6574 }
6614 if (params.code_event_handler) { 6575 if (params.code_event_handler) {
6615 isolate->InitializeLoggingAndCounters(); 6576 isolate->InitializeLoggingAndCounters();
6616 isolate->logger()->SetCodeEventHandler(kJitCodeEventDefault, 6577 isolate->logger()->SetCodeEventHandler(kJitCodeEventDefault,
6617 params.code_event_handler); 6578 params.code_event_handler);
6618 } 6579 }
6619 SetResourceConstraints(v8_isolate, 6580 SetResourceConstraints(isolate, params.constraints);
6620 const_cast<ResourceConstraints*>(&params.constraints));
6621 if (params.enable_serializer) { 6581 if (params.enable_serializer) {
6622 isolate->enable_serializer(); 6582 isolate->enable_serializer();
6623 } 6583 }
6624 // TODO(jochen): Once we got rid of Isolate::Current(), we can remove this. 6584 // TODO(jochen): Once we got rid of Isolate::Current(), we can remove this.
6625 Isolate::Scope isolate_scope(v8_isolate); 6585 Isolate::Scope isolate_scope(v8_isolate);
6626 if (params.entry_hook || !i::Snapshot::Initialize(isolate)) { 6586 if (params.entry_hook || !i::Snapshot::Initialize(isolate)) {
6627 // If the isolate has a function entry hook, it needs to re-build all its 6587 // If the isolate has a function entry hook, it needs to re-build all its
6628 // code stubs with entry hooks embedded, so don't deserialize a snapshot. 6588 // code stubs with entry hooks embedded, so don't deserialize a snapshot.
6629 isolate->Init(NULL); 6589 isolate->Init(NULL);
6630 } 6590 }
(...skipping 1064 matching lines...) Expand 10 before | Expand all | Expand 10 after
7695 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); 7655 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate());
7696 Address callback_address = 7656 Address callback_address =
7697 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 7657 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
7698 VMState<EXTERNAL> state(isolate); 7658 VMState<EXTERNAL> state(isolate);
7699 ExternalCallbackScope call_scope(isolate, callback_address); 7659 ExternalCallbackScope call_scope(isolate, callback_address);
7700 callback(info); 7660 callback(info);
7701 } 7661 }
7702 7662
7703 7663
7704 } } // namespace v8::internal 7664 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « include/v8.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698