@@ -314,19 +314,6 @@ void J9::RecognizedCallTransformer::process_java_lang_StringLatin1_inflate_BIBII
314
314
TR::Node *dstOff = node->getChild (3 );
315
315
TR::Node *length = node->getChild (4 );
316
316
317
- TR::Node *hdrSize = createHdrSizeNode (comp (), node);
318
-
319
- TR::Node *strideNode;
320
- if (is64BitTarget)
321
- {
322
- strideNode = TR::Node::create (node, TR::lconst);
323
- strideNode->setLongInt (2 );
324
- }
325
- else
326
- {
327
- strideNode = TR::Node::create (node, TR::iconst, 0 , 2 );
328
- }
329
-
330
317
TR::Node *arrayTranslateNode = TR::Node::create (node, TR::arraytranslate, 6 );
331
318
arrayTranslateNode->setSourceIsByteArrayTranslate (true );
332
319
arrayTranslateNode->setTargetIsByteArrayTranslate (false );
@@ -335,42 +322,11 @@ void J9::RecognizedCallTransformer::process_java_lang_StringLatin1_inflate_BIBII
335
322
arrayTranslateNode->setTableBackedByRawStorage (true );
336
323
arrayTranslateNode->setSymbolReference (comp ()->getSymRefTab ()->findOrCreateArrayTranslateSymbol ());
337
324
338
- TR::Node *srcAddr, *dstAddr;
325
+ TR::Node *tmpNode = TR::TransformUtil::generateConvertArrayElementIndexToOffsetTrees (comp (), srcOff, NULL , 1 , false );
326
+ TR::Node *srcAddr = TR::TransformUtil::generateArrayElementAddressTrees (comp (), srcObj, tmpNode);
327
+ tmpNode = TR::TransformUtil::generateConvertArrayElementIndexToOffsetTrees (comp (), dstOff, NULL , 2 , false );
328
+ TR::Node *dstAddr = TR::TransformUtil::generateArrayElementAddressTrees (comp (), dstObj, tmpNode);
339
329
340
- #if defined(OMR_GC_SPARSE_HEAP_ALLOCATION)
341
- if (TR::Compiler->om .isOffHeapAllocationEnabled ())
342
- {
343
- dstOff = TR::TransformUtil::generateConvertArrayElementIndexToOffsetTrees (comp (), dstOff, strideNode, 0 , false );
344
- srcAddr = TR::TransformUtil::generateArrayElementAddressTrees (comp (), srcObj, srcOff);
345
- dstAddr = TR::TransformUtil::generateArrayElementAddressTrees (comp (), dstObj, dstOff);
346
- }
347
- else
348
- #endif /* OMR_GC_SPARSE_HEAP_ALLOCATION */
349
- {
350
- TR::Node *tmpNode;
351
- if (is64BitTarget)
352
- {
353
- tmpNode = TR::Node::create (node, TR::i2l, 1 , srcOff);
354
- tmpNode = TR::Node::create (node, TR::ladd, 2 , tmpNode, hdrSize);
355
- }
356
- else
357
- {
358
- tmpNode = TR::Node::create (node, TR::iadd, 2 , srcOff, hdrSize);
359
- }
360
- srcAddr = TR::Node::create (node, is64BitTarget ? TR::aladd : TR::aiadd, 2 , srcObj, tmpNode);
361
-
362
- if (is64BitTarget)
363
- {
364
- tmpNode = TR::Node::create (node, TR::i2l, 1 , dstOff);
365
- tmpNode = TR::Node::create (node, TR::lmul, 2 , tmpNode, strideNode);
366
- }
367
- else
368
- {
369
- tmpNode = TR::Node::create (node, TR::imul, 2 , dstOff, strideNode);
370
- }
371
- tmpNode = TR::Node::create (node, is64BitTarget ? TR::ladd : TR::iadd, 2 , tmpNode, hdrSize);
372
- dstAddr = TR::Node::create (node, is64BitTarget ? TR::aladd : TR::aiadd, 2 , dstObj, tmpNode);
373
- }
374
330
TR::Node *termCharNode = TR::Node::create (node, TR::iconst, 0 , 0xffff ); // mask for ISO 8859-1 decoder
375
331
TR::Node *tableNode = TR::Node::create (node, TR::iconst, 0 , 0 ); // dummy table node
376
332
TR::Node *stoppingNode = TR::Node::create (node, TR::iconst, 0 , -1 ); // dummy stop index node
0 commit comments