OLD | NEW |
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 #if V8_TARGET_ARCH_MIPS64 | 5 #if V8_TARGET_ARCH_MIPS64 |
6 | 6 |
7 #include "src/codegen.h" | 7 #include "src/codegen.h" |
8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
10 #include "src/full-codegen/full-codegen.h" | 10 #include "src/full-codegen/full-codegen.h" |
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 // t0: JSObject (tagged) | 412 // t0: JSObject (tagged) |
413 // t1: First in-object property of JSObject (not tagged) | 413 // t1: First in-object property of JSObject (not tagged) |
414 __ LoadRoot(t3, Heap::kUndefinedValueRootIndex); | 414 __ LoadRoot(t3, Heap::kUndefinedValueRootIndex); |
415 | 415 |
416 if (!is_api_function) { | 416 if (!is_api_function) { |
417 Label no_inobject_slack_tracking; | 417 Label no_inobject_slack_tracking; |
418 | 418 |
419 MemOperand bit_field3 = FieldMemOperand(a2, Map::kBitField3Offset); | 419 MemOperand bit_field3 = FieldMemOperand(a2, Map::kBitField3Offset); |
420 // Check if slack tracking is enabled. | 420 // Check if slack tracking is enabled. |
421 __ lwu(t2, bit_field3); | 421 __ lwu(t2, bit_field3); |
422 __ DecodeField<Map::Counter>(a6, t2); | 422 __ DecodeField<Map::ConstructionCounter>(a6, t2); |
423 // a6: slack tracking counter | 423 // a6: slack tracking counter |
424 __ Branch(&no_inobject_slack_tracking, lt, a6, | 424 __ Branch(&no_inobject_slack_tracking, lt, a6, |
425 Operand(Map::kSlackTrackingCounterEnd)); | 425 Operand(Map::kSlackTrackingCounterEnd)); |
426 // Decrease generous allocation count. | 426 // Decrease generous allocation count. |
427 __ Dsubu(t2, t2, Operand(1 << Map::Counter::kShift)); | 427 __ Dsubu(t2, t2, Operand(1 << Map::ConstructionCounter::kShift)); |
428 __ sw(t2, bit_field3); | 428 __ sw(t2, bit_field3); |
429 | 429 |
430 // Allocate object with a slack. | 430 // Allocate object with a slack. |
431 __ lbu(a0, FieldMemOperand(a2, Map::kUnusedPropertyFieldsOffset)); | 431 __ lbu(a0, FieldMemOperand(a2, Map::kUnusedPropertyFieldsOffset)); |
432 __ dsll(a0, a0, kPointerSizeLog2); | 432 __ dsll(a0, a0, kPointerSizeLog2); |
433 __ dsubu(a0, a4, a0); | 433 __ dsubu(a0, a4, a0); |
434 // a0: offset of first field after pre-allocated fields | 434 // a0: offset of first field after pre-allocated fields |
435 if (FLAG_debug_code) { | 435 if (FLAG_debug_code) { |
436 __ Assert(le, kUnexpectedNumberOfPreAllocatedPropertyFields, t1, | 436 __ Assert(le, kUnexpectedNumberOfPreAllocatedPropertyFields, t1, |
437 Operand(a0)); | 437 Operand(a0)); |
(...skipping 1513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1951 } | 1951 } |
1952 } | 1952 } |
1953 | 1953 |
1954 | 1954 |
1955 #undef __ | 1955 #undef __ |
1956 | 1956 |
1957 } // namespace internal | 1957 } // namespace internal |
1958 } // namespace v8 | 1958 } // namespace v8 |
1959 | 1959 |
1960 #endif // V8_TARGET_ARCH_MIPS64 | 1960 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |