| Index: src/builtins.cc
|
| ===================================================================
|
| --- src/builtins.cc (revision 9349)
|
| +++ src/builtins.cc (working copy)
|
| @@ -1616,14 +1616,15 @@
|
| const BuiltinDesc* functions = BuiltinFunctionTable::functions();
|
|
|
| // For now we generate builtin adaptor code into a stack-allocated
|
| - // buffer, before copying it into individual code objects.
|
| - byte buffer[4*KB];
|
| + // buffer, before copying it into individual code objects. Be careful
|
| + // with alignment, some platforms don't like unaligned code.
|
| + union { int force_alignment; byte buffer[4*KB]; } u;
|
|
|
| // Traverse the list of builtins and generate an adaptor in a
|
| // separate code object for each one.
|
| for (int i = 0; i < builtin_count; i++) {
|
| if (create_heap_objects) {
|
| - MacroAssembler masm(isolate, buffer, sizeof buffer);
|
| + MacroAssembler masm(isolate, u.buffer, sizeof u.buffer);
|
| // Generate the code/adaptor.
|
| typedef void (*Generator)(MacroAssembler*, int, BuiltinExtraArguments);
|
| Generator g = FUNCTION_CAST<Generator>(functions[i].generator);
|
|
|