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_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
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 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 // t4: JSObject (tagged) | 416 // t4: JSObject (tagged) |
417 // t5: First in-object property of JSObject (not tagged) | 417 // t5: First in-object property of JSObject (not tagged) |
418 __ LoadRoot(t7, Heap::kUndefinedValueRootIndex); | 418 __ LoadRoot(t7, Heap::kUndefinedValueRootIndex); |
419 | 419 |
420 if (!is_api_function) { | 420 if (!is_api_function) { |
421 Label no_inobject_slack_tracking; | 421 Label no_inobject_slack_tracking; |
422 | 422 |
423 MemOperand bit_field3 = FieldMemOperand(a2, Map::kBitField3Offset); | 423 MemOperand bit_field3 = FieldMemOperand(a2, Map::kBitField3Offset); |
424 // Check if slack tracking is enabled. | 424 // Check if slack tracking is enabled. |
425 __ lw(t0, bit_field3); | 425 __ lw(t0, bit_field3); |
426 __ DecodeField<Map::Counter>(t2, t0); | 426 __ DecodeField<Map::ConstructionCounter>(t2, t0); |
427 // t2: slack tracking counter | 427 // t2: slack tracking counter |
428 __ Branch(&no_inobject_slack_tracking, lt, t2, | 428 __ Branch(&no_inobject_slack_tracking, lt, t2, |
429 Operand(Map::kSlackTrackingCounterEnd)); | 429 Operand(Map::kSlackTrackingCounterEnd)); |
430 // Decrease generous allocation count. | 430 // Decrease generous allocation count. |
431 __ Subu(t0, t0, Operand(1 << Map::Counter::kShift)); | 431 __ Subu(t0, t0, Operand(1 << Map::ConstructionCounter::kShift)); |
432 __ sw(t0, bit_field3); | 432 __ sw(t0, bit_field3); |
433 | 433 |
434 // Allocate object with a slack. | 434 // Allocate object with a slack. |
435 __ lbu(a0, FieldMemOperand(a2, Map::kUnusedPropertyFieldsOffset)); | 435 __ lbu(a0, FieldMemOperand(a2, Map::kUnusedPropertyFieldsOffset)); |
436 __ sll(a0, a0, kPointerSizeLog2); | 436 __ sll(a0, a0, kPointerSizeLog2); |
437 __ subu(a0, t3, a0); | 437 __ subu(a0, t3, a0); |
438 // a0: offset of first field after pre-allocated fields | 438 // a0: offset of first field after pre-allocated fields |
439 if (FLAG_debug_code) { | 439 if (FLAG_debug_code) { |
440 __ Assert(le, kUnexpectedNumberOfPreAllocatedPropertyFields, t5, | 440 __ Assert(le, kUnexpectedNumberOfPreAllocatedPropertyFields, t5, |
441 Operand(a0)); | 441 Operand(a0)); |
(...skipping 1518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1960 } | 1960 } |
1961 } | 1961 } |
1962 | 1962 |
1963 | 1963 |
1964 #undef __ | 1964 #undef __ |
1965 | 1965 |
1966 } // namespace internal | 1966 } // namespace internal |
1967 } // namespace v8 | 1967 } // namespace v8 |
1968 | 1968 |
1969 #endif // V8_TARGET_ARCH_MIPS | 1969 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |