@@ -352,12 +352,13 @@ void Rewriter::emitGuardJump(bool useJne) {
352352 assembler->je (assembler::JumpDestination::fromStart (rewrite->getSlotSize ()));
353353 }
354354 } else {
355+ // TODO use ForwardJump here rather than emulating it
355356 if (useJne) {
356- assembler->jne (assembler::JumpDestination::fromStart (( 1 << 31 ) - 2 ));
357+ assembler->jne (assembler::JumpDestination::fromStart (std::numeric_limits< int >:: max ( ) - 1 ));
357358 } else {
358- assembler->je (assembler::JumpDestination::fromStart (( 1 << 31 ) - 2 ));
359+ assembler->je (assembler::JumpDestination::fromStart (std::numeric_limits< int >:: max ( ) - 1 ));
359360 }
360-
361+
361362 if (should_use_second_guard_destination) {
362363 assert (marked_inside_ic);
363364 }
@@ -1787,7 +1788,7 @@ TypeRecorder* Rewriter::getTypeRecorder() {
17871788 return rewrite->getTypeRecorder ();
17881789}
17891790
1790- Rewriter::Rewriter (std::unique_ptr<ICSlotRewrite> rewrite, int num_args, const LiveOutSet& live_outs)
1791+ Rewriter::Rewriter (std::unique_ptr<ICSlotRewrite> rewrite, int num_args, LiveOutSet live_outs)
17911792 : rewrite(std::move(rewrite)),
17921793 assembler (this ->rewrite->getAssembler ()),
17931794 picked_slot(NULL ),
@@ -2134,7 +2135,8 @@ PatchpointInitializationInfo initializePatchpoint3(void* slowpath_func, uint8_t*
21342135 assem.fillWithNops ();
21352136 assert (!assem.hasFailed ());
21362137
2137- return PatchpointInitializationInfo (patchpoint_start, slowpath_start, slowpath_rtn_addr, continue_addr, 0 );
2138+ return PatchpointInitializationInfo (patchpoint_start, slowpath_start, slowpath_rtn_addr, continue_addr,
2139+ LiveOutSet ());
21382140}
21392141
21402142void * Rewriter::RegionAllocator::alloc (size_t bytes) {
@@ -2149,19 +2151,19 @@ void* Rewriter::RegionAllocator::alloc(size_t bytes) {
21492151 return rtn;
21502152}
21512153
2152- llvm::SmallVector<std::pair<RewriterVar*, llvm::SmallVector<Location, 4 > >, 8 > VarLocations::_varLocationsConstruct (
2153- llvm::SmallVector<RewriterVar*, 8 > const & vars) {
2154- llvm::SmallVector<std::pair<RewriterVar*, llvm::SmallVector<Location, 4 > >, 8 > v;
2154+ llvm::SmallVector<std::pair<RewriterVar*, llvm::SmallVector<Location, 4 >>, 8 >
2155+ VarLocations::_varLocationsConstruct ( llvm::SmallVector<RewriterVar*, 8 > const & vars) {
2156+ llvm::SmallVector<std::pair<RewriterVar*, llvm::SmallVector<Location, 4 >>, 8 > v;
21552157 for (RewriterVar* var : vars) {
21562158 v.push_back (std::make_pair (var, var->locations ));
21572159 }
21582160 return v;
21592161}
2160- VarLocations::VarLocations (llvm::SmallVector<RewriterVar*, 8 > const & vars)
2161- : vars(_varLocationsConstruct(vars)) { }
2162+ VarLocations::VarLocations (llvm::SmallVector<RewriterVar*, 8 > const & vars) : vars(_varLocationsConstruct(vars)) {
2163+ }
21622164
21632165void VarLocations::arrangeAsArgs (Rewriter* rewriter) {
2164- assembler::Assembler * assembler = rewriter->assembler ;
2166+ assembler::Assembler* assembler = rewriter->assembler ;
21652167
21662168 llvm::SmallVector<Location, 8 > locs;
21672169 int argInReg[16 ];
@@ -2210,7 +2212,8 @@ void VarLocations::arrangeAsArgs(Rewriter* rewriter) {
22102212
22112213 Location curLoc = locs[i];
22122214 Location targetLoc = Location::forArg (i);
2213- if (curLoc == targetLoc) continue ;
2215+ if (curLoc == targetLoc)
2216+ continue ;
22142217 if (targetLoc.type == Location::Stack) {
22152218 if (curLoc.type == Location::Register) {
22162219 assembler->mov (curLoc.asRegister (), assembler::Indirect (assembler::RSP, targetLoc.stack_offset ));
@@ -2219,7 +2222,9 @@ void VarLocations::arrangeAsArgs(Rewriter* rewriter) {
22192222 } else {
22202223 assembler::Register r = getFreeReg ();
22212224 assert (curLoc.type == Location::Scratch);
2222- assembler->mov (assembler::Indirect (assembler::RSP, rewriter->rewrite ->getScratchRspOffset () + curLoc.scratch_offset ), r);
2225+ assembler->mov (assembler::Indirect (assembler::RSP,
2226+ rewriter->rewrite ->getScratchRspOffset () + curLoc.scratch_offset ),
2227+ r);
22232228 assembler->mov (r, assembler::Indirect (assembler::RSP, targetLoc.stack_offset ));
22242229 locs[i] = targetLoc;
22252230 }
@@ -2237,7 +2242,9 @@ void VarLocations::arrangeAsArgs(Rewriter* rewriter) {
22372242 argInReg[curLoc.asRegister ().regnum ] = -1 ;
22382243 } else {
22392244 assert (curLoc.type == Location::Scratch);
2240- assembler->mov (assembler::Indirect (assembler::RSP, rewriter->rewrite ->getScratchRspOffset () + curLoc.scratch_offset ), targetLoc.asRegister ());
2245+ assembler->mov (assembler::Indirect (assembler::RSP,
2246+ rewriter->rewrite ->getScratchRspOffset () + curLoc.scratch_offset ),
2247+ targetLoc.asRegister ());
22412248 }
22422249
22432250 locs[i] = targetLoc;
@@ -2258,5 +2265,4 @@ void VarLocations::arrangeAsArgs(Rewriter* rewriter) {
22582265 }
22592266 }
22602267}
2261-
22622268}
0 commit comments