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

Side by Side Diff: bleeding_edge/src/stub-cache.cc

Issue 491075: Try to make the contextuality check in the IC code faster... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 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 | Annotate | Revision Log
« no previous file with comments | « bleeding_edge/src/ic.cc ('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 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 813 matching lines...) Expand 10 before | Expand all | Expand 10 after
824 return Heap::no_interceptor_result_sentinel(); 824 return Heap::no_interceptor_result_sentinel();
825 } 825 }
826 826
827 827
828 static Object* ThrowReferenceError(String* name) { 828 static Object* ThrowReferenceError(String* name) {
829 // If the load is non-contextual, just return the undefined result. 829 // If the load is non-contextual, just return the undefined result.
830 // Note that both keyed and non-keyed loads may end up here, so we 830 // Note that both keyed and non-keyed loads may end up here, so we
831 // can't use either LoadIC or KeyedLoadIC constructors. 831 // can't use either LoadIC or KeyedLoadIC constructors.
832 IC ic(IC::NO_EXTRA_FRAME); 832 IC ic(IC::NO_EXTRA_FRAME);
833 ASSERT(ic.target()->is_load_stub() || ic.target()->is_keyed_load_stub()); 833 ASSERT(ic.target()->is_load_stub() || ic.target()->is_keyed_load_stub());
834 if (!ic.is_contextual()) return Heap::undefined_value(); 834 if (!ic.SlowIsContextual()) return Heap::undefined_value();
835 835
836 // Throw a reference error. 836 // Throw a reference error.
837 HandleScope scope; 837 HandleScope scope;
838 Handle<String> name_handle(name); 838 Handle<String> name_handle(name);
839 Handle<Object> error = 839 Handle<Object> error =
840 Factory::NewReferenceError("not_defined", 840 Factory::NewReferenceError("not_defined",
841 HandleVector(&name_handle, 1)); 841 HandleVector(&name_handle, 1));
842 return Top::Throw(*error); 842 return Top::Throw(*error);
843 } 843 }
844 844
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
1099 if (!result->IsFailure()) { 1099 if (!result->IsFailure()) {
1100 Code* code = Code::cast(result); 1100 Code* code = Code::cast(result);
1101 USE(code); 1101 USE(code);
1102 LOG(CodeCreateEvent(Logger::STUB_TAG, code, "ConstructStub")); 1102 LOG(CodeCreateEvent(Logger::STUB_TAG, code, "ConstructStub"));
1103 } 1103 }
1104 return result; 1104 return result;
1105 } 1105 }
1106 1106
1107 1107
1108 } } // namespace v8::internal 1108 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « bleeding_edge/src/ic.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698