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

Side by Side Diff: src/builtins.cc

Issue 1567353002: [date] Migrate Date field accessors to native builtins. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Moar work. ports. Created 4 years, 11 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
« no previous file with comments | « src/builtins.h ('k') | src/full-codegen/x64/full-codegen-x64.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 #include "src/builtins.h" 5 #include "src/builtins.h"
6 6
7 #include "src/api.h" 7 #include "src/api.h"
8 #include "src/api-natives.h" 8 #include "src/api-natives.h"
9 #include "src/arguments.h" 9 #include "src/arguments.h"
10 #include "src/base/once.h" 10 #include "src/base/once.h"
(...skipping 2336 matching lines...) Expand 10 before | Expand all | Expand 10 after
2347 DCHECK_EQ(2, args.length()); 2347 DCHECK_EQ(2, args.length());
2348 CHECK_RECEIVER(JSReceiver, receiver, "Date.prototype [ @@toPrimitive ]"); 2348 CHECK_RECEIVER(JSReceiver, receiver, "Date.prototype [ @@toPrimitive ]");
2349 Handle<Object> hint = args.at<Object>(1); 2349 Handle<Object> hint = args.at<Object>(1);
2350 Handle<Object> result; 2350 Handle<Object> result;
2351 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result, 2351 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result,
2352 JSDate::ToPrimitive(receiver, hint)); 2352 JSDate::ToPrimitive(receiver, hint));
2353 return *result; 2353 return *result;
2354 } 2354 }
2355 2355
2356 2356
2357 // static
2358 void Builtins::Generate_DatePrototypeGetDate(MacroAssembler* masm) {
2359 Generate_DatePrototype_GetField(masm, JSDate::kDay);
2360 }
2361
2362
2363 // static
2364 void Builtins::Generate_DatePrototypeGetDay(MacroAssembler* masm) {
2365 Generate_DatePrototype_GetField(masm, JSDate::kWeekday);
2366 }
2367
2368
2369 // static
2370 void Builtins::Generate_DatePrototypeGetFullYear(MacroAssembler* masm) {
2371 Generate_DatePrototype_GetField(masm, JSDate::kYear);
2372 }
2373
2374
2375 // static
2376 void Builtins::Generate_DatePrototypeGetHours(MacroAssembler* masm) {
2377 Generate_DatePrototype_GetField(masm, JSDate::kHour);
2378 }
2379
2380
2381 // static
2382 void Builtins::Generate_DatePrototypeGetMilliseconds(MacroAssembler* masm) {
2383 Generate_DatePrototype_GetField(masm, JSDate::kMillisecond);
2384 }
2385
2386
2387 // static
2388 void Builtins::Generate_DatePrototypeGetMinutes(MacroAssembler* masm) {
2389 Generate_DatePrototype_GetField(masm, JSDate::kMinute);
2390 }
2391
2392
2393 // static
2394 void Builtins::Generate_DatePrototypeGetMonth(MacroAssembler* masm) {
2395 Generate_DatePrototype_GetField(masm, JSDate::kMonth);
2396 }
2397
2398
2399 // static
2400 void Builtins::Generate_DatePrototypeGetSeconds(MacroAssembler* masm) {
2401 Generate_DatePrototype_GetField(masm, JSDate::kSecond);
2402 }
2403
2404
2405 // static
2406 void Builtins::Generate_DatePrototypeGetTime(MacroAssembler* masm) {
2407 Generate_DatePrototype_GetField(masm, JSDate::kDateValue);
2408 }
2409
2410
2411 // static
2412 void Builtins::Generate_DatePrototypeGetTimezoneOffset(MacroAssembler* masm) {
2413 Generate_DatePrototype_GetField(masm, JSDate::kTimezoneOffset);
2414 }
2415
2416
2417 // static
2418 void Builtins::Generate_DatePrototypeGetUTCDate(MacroAssembler* masm) {
2419 Generate_DatePrototype_GetField(masm, JSDate::kDayUTC);
2420 }
2421
2422
2423 // static
2424 void Builtins::Generate_DatePrototypeGetUTCDay(MacroAssembler* masm) {
2425 Generate_DatePrototype_GetField(masm, JSDate::kWeekdayUTC);
2426 }
2427
2428
2429 // static
2430 void Builtins::Generate_DatePrototypeGetUTCFullYear(MacroAssembler* masm) {
2431 Generate_DatePrototype_GetField(masm, JSDate::kYearUTC);
2432 }
2433
2434
2435 // static
2436 void Builtins::Generate_DatePrototypeGetUTCHours(MacroAssembler* masm) {
2437 Generate_DatePrototype_GetField(masm, JSDate::kHourUTC);
2438 }
2439
2440
2441 // static
2442 void Builtins::Generate_DatePrototypeGetUTCMilliseconds(MacroAssembler* masm) {
2443 Generate_DatePrototype_GetField(masm, JSDate::kMillisecondUTC);
2444 }
2445
2446
2447 // static
2448 void Builtins::Generate_DatePrototypeGetUTCMinutes(MacroAssembler* masm) {
2449 Generate_DatePrototype_GetField(masm, JSDate::kMinuteUTC);
2450 }
2451
2452
2453 // static
2454 void Builtins::Generate_DatePrototypeGetUTCMonth(MacroAssembler* masm) {
2455 Generate_DatePrototype_GetField(masm, JSDate::kMonthUTC);
2456 }
2457
2458
2459 // static
2460 void Builtins::Generate_DatePrototypeGetUTCSeconds(MacroAssembler* masm) {
2461 Generate_DatePrototype_GetField(masm, JSDate::kSecondUTC);
2462 }
2463
2464
2357 namespace { 2465 namespace {
2358 2466
2359 // ES6 section 19.2.1.1.1 CreateDynamicFunction 2467 // ES6 section 19.2.1.1.1 CreateDynamicFunction
2360 MaybeHandle<JSFunction> CreateDynamicFunction( 2468 MaybeHandle<JSFunction> CreateDynamicFunction(
2361 Isolate* isolate, 2469 Isolate* isolate,
2362 BuiltinArguments<BuiltinExtraArguments::kTargetAndNewTarget> args, 2470 BuiltinArguments<BuiltinExtraArguments::kTargetAndNewTarget> args,
2363 const char* token) { 2471 const char* token) {
2364 // Compute number of arguments, ignoring the receiver. 2472 // Compute number of arguments, ignoring the receiver.
2365 DCHECK_LE(1, args.length()); 2473 DCHECK_LE(1, args.length());
2366 int const argc = args.length() - 1; 2474 int const argc = args.length() - 1;
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
3311 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C) 3419 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C)
3312 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A) 3420 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A)
3313 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) 3421 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H)
3314 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) 3422 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A)
3315 #undef DEFINE_BUILTIN_ACCESSOR_C 3423 #undef DEFINE_BUILTIN_ACCESSOR_C
3316 #undef DEFINE_BUILTIN_ACCESSOR_A 3424 #undef DEFINE_BUILTIN_ACCESSOR_A
3317 3425
3318 3426
3319 } // namespace internal 3427 } // namespace internal
3320 } // namespace v8 3428 } // namespace v8
OLDNEW
« no previous file with comments | « src/builtins.h ('k') | src/full-codegen/x64/full-codegen-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698