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

Side by Side Diff: src/builtins.h

Issue 39973003: Merge bleeding_edge. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: again Created 7 years, 2 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 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 V(Quinquagenarian, A) \ 43 V(Quinquagenarian, A) \
44 V(Sexagenarian, A) \ 44 V(Sexagenarian, A) \
45 V(Septuagenarian, A) \ 45 V(Septuagenarian, A) \
46 V(Octogenarian, A) 46 V(Octogenarian, A)
47 47
48 #define CODE_AGE_LIST_IGNORE_ARG(X, V) V(X) 48 #define CODE_AGE_LIST_IGNORE_ARG(X, V) V(X)
49 49
50 #define CODE_AGE_LIST(V) \ 50 #define CODE_AGE_LIST(V) \
51 CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V) 51 CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V)
52 52
53 #define CODE_AGE_LIST_WITH_NO_AGE(V) \
54 V(NoAge) \
55 CODE_AGE_LIST_WITH_ARG(CODE_AGE_LIST_IGNORE_ARG, V)
56
53 #define DECLARE_CODE_AGE_BUILTIN(C, V) \ 57 #define DECLARE_CODE_AGE_BUILTIN(C, V) \
54 V(Make##C##CodeYoungAgainOddMarking, BUILTIN, \ 58 V(Make##C##CodeYoungAgainOddMarking, BUILTIN, \
55 UNINITIALIZED, Code::kNoExtraICState) \ 59 UNINITIALIZED, Code::kNoExtraICState) \
56 V(Make##C##CodeYoungAgainEvenMarking, BUILTIN, \ 60 V(Make##C##CodeYoungAgainEvenMarking, BUILTIN, \
57 UNINITIALIZED, Code::kNoExtraICState) 61 UNINITIALIZED, Code::kNoExtraICState)
58 62
59 63
60 // Define list of builtins implemented in C++. 64 // Define list of builtins implemented in C++.
61 #define BUILTIN_LIST_C(V) \ 65 #define BUILTIN_LIST_C(V) \
62 V(Illegal, NO_EXTRA_ARGUMENTS) \ 66 V(Illegal, NO_EXTRA_ARGUMENTS) \
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 Code::kNoExtraICState) \ 114 Code::kNoExtraICState) \
111 \ 115 \
112 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, \ 116 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, \
113 Code::kNoExtraICState) \ 117 Code::kNoExtraICState) \
114 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, \ 118 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, \
115 Code::kNoExtraICState) \ 119 Code::kNoExtraICState) \
116 V(KeyedLoadIC_MissForceGeneric, BUILTIN, UNINITIALIZED, \ 120 V(KeyedLoadIC_MissForceGeneric, BUILTIN, UNINITIALIZED, \
117 Code::kNoExtraICState) \ 121 Code::kNoExtraICState) \
118 V(StoreIC_Miss, BUILTIN, UNINITIALIZED, \ 122 V(StoreIC_Miss, BUILTIN, UNINITIALIZED, \
119 Code::kNoExtraICState) \ 123 Code::kNoExtraICState) \
120 V(StoreIC_Slow, BUILTIN, UNINITIALIZED, \
121 Code::kNoExtraICState) \
122 V(KeyedStoreIC_Miss, BUILTIN, UNINITIALIZED, \ 124 V(KeyedStoreIC_Miss, BUILTIN, UNINITIALIZED, \
123 Code::kNoExtraICState) \ 125 Code::kNoExtraICState) \
124 V(KeyedStoreIC_MissForceGeneric, BUILTIN, UNINITIALIZED, \ 126 V(KeyedStoreIC_MissForceGeneric, BUILTIN, UNINITIALIZED, \
125 Code::kNoExtraICState) \ 127 Code::kNoExtraICState) \
126 V(KeyedStoreIC_Slow, BUILTIN, UNINITIALIZED, \
127 Code::kNoExtraICState) \
128 V(LoadIC_Initialize, LOAD_IC, UNINITIALIZED, \ 128 V(LoadIC_Initialize, LOAD_IC, UNINITIALIZED, \
129 Code::kNoExtraICState) \ 129 Code::kNoExtraICState) \
130 V(LoadIC_PreMonomorphic, LOAD_IC, PREMONOMORPHIC, \ 130 V(LoadIC_PreMonomorphic, LOAD_IC, PREMONOMORPHIC, \
131 Code::kNoExtraICState) \ 131 Code::kNoExtraICState) \
132 V(LoadIC_Megamorphic, LOAD_IC, MEGAMORPHIC, \ 132 V(LoadIC_Megamorphic, LOAD_IC, MEGAMORPHIC, \
133 Code::kNoExtraICState) \ 133 Code::kNoExtraICState) \
134 V(LoadIC_Getter_ForDeopt, LOAD_IC, MONOMORPHIC, \ 134 V(LoadIC_Getter_ForDeopt, LOAD_IC, MONOMORPHIC, \
135 Code::kNoExtraICState) \ 135 Code::kNoExtraICState) \
136 \ 136 \
137 V(KeyedLoadIC_Initialize, KEYED_LOAD_IC, UNINITIALIZED, \ 137 V(KeyedLoadIC_Initialize, KEYED_LOAD_IC, UNINITIALIZED, \
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 Code::kNoExtraICState) \ 201 Code::kNoExtraICState) \
202 \ 202 \
203 V(OnStackReplacement, BUILTIN, UNINITIALIZED, \ 203 V(OnStackReplacement, BUILTIN, UNINITIALIZED, \
204 Code::kNoExtraICState) \ 204 Code::kNoExtraICState) \
205 V(InterruptCheck, BUILTIN, UNINITIALIZED, \ 205 V(InterruptCheck, BUILTIN, UNINITIALIZED, \
206 Code::kNoExtraICState) \ 206 Code::kNoExtraICState) \
207 V(OsrAfterStackCheck, BUILTIN, UNINITIALIZED, \ 207 V(OsrAfterStackCheck, BUILTIN, UNINITIALIZED, \
208 Code::kNoExtraICState) \ 208 Code::kNoExtraICState) \
209 V(StackCheck, BUILTIN, UNINITIALIZED, \ 209 V(StackCheck, BUILTIN, UNINITIALIZED, \
210 Code::kNoExtraICState) \ 210 Code::kNoExtraICState) \
211 \
212 V(MarkCodeAsExecutedOnce, BUILTIN, UNINITIALIZED, \
213 Code::kNoExtraICState) \
214 V(MarkCodeAsExecutedTwice, BUILTIN, UNINITIALIZED, \
215 Code::kNoExtraICState) \
211 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V) 216 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V)
212 217
213 // Define list of builtin handlers implemented in assembly. 218 // Define list of builtin handlers implemented in assembly.
214 #define BUILTIN_LIST_H(V) \ 219 #define BUILTIN_LIST_H(V) \
215 V(LoadIC_Slow, LOAD_IC, Code::kNoExtraICState) \ 220 V(LoadIC_Slow, LOAD_IC, Code::kNoExtraICState) \
216 V(KeyedLoadIC_Slow, KEYED_LOAD_IC, Code::kNoExtraICState) \ 221 V(KeyedLoadIC_Slow, KEYED_LOAD_IC, Code::kNoExtraICState) \
222 V(StoreIC_Slow, STORE_IC, Code::kNoExtraICState) \
223 V(StoreIC_Slow_Strict, STORE_IC, kStrictMode) \
224 V(KeyedStoreIC_Slow, KEYED_STORE_IC, Code::kNoExtraICState)\
225 V(KeyedStoreIC_Slow_Strict, KEYED_STORE_IC, kStrictMode) \
217 V(LoadIC_Normal, LOAD_IC, Code::kNoExtraICState) \ 226 V(LoadIC_Normal, LOAD_IC, Code::kNoExtraICState) \
218 V(StoreIC_Normal, STORE_IC, Code::kNoExtraICState) \ 227 V(StoreIC_Normal, STORE_IC, Code::kNoExtraICState) \
219 V(StoreIC_Normal_Strict, STORE_IC, kStrictMode) 228 V(StoreIC_Normal_Strict, STORE_IC, kStrictMode)
220 229
221 #ifdef ENABLE_DEBUGGER_SUPPORT 230 #ifdef ENABLE_DEBUGGER_SUPPORT
222 // Define list of builtins used by the debugger implemented in assembly. 231 // Define list of builtins used by the debugger implemented in assembly.
223 #define BUILTIN_LIST_DEBUG_A(V) \ 232 #define BUILTIN_LIST_DEBUG_A(V) \
224 V(Return_DebugBreak, BUILTIN, DEBUG_STUB, \ 233 V(Return_DebugBreak, BUILTIN, DEBUG_STUB, \
225 DEBUG_BREAK) \ 234 DEBUG_BREAK) \
226 V(CallFunctionStub_DebugBreak, BUILTIN, DEBUG_STUB, \ 235 V(CallFunctionStub_DebugBreak, BUILTIN, DEBUG_STUB, \
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 static void Generate_StackCheck(MacroAssembler* masm); 415 static void Generate_StackCheck(MacroAssembler* masm);
407 416
408 #define DECLARE_CODE_AGE_BUILTIN_GENERATOR(C) \ 417 #define DECLARE_CODE_AGE_BUILTIN_GENERATOR(C) \
409 static void Generate_Make##C##CodeYoungAgainEvenMarking( \ 418 static void Generate_Make##C##CodeYoungAgainEvenMarking( \
410 MacroAssembler* masm); \ 419 MacroAssembler* masm); \
411 static void Generate_Make##C##CodeYoungAgainOddMarking( \ 420 static void Generate_Make##C##CodeYoungAgainOddMarking( \
412 MacroAssembler* masm); 421 MacroAssembler* masm);
413 CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR) 422 CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR)
414 #undef DECLARE_CODE_AGE_BUILTIN_GENERATOR 423 #undef DECLARE_CODE_AGE_BUILTIN_GENERATOR
415 424
425 static void Generate_MarkCodeAsExecutedOnce(MacroAssembler* masm);
426 static void Generate_MarkCodeAsExecutedTwice(MacroAssembler* masm);
427
416 static void InitBuiltinFunctionTable(); 428 static void InitBuiltinFunctionTable();
417 429
418 bool initialized_; 430 bool initialized_;
419 431
420 friend class BuiltinFunctionTable; 432 friend class BuiltinFunctionTable;
421 friend class Isolate; 433 friend class Isolate;
422 434
423 DISALLOW_COPY_AND_ASSIGN(Builtins); 435 DISALLOW_COPY_AND_ASSIGN(Builtins);
424 }; 436 };
425 437
426 } } // namespace v8::internal 438 } } // namespace v8::internal
427 439
428 #endif // V8_BUILTINS_H_ 440 #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