Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: src/x64/macro-assembler-x64.h

Issue 2770003002: Set the current context to the function's context when entering to LAP. (Closed)
Patch Set: . Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_
6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ 6 #define V8_X64_MACRO_ASSEMBLER_X64_H_
7 7
8 #include "src/bailout-reason.h" 8 #include "src/bailout-reason.h"
9 #include "src/base/flags.h" 9 #include "src/base/flags.h"
10 #include "src/frames.h" 10 #include "src/frames.h"
(...skipping 1332 matching lines...) Expand 10 before | Expand all | Expand 10 after
1343 void NegativeZeroTest(CodeGenerator* cgen, 1343 void NegativeZeroTest(CodeGenerator* cgen,
1344 Register result, 1344 Register result,
1345 Register op, 1345 Register op,
1346 JumpTarget* then_target); 1346 JumpTarget* then_target);
1347 1347
1348 // Check if result is zero and any of op1 and op2 are negative. 1348 // Check if result is zero and any of op1 and op2 are negative.
1349 // Register scratch is destroyed, and it must be different from op2. 1349 // Register scratch is destroyed, and it must be different from op2.
1350 void NegativeZeroTest(Register result, Register op1, Register op2, 1350 void NegativeZeroTest(Register result, Register op1, Register op2,
1351 Register scratch, Label* then_label); 1351 Register scratch, Label* then_label);
1352 1352
1353 // Machine code version of Map::GetConstructor().
1354 // |temp| holds |result|'s map when done.
1355 void GetMapConstructor(Register result, Register map, Register temp);
1356
1353 // Find the function context up the context chain. 1357 // Find the function context up the context chain.
1354 void LoadContext(Register dst, int context_chain_length); 1358 void LoadContext(Register dst, int context_chain_length);
1355 1359
1356 // Load the global object from the current context. 1360 // Load the global object from the current context.
1357 void LoadGlobalObject(Register dst) { 1361 void LoadGlobalObject(Register dst) {
1358 LoadNativeContextSlot(Context::EXTENSION_INDEX, dst); 1362 LoadNativeContextSlot(Context::EXTENSION_INDEX, dst);
1359 } 1363 }
1360 1364
1361 // Load the global proxy from the current context. 1365 // Load the global proxy from the current context.
1362 void LoadGlobalProxy(Register dst) { 1366 void LoadGlobalProxy(Register dst) {
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
1680 inline Operand StackOperandForReturnAddress(int32_t disp) { 1684 inline Operand StackOperandForReturnAddress(int32_t disp) {
1681 return Operand(rsp, disp); 1685 return Operand(rsp, disp);
1682 } 1686 }
1683 1687
1684 #define ACCESS_MASM(masm) masm-> 1688 #define ACCESS_MASM(masm) masm->
1685 1689
1686 } // namespace internal 1690 } // namespace internal
1687 } // namespace v8 1691 } // namespace v8
1688 1692
1689 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ 1693 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698