OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/objects.h" | 5 #include "src/objects.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 #include <iomanip> | 8 #include <iomanip> |
9 #include <sstream> | 9 #include <sstream> |
10 | 10 |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 | 255 |
256 | 256 |
257 bool NumberEquals(Handle<Object> x, Handle<Object> y) { | 257 bool NumberEquals(Handle<Object> x, Handle<Object> y) { |
258 return NumberEquals(*x, *y); | 258 return NumberEquals(*x, *y); |
259 } | 259 } |
260 | 260 |
261 } // namespace | 261 } // namespace |
262 | 262 |
263 | 263 |
264 // static | 264 // static |
265 Maybe<ComparisonResult> Object::Compare(Handle<Object> x, Handle<Object> y, | 265 Maybe<ComparisonResult> Object::Compare(Handle<Object> x, Handle<Object> y) { |
266 Strength strength) { | 266 // ES6 section 7.2.11 Abstract Relational Comparison step 3 and 4. |
267 if (!is_strong(strength)) { | 267 if (!Object::ToPrimitive(x, ToPrimitiveHint::kNumber).ToHandle(&x) || |
268 // ES6 section 7.2.11 Abstract Relational Comparison step 3 and 4. | 268 !Object::ToPrimitive(y, ToPrimitiveHint::kNumber).ToHandle(&y)) { |
269 if (!Object::ToPrimitive(x, ToPrimitiveHint::kNumber).ToHandle(&x) || | 269 return Nothing<ComparisonResult>(); |
270 !Object::ToPrimitive(y, ToPrimitiveHint::kNumber).ToHandle(&y)) { | |
271 return Nothing<ComparisonResult>(); | |
272 } | |
273 } | 270 } |
274 if (x->IsString() && y->IsString()) { | 271 if (x->IsString() && y->IsString()) { |
275 // ES6 section 7.2.11 Abstract Relational Comparison step 5. | 272 // ES6 section 7.2.11 Abstract Relational Comparison step 5. |
276 return Just( | 273 return Just( |
277 String::Compare(Handle<String>::cast(x), Handle<String>::cast(y))); | 274 String::Compare(Handle<String>::cast(x), Handle<String>::cast(y))); |
278 } | 275 } |
279 // ES6 section 7.2.11 Abstract Relational Comparison step 6. | 276 // ES6 section 7.2.11 Abstract Relational Comparison step 6. |
280 if (!is_strong(strength)) { | 277 if (!Object::ToNumber(x).ToHandle(&x) || !Object::ToNumber(y).ToHandle(&y)) { |
281 if (!Object::ToNumber(x).ToHandle(&x) || | 278 return Nothing<ComparisonResult>(); |
282 !Object::ToNumber(y).ToHandle(&y)) { | |
283 return Nothing<ComparisonResult>(); | |
284 } | |
285 } else { | |
286 if (!x->IsNumber()) { | |
287 Isolate* const isolate = Handle<HeapObject>::cast(x)->GetIsolate(); | |
288 isolate->Throw(*isolate->factory()->NewTypeError( | |
289 MessageTemplate::kStrongImplicitConversion)); | |
290 return Nothing<ComparisonResult>(); | |
291 } else if (!y->IsNumber()) { | |
292 Isolate* const isolate = Handle<HeapObject>::cast(y)->GetIsolate(); | |
293 isolate->Throw(*isolate->factory()->NewTypeError( | |
294 MessageTemplate::kStrongImplicitConversion)); | |
295 return Nothing<ComparisonResult>(); | |
296 } | |
297 } | 279 } |
298 return Just(NumberCompare(x->Number(), y->Number())); | 280 return Just(NumberCompare(x->Number(), y->Number())); |
299 } | 281 } |
300 | 282 |
301 | 283 |
302 // static | 284 // static |
303 Maybe<bool> Object::Equals(Handle<Object> x, Handle<Object> y) { | 285 Maybe<bool> Object::Equals(Handle<Object> x, Handle<Object> y) { |
304 while (true) { | 286 while (true) { |
305 if (x->IsNumber()) { | 287 if (x->IsNumber()) { |
306 if (y->IsNumber()) { | 288 if (y->IsNumber()) { |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 if (object->Is##Type()) return isolate->factory()->type##_string(); | 406 if (object->Is##Type()) return isolate->factory()->type##_string(); |
425 SIMD128_TYPES(SIMD128_TYPE) | 407 SIMD128_TYPES(SIMD128_TYPE) |
426 #undef SIMD128_TYPE | 408 #undef SIMD128_TYPE |
427 if (object->IsCallable()) return isolate->factory()->function_string(); | 409 if (object->IsCallable()) return isolate->factory()->function_string(); |
428 return isolate->factory()->object_string(); | 410 return isolate->factory()->object_string(); |
429 } | 411 } |
430 | 412 |
431 | 413 |
432 // static | 414 // static |
433 MaybeHandle<Object> Object::Multiply(Isolate* isolate, Handle<Object> lhs, | 415 MaybeHandle<Object> Object::Multiply(Isolate* isolate, Handle<Object> lhs, |
434 Handle<Object> rhs, Strength strength) { | 416 Handle<Object> rhs) { |
435 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 417 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
436 if (is_strong(strength)) { | |
437 THROW_NEW_ERROR(isolate, | |
438 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
439 Object); | |
440 } | |
441 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 418 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
442 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 419 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
443 } | 420 } |
444 return isolate->factory()->NewNumber(lhs->Number() * rhs->Number()); | 421 return isolate->factory()->NewNumber(lhs->Number() * rhs->Number()); |
445 } | 422 } |
446 | 423 |
447 | 424 |
448 // static | 425 // static |
449 MaybeHandle<Object> Object::Divide(Isolate* isolate, Handle<Object> lhs, | 426 MaybeHandle<Object> Object::Divide(Isolate* isolate, Handle<Object> lhs, |
450 Handle<Object> rhs, Strength strength) { | 427 Handle<Object> rhs) { |
451 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 428 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
452 if (is_strong(strength)) { | |
453 THROW_NEW_ERROR(isolate, | |
454 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
455 Object); | |
456 } | |
457 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 429 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
458 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 430 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
459 } | 431 } |
460 return isolate->factory()->NewNumber(lhs->Number() / rhs->Number()); | 432 return isolate->factory()->NewNumber(lhs->Number() / rhs->Number()); |
461 } | 433 } |
462 | 434 |
463 | 435 |
464 // static | 436 // static |
465 MaybeHandle<Object> Object::Modulus(Isolate* isolate, Handle<Object> lhs, | 437 MaybeHandle<Object> Object::Modulus(Isolate* isolate, Handle<Object> lhs, |
466 Handle<Object> rhs, Strength strength) { | 438 Handle<Object> rhs) { |
467 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 439 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
468 if (is_strong(strength)) { | |
469 THROW_NEW_ERROR(isolate, | |
470 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
471 Object); | |
472 } | |
473 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 440 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
474 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 441 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
475 } | 442 } |
476 return isolate->factory()->NewNumber(modulo(lhs->Number(), rhs->Number())); | 443 return isolate->factory()->NewNumber(modulo(lhs->Number(), rhs->Number())); |
477 } | 444 } |
478 | 445 |
479 | 446 |
480 // static | 447 // static |
481 MaybeHandle<Object> Object::Add(Isolate* isolate, Handle<Object> lhs, | 448 MaybeHandle<Object> Object::Add(Isolate* isolate, Handle<Object> lhs, |
482 Handle<Object> rhs, Strength strength) { | 449 Handle<Object> rhs) { |
483 if (lhs->IsNumber() && rhs->IsNumber()) { | 450 if (lhs->IsNumber() && rhs->IsNumber()) { |
484 return isolate->factory()->NewNumber(lhs->Number() + rhs->Number()); | 451 return isolate->factory()->NewNumber(lhs->Number() + rhs->Number()); |
485 } else if (lhs->IsString() && rhs->IsString()) { | 452 } else if (lhs->IsString() && rhs->IsString()) { |
486 return isolate->factory()->NewConsString(Handle<String>::cast(lhs), | 453 return isolate->factory()->NewConsString(Handle<String>::cast(lhs), |
487 Handle<String>::cast(rhs)); | 454 Handle<String>::cast(rhs)); |
488 } else if (is_strong(strength)) { | |
489 THROW_NEW_ERROR(isolate, | |
490 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
491 Object); | |
492 } | 455 } |
493 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToPrimitive(lhs), Object); | 456 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToPrimitive(lhs), Object); |
494 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToPrimitive(rhs), Object); | 457 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToPrimitive(rhs), Object); |
495 if (lhs->IsString() || rhs->IsString()) { | 458 if (lhs->IsString() || rhs->IsString()) { |
496 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToString(isolate, rhs), | 459 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToString(isolate, rhs), |
497 Object); | 460 Object); |
498 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToString(isolate, lhs), | 461 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToString(isolate, lhs), |
499 Object); | 462 Object); |
500 return isolate->factory()->NewConsString(Handle<String>::cast(lhs), | 463 return isolate->factory()->NewConsString(Handle<String>::cast(lhs), |
501 Handle<String>::cast(rhs)); | 464 Handle<String>::cast(rhs)); |
502 } | 465 } |
503 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 466 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
504 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 467 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
505 return isolate->factory()->NewNumber(lhs->Number() + rhs->Number()); | 468 return isolate->factory()->NewNumber(lhs->Number() + rhs->Number()); |
506 } | 469 } |
507 | 470 |
508 | 471 |
509 // static | 472 // static |
510 MaybeHandle<Object> Object::Subtract(Isolate* isolate, Handle<Object> lhs, | 473 MaybeHandle<Object> Object::Subtract(Isolate* isolate, Handle<Object> lhs, |
511 Handle<Object> rhs, Strength strength) { | 474 Handle<Object> rhs) { |
512 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 475 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
513 if (is_strong(strength)) { | |
514 THROW_NEW_ERROR(isolate, | |
515 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
516 Object); | |
517 } | |
518 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 476 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
519 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 477 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
520 } | 478 } |
521 return isolate->factory()->NewNumber(lhs->Number() - rhs->Number()); | 479 return isolate->factory()->NewNumber(lhs->Number() - rhs->Number()); |
522 } | 480 } |
523 | 481 |
524 | 482 |
525 // static | 483 // static |
526 MaybeHandle<Object> Object::ShiftLeft(Isolate* isolate, Handle<Object> lhs, | 484 MaybeHandle<Object> Object::ShiftLeft(Isolate* isolate, Handle<Object> lhs, |
527 Handle<Object> rhs, Strength strength) { | 485 Handle<Object> rhs) { |
528 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 486 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
529 if (is_strong(strength)) { | |
530 THROW_NEW_ERROR(isolate, | |
531 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
532 Object); | |
533 } | |
534 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 487 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
535 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 488 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
536 } | 489 } |
537 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) | 490 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) |
538 << (NumberToUint32(*rhs) & 0x1F)); | 491 << (NumberToUint32(*rhs) & 0x1F)); |
539 } | 492 } |
540 | 493 |
541 | 494 |
542 // static | 495 // static |
543 MaybeHandle<Object> Object::ShiftRight(Isolate* isolate, Handle<Object> lhs, | 496 MaybeHandle<Object> Object::ShiftRight(Isolate* isolate, Handle<Object> lhs, |
544 Handle<Object> rhs, Strength strength) { | 497 Handle<Object> rhs) { |
545 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 498 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
546 if (is_strong(strength)) { | |
547 THROW_NEW_ERROR(isolate, | |
548 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
549 Object); | |
550 } | |
551 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 499 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
552 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 500 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
553 } | 501 } |
554 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) >> | 502 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) >> |
555 (NumberToUint32(*rhs) & 0x1F)); | 503 (NumberToUint32(*rhs) & 0x1F)); |
556 } | 504 } |
557 | 505 |
558 | 506 |
559 // static | 507 // static |
560 MaybeHandle<Object> Object::ShiftRightLogical(Isolate* isolate, | 508 MaybeHandle<Object> Object::ShiftRightLogical(Isolate* isolate, |
561 Handle<Object> lhs, | 509 Handle<Object> lhs, |
562 Handle<Object> rhs, | 510 Handle<Object> rhs) { |
563 Strength strength) { | |
564 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 511 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
565 if (is_strong(strength)) { | |
566 THROW_NEW_ERROR(isolate, | |
567 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
568 Object); | |
569 } | |
570 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 512 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
571 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 513 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
572 } | 514 } |
573 return isolate->factory()->NewNumberFromUint(NumberToUint32(*lhs) >> | 515 return isolate->factory()->NewNumberFromUint(NumberToUint32(*lhs) >> |
574 (NumberToUint32(*rhs) & 0x1F)); | 516 (NumberToUint32(*rhs) & 0x1F)); |
575 } | 517 } |
576 | 518 |
577 | 519 |
578 // static | 520 // static |
579 MaybeHandle<Object> Object::BitwiseAnd(Isolate* isolate, Handle<Object> lhs, | 521 MaybeHandle<Object> Object::BitwiseAnd(Isolate* isolate, Handle<Object> lhs, |
580 Handle<Object> rhs, Strength strength) { | 522 Handle<Object> rhs) { |
581 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 523 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
582 if (is_strong(strength)) { | |
583 THROW_NEW_ERROR(isolate, | |
584 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
585 Object); | |
586 } | |
587 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 524 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
588 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 525 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
589 } | 526 } |
590 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) & | 527 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) & |
591 NumberToInt32(*rhs)); | 528 NumberToInt32(*rhs)); |
592 } | 529 } |
593 | 530 |
594 | 531 |
595 // static | 532 // static |
596 MaybeHandle<Object> Object::BitwiseOr(Isolate* isolate, Handle<Object> lhs, | 533 MaybeHandle<Object> Object::BitwiseOr(Isolate* isolate, Handle<Object> lhs, |
597 Handle<Object> rhs, Strength strength) { | 534 Handle<Object> rhs) { |
598 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 535 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
599 if (is_strong(strength)) { | |
600 THROW_NEW_ERROR(isolate, | |
601 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
602 Object); | |
603 } | |
604 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 536 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
605 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 537 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
606 } | 538 } |
607 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) | | 539 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) | |
608 NumberToInt32(*rhs)); | 540 NumberToInt32(*rhs)); |
609 } | 541 } |
610 | 542 |
611 | 543 |
612 // static | 544 // static |
613 MaybeHandle<Object> Object::BitwiseXor(Isolate* isolate, Handle<Object> lhs, | 545 MaybeHandle<Object> Object::BitwiseXor(Isolate* isolate, Handle<Object> lhs, |
614 Handle<Object> rhs, Strength strength) { | 546 Handle<Object> rhs) { |
615 if (!lhs->IsNumber() || !rhs->IsNumber()) { | 547 if (!lhs->IsNumber() || !rhs->IsNumber()) { |
616 if (is_strong(strength)) { | |
617 THROW_NEW_ERROR(isolate, | |
618 NewTypeError(MessageTemplate::kStrongImplicitConversion), | |
619 Object); | |
620 } | |
621 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); | 548 ASSIGN_RETURN_ON_EXCEPTION(isolate, lhs, Object::ToNumber(lhs), Object); |
622 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); | 549 ASSIGN_RETURN_ON_EXCEPTION(isolate, rhs, Object::ToNumber(rhs), Object); |
623 } | 550 } |
624 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) ^ | 551 return isolate->factory()->NewNumberFromInt(NumberToInt32(*lhs) ^ |
625 NumberToInt32(*rhs)); | 552 NumberToInt32(*rhs)); |
626 } | 553 } |
627 | 554 |
628 | 555 |
629 Maybe<bool> Object::IsArray(Handle<Object> object) { | 556 Maybe<bool> Object::IsArray(Handle<Object> object) { |
630 if (object->IsJSArray()) return Just(true); | 557 if (object->IsJSArray()) return Just(true); |
(...skipping 19354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19985 if (cell->value() != *new_value) { | 19912 if (cell->value() != *new_value) { |
19986 cell->set_value(*new_value); | 19913 cell->set_value(*new_value); |
19987 Isolate* isolate = cell->GetIsolate(); | 19914 Isolate* isolate = cell->GetIsolate(); |
19988 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 19915 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
19989 isolate, DependentCode::kPropertyCellChangedGroup); | 19916 isolate, DependentCode::kPropertyCellChangedGroup); |
19990 } | 19917 } |
19991 } | 19918 } |
19992 | 19919 |
19993 } // namespace internal | 19920 } // namespace internal |
19994 } // namespace v8 | 19921 } // namespace v8 |
OLD | NEW |