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

Side by Side Diff: src/ic.cc

Issue 412483003: Only to the relevant checks in LoadFunctionPrototype (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « src/ia32/macro-assembler-ia32.cc ('k') | src/x64/macro-assembler-x64.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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api.h" 8 #include "src/api.h"
9 #include "src/arguments.h" 9 #include "src/arguments.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 919 matching lines...) Expand 10 before | Expand all | Expand 10 after
930 return string_length_stub.GetCode(); 930 return string_length_stub.GetCode();
931 } else { 931 } else {
932 KeyedStringLengthStub string_length_stub(isolate()); 932 KeyedStringLengthStub string_length_stub(isolate());
933 return string_length_stub.GetCode(); 933 return string_length_stub.GetCode();
934 } 934 }
935 } 935 }
936 936
937 // Use specialized code for getting prototype of functions. 937 // Use specialized code for getting prototype of functions.
938 if (object->IsJSFunction() && 938 if (object->IsJSFunction() &&
939 String::Equals(isolate()->factory()->prototype_string(), name) && 939 String::Equals(isolate()->factory()->prototype_string(), name) &&
940 Handle<JSFunction>::cast(object)->should_have_prototype()) { 940 Handle<JSFunction>::cast(object)->should_have_prototype() &&
941 !Handle<JSFunction>::cast(object)->map()->has_non_instance_prototype()) {
941 Handle<Code> stub; 942 Handle<Code> stub;
942 FunctionPrototypeStub function_prototype_stub(isolate(), kind()); 943 FunctionPrototypeStub function_prototype_stub(isolate(), kind());
943 return function_prototype_stub.GetCode(); 944 return function_prototype_stub.GetCode();
944 } 945 }
945 946
946 Handle<HeapType> type = receiver_type(); 947 Handle<HeapType> type = receiver_type();
947 Handle<JSObject> holder(lookup->holder()); 948 Handle<JSObject> holder(lookup->holder());
948 bool receiver_is_holder = object.is_identical_to(holder); 949 bool receiver_is_holder = object.is_identical_to(holder);
949 LoadStubCompiler compiler(isolate(), kNoExtraICState, cache_holder, kind()); 950 LoadStubCompiler compiler(isolate(), kNoExtraICState, cache_holder, kind());
950 951
(...skipping 2089 matching lines...) Expand 10 before | Expand all | Expand 10 after
3040 #undef ADDR 3041 #undef ADDR
3041 }; 3042 };
3042 3043
3043 3044
3044 Address IC::AddressFromUtilityId(IC::UtilityId id) { 3045 Address IC::AddressFromUtilityId(IC::UtilityId id) {
3045 return IC_utilities[id]; 3046 return IC_utilities[id];
3046 } 3047 }
3047 3048
3048 3049
3049 } } // namespace v8::internal 3050 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/ia32/macro-assembler-ia32.cc ('k') | src/x64/macro-assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698