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

Side by Side Diff: src/builtins/builtins.h

Issue 2263533002: [builtins] Migrate DatePrototype_GetField to TurboFan builtin. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Directly call to C++ instead of runtime. Created 4 years, 3 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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_BUILTINS_BUILTINS_H_ 5 #ifndef V8_BUILTINS_BUILTINS_H_
6 #define V8_BUILTINS_BUILTINS_H_ 6 #define V8_BUILTINS_BUILTINS_H_
7 7
8 #include "src/base/flags.h" 8 #include "src/base/flags.h"
9 #include "src/handles.h" 9 #include "src/handles.h"
10 10
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 CPP(DataViewConstructor) \ 243 CPP(DataViewConstructor) \
244 CPP(DataViewConstructor_ConstructStub) \ 244 CPP(DataViewConstructor_ConstructStub) \
245 CPP(DataViewPrototypeGetBuffer) \ 245 CPP(DataViewPrototypeGetBuffer) \
246 CPP(DataViewPrototypeGetByteLength) \ 246 CPP(DataViewPrototypeGetByteLength) \
247 CPP(DataViewPrototypeGetByteOffset) \ 247 CPP(DataViewPrototypeGetByteOffset) \
248 \ 248 \
249 /* Date */ \ 249 /* Date */ \
250 CPP(DateConstructor) \ 250 CPP(DateConstructor) \
251 CPP(DateConstructor_ConstructStub) \ 251 CPP(DateConstructor_ConstructStub) \
252 /* ES6 section 20.3.4.2 Date.prototype.getDate ( ) */ \ 252 /* ES6 section 20.3.4.2 Date.prototype.getDate ( ) */ \
253 ASM(DatePrototypeGetDate) \ 253 TFJ(DatePrototypeGetDate, 1) \
254 /* ES6 section 20.3.4.3 Date.prototype.getDay ( ) */ \ 254 /* ES6 section 20.3.4.3 Date.prototype.getDay ( ) */ \
255 ASM(DatePrototypeGetDay) \ 255 TFJ(DatePrototypeGetDay, 1) \
256 /* ES6 section 20.3.4.4 Date.prototype.getFullYear ( ) */ \ 256 /* ES6 section 20.3.4.4 Date.prototype.getFullYear ( ) */ \
257 ASM(DatePrototypeGetFullYear) \ 257 TFJ(DatePrototypeGetFullYear, 1) \
258 /* ES6 section 20.3.4.5 Date.prototype.getHours ( ) */ \ 258 /* ES6 section 20.3.4.5 Date.prototype.getHours ( ) */ \
259 ASM(DatePrototypeGetHours) \ 259 TFJ(DatePrototypeGetHours, 1) \
260 /* ES6 section 20.3.4.6 Date.prototype.getMilliseconds ( ) */ \ 260 /* ES6 section 20.3.4.6 Date.prototype.getMilliseconds ( ) */ \
261 ASM(DatePrototypeGetMilliseconds) \ 261 TFJ(DatePrototypeGetMilliseconds, 1) \
262 /* ES6 section 20.3.4.7 Date.prototype.getMinutes ( ) */ \ 262 /* ES6 section 20.3.4.7 Date.prototype.getMinutes ( ) */ \
263 ASM(DatePrototypeGetMinutes) \ 263 TFJ(DatePrototypeGetMinutes, 1) \
264 /* ES6 section 20.3.4.8 Date.prototype.getMonth */ \ 264 /* ES6 section 20.3.4.8 Date.prototype.getMonth */ \
265 ASM(DatePrototypeGetMonth) \ 265 TFJ(DatePrototypeGetMonth, 1) \
266 /* ES6 section 20.3.4.9 Date.prototype.getSeconds ( ) */ \ 266 /* ES6 section 20.3.4.9 Date.prototype.getSeconds ( ) */ \
267 ASM(DatePrototypeGetSeconds) \ 267 TFJ(DatePrototypeGetSeconds, 1) \
268 /* ES6 section 20.3.4.10 Date.prototype.getTime ( ) */ \ 268 /* ES6 section 20.3.4.10 Date.prototype.getTime ( ) */ \
269 ASM(DatePrototypeGetTime) \ 269 TFJ(DatePrototypeGetTime, 1) \
270 /* ES6 section 20.3.4.11 Date.prototype.getTimezoneOffset ( ) */ \ 270 /* ES6 section 20.3.4.11 Date.prototype.getTimezoneOffset ( ) */ \
271 ASM(DatePrototypeGetTimezoneOffset) \ 271 TFJ(DatePrototypeGetTimezoneOffset, 1) \
272 /* ES6 section 20.3.4.12 Date.prototype.getUTCDate ( ) */ \ 272 /* ES6 section 20.3.4.12 Date.prototype.getUTCDate ( ) */ \
273 ASM(DatePrototypeGetUTCDate) \ 273 TFJ(DatePrototypeGetUTCDate, 1) \
274 /* ES6 section 20.3.4.13 Date.prototype.getUTCDay ( ) */ \ 274 /* ES6 section 20.3.4.13 Date.prototype.getUTCDay ( ) */ \
275 ASM(DatePrototypeGetUTCDay) \ 275 TFJ(DatePrototypeGetUTCDay, 1) \
276 /* ES6 section 20.3.4.14 Date.prototype.getUTCFullYear ( ) */ \ 276 /* ES6 section 20.3.4.14 Date.prototype.getUTCFullYear ( ) */ \
277 ASM(DatePrototypeGetUTCFullYear) \ 277 TFJ(DatePrototypeGetUTCFullYear, 1) \
278 /* ES6 section 20.3.4.15 Date.prototype.getUTCHours ( ) */ \ 278 /* ES6 section 20.3.4.15 Date.prototype.getUTCHours ( ) */ \
279 ASM(DatePrototypeGetUTCHours) \ 279 TFJ(DatePrototypeGetUTCHours, 1) \
280 /* ES6 section 20.3.4.16 Date.prototype.getUTCMilliseconds ( ) */ \ 280 /* ES6 section 20.3.4.16 Date.prototype.getUTCMilliseconds ( ) */ \
281 ASM(DatePrototypeGetUTCMilliseconds) \ 281 TFJ(DatePrototypeGetUTCMilliseconds, 1) \
282 /* ES6 section 20.3.4.17 Date.prototype.getUTCMinutes ( ) */ \ 282 /* ES6 section 20.3.4.17 Date.prototype.getUTCMinutes ( ) */ \
283 ASM(DatePrototypeGetUTCMinutes) \ 283 TFJ(DatePrototypeGetUTCMinutes, 1) \
284 /* ES6 section 20.3.4.18 Date.prototype.getUTCMonth ( ) */ \ 284 /* ES6 section 20.3.4.18 Date.prototype.getUTCMonth ( ) */ \
285 ASM(DatePrototypeGetUTCMonth) \ 285 TFJ(DatePrototypeGetUTCMonth, 1) \
286 /* ES6 section 20.3.4.19 Date.prototype.getUTCSeconds ( ) */ \ 286 /* ES6 section 20.3.4.19 Date.prototype.getUTCSeconds ( ) */ \
287 ASM(DatePrototypeGetUTCSeconds) \ 287 TFJ(DatePrototypeGetUTCSeconds, 1) \
288 CPP(DatePrototypeGetYear) \ 288 CPP(DatePrototypeGetYear) \
289 CPP(DatePrototypeSetYear) \ 289 CPP(DatePrototypeSetYear) \
290 CPP(DateNow) \ 290 CPP(DateNow) \
291 CPP(DateParse) \ 291 CPP(DateParse) \
292 CPP(DatePrototypeSetDate) \ 292 CPP(DatePrototypeSetDate) \
293 CPP(DatePrototypeSetFullYear) \ 293 CPP(DatePrototypeSetFullYear) \
294 CPP(DatePrototypeSetHours) \ 294 CPP(DatePrototypeSetHours) \
295 CPP(DatePrototypeSetMilliseconds) \ 295 CPP(DatePrototypeSetMilliseconds) \
296 CPP(DatePrototypeSetMinutes) \ 296 CPP(DatePrototypeSetMinutes) \
297 CPP(DatePrototypeSetMonth) \ 297 CPP(DatePrototypeSetMonth) \
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 static void Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode, 669 static void Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode,
670 TailCallMode tail_call_mode); 670 TailCallMode tail_call_mode);
671 671
672 static void Generate_InterpreterPushArgsAndCallImpl( 672 static void Generate_InterpreterPushArgsAndCallImpl(
673 MacroAssembler* masm, TailCallMode tail_call_mode, 673 MacroAssembler* masm, TailCallMode tail_call_mode,
674 CallableType function_type); 674 CallableType function_type);
675 675
676 static void Generate_InterpreterPushArgsAndConstructImpl( 676 static void Generate_InterpreterPushArgsAndConstructImpl(
677 MacroAssembler* masm, CallableType function_type); 677 MacroAssembler* masm, CallableType function_type);
678 678
679 static void Generate_DatePrototype_GetField(MacroAssembler* masm, 679 static void Generate_DatePrototype_GetField(CodeStubAssembler* masm,
680 int field_index); 680 int field_index);
681 681
682 enum class MathMaxMinKind { kMax, kMin }; 682 enum class MathMaxMinKind { kMax, kMin };
683 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); 683 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind);
684 684
685 #define DECLARE_ASM(Name, ...) \ 685 #define DECLARE_ASM(Name, ...) \
686 static void Generate_##Name(MacroAssembler* masm); 686 static void Generate_##Name(MacroAssembler* masm);
687 #define DECLARE_TF(Name, ...) \ 687 #define DECLARE_TF(Name, ...) \
688 static void Generate_##Name(CodeStubAssembler* csasm); 688 static void Generate_##Name(CodeStubAssembler* csasm);
689 689
(...skipping 11 matching lines...) Expand all
701 701
702 friend class Isolate; 702 friend class Isolate;
703 703
704 DISALLOW_COPY_AND_ASSIGN(Builtins); 704 DISALLOW_COPY_AND_ASSIGN(Builtins);
705 }; 705 };
706 706
707 } // namespace internal 707 } // namespace internal
708 } // namespace v8 708 } // namespace v8
709 709
710 #endif // V8_BUILTINS_BUILTINS_H_ 710 #endif // V8_BUILTINS_BUILTINS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698