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

Side by Side Diff: src/runtime.h

Issue 7356013: Implement Object.prototype.hasOwnProperty in generated code. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // This macro should only be used by the macro RUNTIME_FUNCTION_LIST. 42 // This macro should only be used by the macro RUNTIME_FUNCTION_LIST.
43 43
44 // WARNING: RUNTIME_FUNCTION_LIST_ALWAYS_* is a very large macro that caused 44 // WARNING: RUNTIME_FUNCTION_LIST_ALWAYS_* is a very large macro that caused
45 // MSVC Intellisense to crash. It was broken into two macros to work around 45 // MSVC Intellisense to crash. It was broken into two macros to work around
46 // this problem. Please avoid large recursive macros whenever possible. 46 // this problem. Please avoid large recursive macros whenever possible.
47 #define RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \ 47 #define RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \
48 /* Property access */ \ 48 /* Property access */ \
49 F(GetProperty, 2, 1) \ 49 F(GetProperty, 2, 1) \
50 F(KeyedGetProperty, 2, 1) \ 50 F(KeyedGetProperty, 2, 1) \
51 F(DeleteProperty, 3, 1) \ 51 F(DeleteProperty, 3, 1) \
52 F(HasLocalProperty, 2, 1) \ 52 F(HasOwnProperty, 2, 1) \
53 F(HasProperty, 2, 1) \ 53 F(HasProperty, 2, 1) \
54 F(HasElement, 2, 1) \ 54 F(HasElement, 2, 1) \
55 F(IsPropertyEnumerable, 2, 1) \ 55 F(IsPropertyEnumerable, 2, 1) \
56 F(GetPropertyNames, 1, 1) \ 56 F(GetPropertyNames, 1, 1) \
57 F(GetPropertyNamesFast, 1, 1) \ 57 F(GetPropertyNamesFast, 1, 1) \
58 F(GetLocalPropertyNames, 1, 1) \ 58 F(GetLocalPropertyNames, 1, 1) \
59 F(GetLocalElementNames, 1, 1) \ 59 F(GetLocalElementNames, 1, 1) \
60 F(GetInterceptorInfo, 1, 1) \ 60 F(GetInterceptorInfo, 1, 1) \
61 F(GetNamedInterceptorPropertyNames, 1, 1) \ 61 F(GetNamedInterceptorPropertyNames, 1, 1) \
62 F(GetIndexedInterceptorElementNames, 1, 1) \ 62 F(GetIndexedInterceptorElementNames, 1, 1) \
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 457
458 // ---------------------------------------------------------------------------- 458 // ----------------------------------------------------------------------------
459 // INLINE_FUNCTION_LIST defines all inlined functions accessed 459 // INLINE_FUNCTION_LIST defines all inlined functions accessed
460 // with a native call of the form %_name from within JS code. 460 // with a native call of the form %_name from within JS code.
461 // Entries have the form F(name, number of arguments, number of return values). 461 // Entries have the form F(name, number of arguments, number of return values).
462 #define INLINE_FUNCTION_LIST(F) \ 462 #define INLINE_FUNCTION_LIST(F) \
463 F(IsSmi, 1, 1) \ 463 F(IsSmi, 1, 1) \
464 F(IsNonNegativeSmi, 1, 1) \ 464 F(IsNonNegativeSmi, 1, 1) \
465 F(IsArray, 1, 1) \ 465 F(IsArray, 1, 1) \
466 F(IsRegExp, 1, 1) \ 466 F(IsRegExp, 1, 1) \
467 F(HasOwnProperty, 2, 1) \
467 F(CallFunction, -1 /* receiver + n args + function */, 1) \ 468 F(CallFunction, -1 /* receiver + n args + function */, 1) \
468 F(ArgumentsLength, 0, 1) \ 469 F(ArgumentsLength, 0, 1) \
469 F(Arguments, 1, 1) \ 470 F(Arguments, 1, 1) \
470 F(ValueOf, 1, 1) \ 471 F(ValueOf, 1, 1) \
471 F(SetValueOf, 2, 1) \ 472 F(SetValueOf, 2, 1) \
472 F(StringCharFromCode, 1, 1) \ 473 F(StringCharFromCode, 1, 1) \
473 F(StringCharAt, 2, 1) \ 474 F(StringCharAt, 2, 1) \
474 F(ObjectEquals, 2, 1) \ 475 F(ObjectEquals, 2, 1) \
475 F(RandomHeapNumber, 0, 1) \ 476 F(RandomHeapNumber, 0, 1) \
476 F(IsObject, 1, 1) \ 477 F(IsObject, 1, 1) \
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 Handle<Script> script, 656 Handle<Script> script,
656 int position); 657 int position);
657 658
658 // Helper functions used stubs. 659 // Helper functions used stubs.
659 static void PerformGC(Object* result); 660 static void PerformGC(Object* result);
660 }; 661 };
661 662
662 } } // namespace v8::internal 663 } } // namespace v8::internal
663 664
664 #endif // V8_RUNTIME_H_ 665 #endif // V8_RUNTIME_H_
OLDNEW
« src/ia32/code-stubs-ia32.cc ('K') | « src/json.js ('k') | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698