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

Side by Side Diff: src/api.cc

Issue 1218403002: Increment descriptor array slack for prototypes by a constant rather than 50% (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: More comments Created 5 years, 5 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
« no previous file with comments | « no previous file | src/api-natives.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 // 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 886 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 void NeanderArray::set(int index, i::Object* value) { 897 void NeanderArray::set(int index, i::Object* value) {
898 if (index < 0 || index >= this->length()) return; 898 if (index < 0 || index >= this->length()) return;
899 obj_.set(index + 1, value); 899 obj_.set(index + 1, value);
900 } 900 }
901 901
902 902
903 // --- T e m p l a t e --- 903 // --- T e m p l a t e ---
904 904
905 905
906 static void InitializeTemplate(i::Handle<i::TemplateInfo> that, int type) { 906 static void InitializeTemplate(i::Handle<i::TemplateInfo> that, int type) {
907 that->set_number_of_properties(0);
907 that->set_tag(i::Smi::FromInt(type)); 908 that->set_tag(i::Smi::FromInt(type));
908 } 909 }
909 910
910 911
911 void Template::Set(v8::Handle<Name> name, 912 void Template::Set(v8::Handle<Name> name,
912 v8::Handle<Data> value, 913 v8::Handle<Data> value,
913 v8::PropertyAttribute attribute) { 914 v8::PropertyAttribute attribute) {
914 auto templ = Utils::OpenHandle(this); 915 auto templ = Utils::OpenHandle(this);
915 i::Isolate* isolate = templ->GetIsolate(); 916 i::Isolate* isolate = templ->GetIsolate();
916 ENTER_V8(isolate); 917 ENTER_V8(isolate);
(...skipping 22 matching lines...) Expand all
939 i::ApiNatives::AddAccessorProperty( 940 i::ApiNatives::AddAccessorProperty(
940 isolate, templ, Utils::OpenHandle(*name), 941 isolate, templ, Utils::OpenHandle(*name),
941 Utils::OpenHandle(*getter, true), Utils::OpenHandle(*setter, true), 942 Utils::OpenHandle(*getter, true), Utils::OpenHandle(*setter, true),
942 static_cast<PropertyAttributes>(attribute)); 943 static_cast<PropertyAttributes>(attribute));
943 } 944 }
944 945
945 946
946 // --- F u n c t i o n T e m p l a t e --- 947 // --- F u n c t i o n T e m p l a t e ---
947 static void InitializeFunctionTemplate( 948 static void InitializeFunctionTemplate(
948 i::Handle<i::FunctionTemplateInfo> info) { 949 i::Handle<i::FunctionTemplateInfo> info) {
949 info->set_tag(i::Smi::FromInt(Consts::FUNCTION_TEMPLATE)); 950 InitializeTemplate(info, Consts::FUNCTION_TEMPLATE);
950 info->set_flag(0); 951 info->set_flag(0);
951 } 952 }
952 953
953 954
954 Local<ObjectTemplate> FunctionTemplate::PrototypeTemplate() { 955 Local<ObjectTemplate> FunctionTemplate::PrototypeTemplate() {
955 i::Isolate* i_isolate = Utils::OpenHandle(this)->GetIsolate(); 956 i::Isolate* i_isolate = Utils::OpenHandle(this)->GetIsolate();
956 ENTER_V8(i_isolate); 957 ENTER_V8(i_isolate);
957 i::Handle<i::Object> result(Utils::OpenHandle(this)->prototype_template(), 958 i::Handle<i::Object> result(Utils::OpenHandle(this)->prototype_template(),
958 i_isolate); 959 i_isolate);
959 if (result->IsUndefined()) { 960 if (result->IsUndefined()) {
(...skipping 7477 matching lines...) Expand 10 before | Expand all | Expand 10 after
8437 Address callback_address = 8438 Address callback_address =
8438 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 8439 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
8439 VMState<EXTERNAL> state(isolate); 8440 VMState<EXTERNAL> state(isolate);
8440 ExternalCallbackScope call_scope(isolate, callback_address); 8441 ExternalCallbackScope call_scope(isolate, callback_address);
8441 callback(info); 8442 callback(info);
8442 } 8443 }
8443 8444
8444 8445
8445 } // namespace internal 8446 } // namespace internal
8446 } // namespace v8 8447 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/api-natives.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698