 Chromium Code Reviews
 Chromium Code Reviews Issue 1549383002:
  MIPS64: Fix [runtime] Introduce dedicated JSBoundFunction to represent bound functions.  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@master
    
  
    Issue 1549383002:
  MIPS64: Fix [runtime] Introduce dedicated JSBoundFunction to represent bound functions.  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@master| 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 2158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2169 Label skip_load; | 2169 Label skip_load; | 
| 2170 __ Branch(&skip_load, ne, a1, Operand(a3)); | 2170 __ Branch(&skip_load, ne, a1, Operand(a3)); | 
| 2171 __ ld(a3, FieldMemOperand(a1, JSBoundFunction::kBoundTargetFunctionOffset)); | 2171 __ ld(a3, FieldMemOperand(a1, JSBoundFunction::kBoundTargetFunctionOffset)); | 
| 2172 __ bind(&skip_load); | 2172 __ bind(&skip_load); | 
| 2173 } | 2173 } | 
| 2174 | 2174 | 
| 2175 // Construct the [[BoundTargetFunction]] via the Construct builtin. | 2175 // Construct the [[BoundTargetFunction]] via the Construct builtin. | 
| 2176 __ ld(a1, FieldMemOperand(a1, JSBoundFunction::kBoundTargetFunctionOffset)); | 2176 __ ld(a1, FieldMemOperand(a1, JSBoundFunction::kBoundTargetFunctionOffset)); | 
| 2177 __ li(at, Operand(ExternalReference(Builtins::kConstruct, masm->isolate()))); | 2177 __ li(at, Operand(ExternalReference(Builtins::kConstruct, masm->isolate()))); | 
| 2178 __ ld(at, MemOperand(at)); | 2178 __ ld(at, MemOperand(at)); | 
| 2179 __ Addu(at, at, Operand(Code::kHeaderSize - kHeapObjectTag)); | 2179 __ Daddu(at, at, Operand(Code::kHeaderSize - kHeapObjectTag)); | 
| 
ivica.bogosavljevic
2015/12/28 13:46:30
Full list of failures: https://v8.mips.com/bbv8/bu
 | |
| 2180 __ Jump(at); | 2180 __ Jump(at); | 
| 2181 } | 2181 } | 
| 2182 | 2182 | 
| 2183 | 2183 | 
| 2184 // static | 2184 // static | 
| 2185 void Builtins::Generate_ConstructProxy(MacroAssembler* masm) { | 2185 void Builtins::Generate_ConstructProxy(MacroAssembler* masm) { | 
| 2186 // ----------- S t a t e ------------- | 2186 // ----------- S t a t e ------------- | 
| 2187 // -- a0 : the number of arguments (not including the receiver) | 2187 // -- a0 : the number of arguments (not including the receiver) | 
| 2188 // -- a1 : the constructor to call (checked to be a JSProxy) | 2188 // -- a1 : the constructor to call (checked to be a JSProxy) | 
| 2189 // -- a3 : the new target (either the same as the constructor or | 2189 // -- a3 : the new target (either the same as the constructor or | 
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2407 } | 2407 } | 
| 2408 } | 2408 } | 
| 2409 | 2409 | 
| 2410 | 2410 | 
| 2411 #undef __ | 2411 #undef __ | 
| 2412 | 2412 | 
| 2413 } // namespace internal | 2413 } // namespace internal | 
| 2414 } // namespace v8 | 2414 } // namespace v8 | 
| 2415 | 2415 | 
| 2416 #endif // V8_TARGET_ARCH_MIPS64 | 2416 #endif // V8_TARGET_ARCH_MIPS64 | 
| OLD | NEW |