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

Side by Side Diff: src/builtins.h

Issue 113634: Propagate information on whether a non function was called as constructor or not (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 7 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/bootstrapper.cc ('k') | src/builtins.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 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 24 matching lines...) Expand all
35 V(Illegal) \ 35 V(Illegal) \
36 \ 36 \
37 V(EmptyFunction) \ 37 V(EmptyFunction) \
38 \ 38 \
39 V(ArrayCode) \ 39 V(ArrayCode) \
40 \ 40 \
41 V(ArrayPush) \ 41 V(ArrayPush) \
42 V(ArrayPop) \ 42 V(ArrayPop) \
43 \ 43 \
44 V(HandleApiCall) \ 44 V(HandleApiCall) \
45 V(HandleApiCallAsFunction) 45 V(HandleApiCallAsFunction) \
46 V(HandleApiCallAsConstructor)
46 47
47 48
48 // Define list of builtins implemented in assembly. 49 // Define list of builtins implemented in assembly.
49 #define BUILTIN_LIST_A(V) \ 50 #define BUILTIN_LIST_A(V) \
50 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED) \ 51 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED) \
51 V(JSConstructCall, BUILTIN, UNINITIALIZED) \ 52 V(JSConstructCall, BUILTIN, UNINITIALIZED) \
52 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED) \ 53 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED) \
53 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED) \ 54 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED) \
54 \ 55 \
55 V(LoadIC_Miss, BUILTIN, UNINITIALIZED) \ 56 V(LoadIC_Miss, BUILTIN, UNINITIALIZED) \
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 V(StubNoRegisters_DebugBreak, BUILTIN, DEBUG_BREAK) \ 93 V(StubNoRegisters_DebugBreak, BUILTIN, DEBUG_BREAK) \
93 V(LoadIC_DebugBreak, LOAD_IC, DEBUG_BREAK) \ 94 V(LoadIC_DebugBreak, LOAD_IC, DEBUG_BREAK) \
94 V(KeyedLoadIC_DebugBreak, KEYED_LOAD_IC, DEBUG_BREAK) \ 95 V(KeyedLoadIC_DebugBreak, KEYED_LOAD_IC, DEBUG_BREAK) \
95 V(StoreIC_DebugBreak, STORE_IC, DEBUG_BREAK) \ 96 V(StoreIC_DebugBreak, STORE_IC, DEBUG_BREAK) \
96 V(KeyedStoreIC_DebugBreak, KEYED_STORE_IC, DEBUG_BREAK) 97 V(KeyedStoreIC_DebugBreak, KEYED_STORE_IC, DEBUG_BREAK)
97 #else 98 #else
98 #define BUILTIN_LIST_DEBUG_A(V) 99 #define BUILTIN_LIST_DEBUG_A(V)
99 #endif 100 #endif
100 101
101 // Define list of builtins implemented in JavaScript. 102 // Define list of builtins implemented in JavaScript.
102 #define BUILTINS_LIST_JS(V) \ 103 #define BUILTINS_LIST_JS(V) \
103 V(EQUALS, 1) \ 104 V(EQUALS, 1) \
104 V(STRICT_EQUALS, 1) \ 105 V(STRICT_EQUALS, 1) \
105 V(COMPARE, 2) \ 106 V(COMPARE, 2) \
106 V(ADD, 1) \ 107 V(ADD, 1) \
107 V(SUB, 1) \ 108 V(SUB, 1) \
108 V(MUL, 1) \ 109 V(MUL, 1) \
109 V(DIV, 1) \ 110 V(DIV, 1) \
110 V(MOD, 1) \ 111 V(MOD, 1) \
111 V(BIT_OR, 1) \ 112 V(BIT_OR, 1) \
112 V(BIT_AND, 1) \ 113 V(BIT_AND, 1) \
113 V(BIT_XOR, 1) \ 114 V(BIT_XOR, 1) \
114 V(UNARY_MINUS, 0) \ 115 V(UNARY_MINUS, 0) \
115 V(BIT_NOT, 0) \ 116 V(BIT_NOT, 0) \
116 V(SHL, 1) \ 117 V(SHL, 1) \
117 V(SAR, 1) \ 118 V(SAR, 1) \
118 V(SHR, 1) \ 119 V(SHR, 1) \
119 V(DELETE, 1) \ 120 V(DELETE, 1) \
120 V(IN, 1) \ 121 V(IN, 1) \
121 V(INSTANCE_OF, 1) \ 122 V(INSTANCE_OF, 1) \
122 V(GET_KEYS, 0) \ 123 V(GET_KEYS, 0) \
123 V(FILTER_KEY, 1) \ 124 V(FILTER_KEY, 1) \
124 V(CALL_NON_FUNCTION, 0) \ 125 V(CALL_NON_FUNCTION, 0) \
125 V(TO_OBJECT, 0) \ 126 V(CALL_NON_FUNCTION_AS_CONSTRUCTOR, 0) \
126 V(TO_NUMBER, 0) \ 127 V(TO_OBJECT, 0) \
127 V(TO_STRING, 0) \ 128 V(TO_NUMBER, 0) \
128 V(STRING_ADD_LEFT, 1) \ 129 V(TO_STRING, 0) \
129 V(STRING_ADD_RIGHT, 1) \ 130 V(STRING_ADD_LEFT, 1) \
130 V(APPLY_PREPARE, 1) \ 131 V(STRING_ADD_RIGHT, 1) \
132 V(APPLY_PREPARE, 1) \
131 V(APPLY_OVERFLOW, 1) 133 V(APPLY_OVERFLOW, 1)
132 134
133 135
134 class ObjectVisitor; 136 class ObjectVisitor;
135 137
136 138
137 class Builtins : public AllStatic { 139 class Builtins : public AllStatic {
138 public: 140 public:
139 // Generate all builtin code objects. Should be called once during 141 // Generate all builtin code objects. Should be called once during
140 // VM initialization. 142 // VM initialization.
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); 213 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm);
212 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); 214 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm);
213 215
214 static void Generate_FunctionCall(MacroAssembler* masm); 216 static void Generate_FunctionCall(MacroAssembler* masm);
215 static void Generate_FunctionApply(MacroAssembler* masm); 217 static void Generate_FunctionApply(MacroAssembler* masm);
216 }; 218 };
217 219
218 } } // namespace v8::internal 220 } } // namespace v8::internal
219 221
220 #endif // V8_BUILTINS_H_ 222 #endif // V8_BUILTINS_H_
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | src/builtins.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698