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

Side by Side Diff: src/builtins.cc

Issue 271543004: Reland - Arm64: Ensure that csp is always aligned to 16 byte values even if jssp is not. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: ip0 ip1 -> TmpList Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « src/arm64/regexp-macro-assembler-arm64.cc ('k') | src/cpu.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "v8.h" 5 #include "v8.h"
6 6
7 #include "api.h" 7 #include "api.h"
8 #include "arguments.h" 8 #include "arguments.h"
9 #include "bootstrapper.h" 9 #include "bootstrapper.h"
10 #include "builtins.h" 10 #include "builtins.h"
(...skipping 1586 matching lines...) Expand 10 before | Expand all | Expand 10 after
1597 ASSERT(!initialized_); 1597 ASSERT(!initialized_);
1598 1598
1599 // Create a scope for the handles in the builtins. 1599 // Create a scope for the handles in the builtins.
1600 HandleScope scope(isolate); 1600 HandleScope scope(isolate);
1601 1601
1602 const BuiltinDesc* functions = builtin_function_table.functions(); 1602 const BuiltinDesc* functions = builtin_function_table.functions();
1603 1603
1604 // For now we generate builtin adaptor code into a stack-allocated 1604 // For now we generate builtin adaptor code into a stack-allocated
1605 // buffer, before copying it into individual code objects. Be careful 1605 // buffer, before copying it into individual code objects. Be careful
1606 // with alignment, some platforms don't like unaligned code. 1606 // with alignment, some platforms don't like unaligned code.
1607 // TODO(jbramley): I had to increase the size of this buffer from 8KB because 1607 #ifdef DEBUG
1608 // we can generate a lot of debug code on ARM64. 1608 // We can generate a lot of debug code on Arm64.
1609 union { int force_alignment; byte buffer[16*KB]; } u; 1609 const size_t buffer_size = 32*KB;
1610 #else
1611 const size_t buffer_size = 8*KB;
1612 #endif
1613 union { int force_alignment; byte buffer[buffer_size]; } u;
1610 1614
1611 // Traverse the list of builtins and generate an adaptor in a 1615 // Traverse the list of builtins and generate an adaptor in a
1612 // separate code object for each one. 1616 // separate code object for each one.
1613 for (int i = 0; i < builtin_count; i++) { 1617 for (int i = 0; i < builtin_count; i++) {
1614 if (create_heap_objects) { 1618 if (create_heap_objects) {
1615 MacroAssembler masm(isolate, u.buffer, sizeof u.buffer); 1619 MacroAssembler masm(isolate, u.buffer, sizeof u.buffer);
1616 // Generate the code/adaptor. 1620 // Generate the code/adaptor.
1617 typedef void (*Generator)(MacroAssembler*, int, BuiltinExtraArguments); 1621 typedef void (*Generator)(MacroAssembler*, int, BuiltinExtraArguments);
1618 Generator g = FUNCTION_CAST<Generator>(functions[i].generator); 1622 Generator g = FUNCTION_CAST<Generator>(functions[i].generator);
1619 // We pass all arguments to the generator, but it may not use all of 1623 // We pass all arguments to the generator, but it may not use all of
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1706 } 1710 }
1707 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C) 1711 BUILTIN_LIST_C(DEFINE_BUILTIN_ACCESSOR_C)
1708 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A) 1712 BUILTIN_LIST_A(DEFINE_BUILTIN_ACCESSOR_A)
1709 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) 1713 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H)
1710 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) 1714 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A)
1711 #undef DEFINE_BUILTIN_ACCESSOR_C 1715 #undef DEFINE_BUILTIN_ACCESSOR_C
1712 #undef DEFINE_BUILTIN_ACCESSOR_A 1716 #undef DEFINE_BUILTIN_ACCESSOR_A
1713 1717
1714 1718
1715 } } // namespace v8::internal 1719 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm64/regexp-macro-assembler-arm64.cc ('k') | src/cpu.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698