< prev index next >

src/hotspot/cpu/zero/stubGenerator_zero.cpp

Print this page

289     pthread_key_create(&g_jmpbuf_key, NULL);
290     StubRoutines::_safefetch32_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetch32);
291     StubRoutines::_safefetch32_fault_pc = NULL;
292     StubRoutines::_safefetch32_continuation_pc = NULL;
293 
294     StubRoutines::_safefetchN_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetchN);
295     StubRoutines::_safefetchN_fault_pc = NULL;
296     StubRoutines::_safefetchN_continuation_pc = NULL;
297   }
298 
299  public:
300   StubGenerator(CodeBuffer* code, bool all) : StubCodeGenerator(code) {
301     if (all) {
302       generate_all();
303     } else {
304       generate_initial();
305     }
306   }
307 };
308 
309 void StubGenerator_generate(CodeBuffer* code, bool all) {
310   StubGenerator g(code, all);
311 }
312 
313 EntryFrame *EntryFrame::build(const intptr_t*  parameters,
314                               int              parameter_words,
315                               JavaCallWrapper* call_wrapper,
316                               TRAPS) {
317 
318   ZeroStack *stack = THREAD->zero_stack();
319   stack->overflow_check(header_words + parameter_words, CHECK_NULL);
320 
321   stack->push(0); // next_frame, filled in later
322   intptr_t *fp = stack->sp();
323   assert(fp - stack->sp() == next_frame_off, "should be");
324 
325   stack->push(ENTRY_FRAME);
326   assert(fp - stack->sp() == frame_type_off, "should be");
327 
328   stack->push((intptr_t) call_wrapper);
329   assert(fp - stack->sp() == call_wrapper_off, "should be");
330 

289     pthread_key_create(&g_jmpbuf_key, NULL);
290     StubRoutines::_safefetch32_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetch32);
291     StubRoutines::_safefetch32_fault_pc = NULL;
292     StubRoutines::_safefetch32_continuation_pc = NULL;
293 
294     StubRoutines::_safefetchN_entry = CAST_FROM_FN_PTR(address, StubGenerator::SafeFetchN);
295     StubRoutines::_safefetchN_fault_pc = NULL;
296     StubRoutines::_safefetchN_continuation_pc = NULL;
297   }
298 
299  public:
300   StubGenerator(CodeBuffer* code, bool all) : StubCodeGenerator(code) {
301     if (all) {
302       generate_all();
303     } else {
304       generate_initial();
305     }
306   }
307 };
308 
309 void StubGenerator_generate(CodeBuffer* code, int phase) {
310   StubGenerator g(code, phase);
311 }
312 
313 EntryFrame *EntryFrame::build(const intptr_t*  parameters,
314                               int              parameter_words,
315                               JavaCallWrapper* call_wrapper,
316                               TRAPS) {
317 
318   ZeroStack *stack = THREAD->zero_stack();
319   stack->overflow_check(header_words + parameter_words, CHECK_NULL);
320 
321   stack->push(0); // next_frame, filled in later
322   intptr_t *fp = stack->sp();
323   assert(fp - stack->sp() == next_frame_off, "should be");
324 
325   stack->push(ENTRY_FRAME);
326   assert(fp - stack->sp() == frame_type_off, "should be");
327 
328   stack->push((intptr_t) call_wrapper);
329   assert(fp - stack->sp() == call_wrapper_off, "should be");
330 
< prev index next >