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

Side by Side Diff: src/ic.cc

Issue 6580030: Get property may throw an exception thanks to JS accessors. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 9 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 | « no previous file | test/mjsunit/regress/regress-1172-bis.js » ('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 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 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
797 set_target(Code::cast(code)); 797 set_target(Code::cast(code));
798 #ifdef DEBUG 798 #ifdef DEBUG
799 TraceIC( 799 TraceIC(
800 "KeyedCallIC", key, state, target(), in_loop ? " (in-loop)" : ""); 800 "KeyedCallIC", key, state, target(), in_loop ? " (in-loop)" : "");
801 #endif 801 #endif
802 } 802 }
803 } 803 }
804 804
805 HandleScope scope; 805 HandleScope scope;
806 Handle<Object> result = GetProperty(object, key); 806 Handle<Object> result = GetProperty(object, key);
807 RETURN_IF_EMPTY_HANDLE(result);
Martin Maly 2011/02/24 17:33:49 Of course ... with my recent change the exceptions
807 808
808 // Make receiver an object if the callee requires it. Strict mode or builtin 809 // Make receiver an object if the callee requires it. Strict mode or builtin
809 // functions do not wrap the receiver, non-strict functions and objects 810 // functions do not wrap the receiver, non-strict functions and objects
810 // called as functions do. 811 // called as functions do.
811 ReceiverToObjectIfRequired(result, object); 812 ReceiverToObjectIfRequired(result, object);
812 813
813 if (result->IsJSFunction()) return *result; 814 if (result->IsJSFunction()) return *result;
814 result = Handle<Object>(TryCallAsFunction(*result)); 815 result = Handle<Object>(TryCallAsFunction(*result));
815 if (result->IsJSFunction()) return *result; 816 if (result->IsJSFunction()) return *result;
816 817
(...skipping 1480 matching lines...) Expand 10 before | Expand all | Expand 10 after
2297 #undef ADDR 2298 #undef ADDR
2298 }; 2299 };
2299 2300
2300 2301
2301 Address IC::AddressFromUtilityId(IC::UtilityId id) { 2302 Address IC::AddressFromUtilityId(IC::UtilityId id) {
2302 return IC_utilities[id]; 2303 return IC_utilities[id];
2303 } 2304 }
2304 2305
2305 2306
2306 } } // namespace v8::internal 2307 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | test/mjsunit/regress/regress-1172-bis.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698