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 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 Handle<Simd128Value>::cast(y))); | 352 Handle<Simd128Value>::cast(y))); |
353 } else if (y->IsJSReceiver()) { | 353 } else if (y->IsJSReceiver()) { |
354 if (!JSReceiver::ToPrimitive(Handle<JSReceiver>::cast(y)) | 354 if (!JSReceiver::ToPrimitive(Handle<JSReceiver>::cast(y)) |
355 .ToHandle(&y)) { | 355 .ToHandle(&y)) { |
356 return Nothing<bool>(); | 356 return Nothing<bool>(); |
357 } | 357 } |
358 } else { | 358 } else { |
359 return Just(false); | 359 return Just(false); |
360 } | 360 } |
361 } else if (x->IsJSReceiver()) { | 361 } else if (x->IsJSReceiver()) { |
362 if (y->IsUndetectable()) { | 362 if (y->IsJSReceiver()) { |
| 363 return Just(x.is_identical_to(y)); |
| 364 } else if (y->IsUndetectable()) { |
363 return Just(x->IsUndetectable()); | 365 return Just(x->IsUndetectable()); |
364 } else if (y->IsJSReceiver()) { | |
365 return Just(x.is_identical_to(y)); | |
366 } else if (y->IsBoolean()) { | 366 } else if (y->IsBoolean()) { |
367 y = Oddball::ToNumber(Handle<Oddball>::cast(y)); | 367 y = Oddball::ToNumber(Handle<Oddball>::cast(y)); |
368 } else if (!JSReceiver::ToPrimitive(Handle<JSReceiver>::cast(x)) | 368 } else if (!JSReceiver::ToPrimitive(Handle<JSReceiver>::cast(x)) |
369 .ToHandle(&x)) { | 369 .ToHandle(&x)) { |
370 return Nothing<bool>(); | 370 return Nothing<bool>(); |
371 } | 371 } |
372 } else { | 372 } else { |
373 return Just(x->IsUndetectable() && y->IsUndetectable()); | 373 return Just(x->IsUndetectable() && y->IsUndetectable()); |
374 } | 374 } |
375 } | 375 } |
(...skipping 19468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19844 if (cell->value() != *new_value) { | 19844 if (cell->value() != *new_value) { |
19845 cell->set_value(*new_value); | 19845 cell->set_value(*new_value); |
19846 Isolate* isolate = cell->GetIsolate(); | 19846 Isolate* isolate = cell->GetIsolate(); |
19847 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 19847 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
19848 isolate, DependentCode::kPropertyCellChangedGroup); | 19848 isolate, DependentCode::kPropertyCellChangedGroup); |
19849 } | 19849 } |
19850 } | 19850 } |
19851 | 19851 |
19852 } // namespace internal | 19852 } // namespace internal |
19853 } // namespace v8 | 19853 } // namespace v8 |
OLD | NEW |